- https://gbdev.io/pandocs/Specifications.html
- https://gbdev.io/pandocs/Graphics.html
- https://gbdev.io/rgbds-live/
- https://bgb.bircd.org/pandocs.html
- http://marc.rawer.de/Gameboy/Docs/GBCPUman.pdf
- http://www.pastraiser.com/cpu/gameboy/gameboy_opcodes.html
- http://imrannazar.com/GameBoy-Emulation-in-JavaScript:-The-CPU
- https://realboyemulator.wordpress.com/2013/01/03/a-look-at-the-game-boy-bootstrap-let-the-fun-begin/
- https://realboyemulator.wordpress.com/2013/01/01/the-nintendo-game-boy-1/
- http://gameboy.mongenel.com/dmg/asmmemmap.html
- http://www.devrs.com/gb/
- http://www.devrs.com/gb/files/opcodes.html
- http://www.devrs.com/gb/files/gbspec.txt
- http://verhoeven272.nl/cgi-bin/FS?fruttenboel%2FGameboy&Gameboy+section&GBtop&GBsummary&GBcontent
- http://meatfighter.com/gameboy/GBCribSheet000129.pdf
- http://meatfighter.com/gameboy/TheNintendoGameboy.pdf
- http://gbdev.gg8.se/wiki/articles/Main_Page
- http://gbdev.gg8.se/wiki/articles/Pan_Docs
- http://gbdev.gg8.se/wiki/articles/The_Cartridge_Header
TODO:
- Testing:
- [ ] run one of the instruction testing roms against my decoder
- Decoding:
- [ ] add tests for jumps, i think I might have a bug here
- [ ] stack manipulation instructions
- e8 instructions (double check this)
- [ ] halt instruction
- [ ] DAA
- Timing:
- I think what i have is mostly working, hard to tell without a full test
Some context:
- each scanline runs for 70224 dots
- 59.7 frames per second
- 59.7 * 70224 = 4192372 (which is the clock speed of the console)
- Interrupts:
- [ ]
- Rendering:
- [ ]
- Memory Mapping
- [ ]