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
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