This is a side project that came out of my attempt to make a Game Boy emulator. I was trying to make a table of opcodes for the Game Boy CPU (similar to the one on pastraiser), but doing it by hand was quite tedious. So this project dynamically creates a similar table!
r- 8-bit register (e.g. A)rr- 16-bit register pair (e.g. HL)d8- 8-bit immediate data valued16- 16-bit immediate data valuea8- 8-bit immediate value specifying an address in the range 0xFF00 - 0xFFFFa16- 16-bit immediate address values8- 8-bit signed immediate data value
Note: Some conditional jump instructions take a different number of cycles depending on whether or not the specified condition is true (e.g., JP NZ, a16).
- Gist: Game Boy carry and half-carry flags
- Twitter thread of resources for building a Game Boy emulator
- Gameboy Development Manual v1.1 - I used this to create the generator functions for the different permutations of each mnemonic.
- Gameboy CPU (LR35902) instruction set - This is the original site that inspired this project.