#!/usr/bin/env python3 """ Basically, iterate all 16-bit numbers, or rather, 15-bit, to have valid nandgame instructions, skip reserved bits. """ #ENDIANNESS = 'big' ENDIANNESS = 'little' with open("allins.bin", "wb") as f: ins=0x0000 # ldi A, 0 f.write(ins.to_bytes(2, byteorder = ENDIANNESS)) ins=0x00ff # ldi A, 255 f.write(ins.to_bytes(2, byteorder = ENDIANNESS)) for ins in range(0x8000, 0xffff + 1): # unused bytes, force 1 if (ins & 0x6800) != 0x6800: continue f.write(ins.to_bytes(2, byteorder = ENDIANNESS))