Greetings.
I am trying to learn how the 6502 CPU operates, and playing with NES code is a fun way to do it. I have NESICIDE setup to let me write C-code and use the built in debugging emulator. That is working fine with the "hello world" example program.
If I understood correctly, the 6502 CPU gets its program counter initialization value from a reset vector, hard coded at addresses $fffc and $fffd. However, the *.nes file that I have built only has $A00F bytes.
I'm assuming the *.nes file is not a raw hex file. Maybe either compressed or only containing the allocated sections? What seems even stranger is that the final hundred bytes or so are all constant $ff's.
Where is the reset vector defined?
I am trying to learn how the 6502 CPU operates, and playing with NES code is a fun way to do it. I have NESICIDE setup to let me write C-code and use the built in debugging emulator. That is working fine with the "hello world" example program.
If I understood correctly, the 6502 CPU gets its program counter initialization value from a reset vector, hard coded at addresses $fffc and $fffd. However, the *.nes file that I have built only has $A00F bytes.
I'm assuming the *.nes file is not a raw hex file. Maybe either compressed or only containing the allocated sections? What seems even stranger is that the final hundred bytes or so are all constant $ff's.
Where is the reset vector defined?