Hi guys,
I'm trying to implement MMC3 right now. And I really want to get this multi-game cartridge to run, that I had myself when I got my NES back then (SMB - Tetris - World Cup, that was packaged with the NES)
So, I think I kinda grasped the concept of MMC3, but I'm actually stuck when initializing it. So, the area 0xe000-0xffff is supposed to be statically mapped to the last PRG bank. Now, when evaluating the iNES header, I get a 16 / 0x10. And as these banks are only 8k, not 16k, I double the value. So, I have 32 * 8k banks to my avail. (Additionally 256k CHR ROM, but that shouldn't be important right now).
Now, when I actually implement it this way I start with the PC 0xff82, which should be wrong. When I compare to Mesen, it starts with PC 0xff00. So I check the memory in Mesen, and search for the bytes of the reset vector (plus a few around them) in the ROM, and there is only a single occurence - at 0xfffc / 0xfffd. And that is, for my understanding, wrong?! For all that I know, the last bank should be bank 31 (* 0x2000), so the reset vector should be around 0x3fffc / 0x3fffd...?
Am I missing something? Has someone had the same problem? Maybe I'm just blind, or not seeing the obvious here.
Any help would be greatly appreciated.
3-game cartridge and MMC3 / reset vector issue
Moderator: Moderators
Re: 3-game cartridge and MMC3 / reset vector issue
That specific multicart isn't plain MMC3 (mapper 4)! It's mapper 37.
I'd recommend starting with something that's not a multicart.
I'd recommend starting with something that's not a multicart.
Re: 3-game cartridge and MMC3 / reset vector issue
Thank you so much!