As you all probably have figured I'm writing an NES emulator (as a personal learning project). I haven't gotten very far and I've already run into a possible hitch.
You should know I'm using nestest.nes as my test ROM. My emulator currently loads the PRG-ROM data into address $8000 (and again into $C000 for ROMs with one bank of PRG-ROM, if I'm wrong on that please let me know) and I set the program counter to begin executing at $8000 (also unsure on that point). I disassembled nestest, using NES DeCompose and another NES disassembler, to see if I was interpreting instructions correctly. Both disassemblers came back with different results.
The first three bytes of nestest are 4C F5 C5 which I would interpert as JMP #C5F5. NES decompose has these on .db line while the other disassembler has JMP #C5F5 preceeded by a bunch of other stuff. Which one is right and how would I tell? Am I right by setting to execute at $8000? Are there other instructions that need to be executed (BIOS) before running ROM data? I hope all that made sense because I've never done any programming this low-level (which is why I'm doing this). Thanks for any kind of help you can provide
No00b Questions
Moderator: Moderators