Does anyone have a reference or source about how GameBoy Color roms are laid out - where the data and code, what machine code instructions are used, how the clock works etc? I'm interested in perhaps building an emulator myself but I can't find any information about the roms' setup other than looking at them in a hex editor. I'm interested in roms in the .gbc
file format.
I can of course look at the source of a working emulator, but I'm interested in something a bit more high level than that while I'm starting off.
Edit: Here are a load of really good resources I found:
- A Emulator being built in javascript with more up to date source.
- "The PAN documents" a detailed spec of the gameboy
- A more up to date and better version of the previous item, with loads of stuff. Best resource.
- Standard Z80 opcodes
- All the opcodes in the Gameboy Z80
- A list of opcodes changed/removed in the Gameboy
- Z80 user manual (useful for flags)
- Discussion of differences between Gameboy Color Z80 and 8080/Z80
- Massive site dedicated to gameboy architecture (+GBA)
- Another document on GBSpec, with timings
Also, see the source for my currently developing project and this finished one in C# for the Gameboy Classic (more docs)