In the Wiki page for the MMC1 it states:
1 - Bank $C000-$FFFF is fixed to the last 16KB of PRG ROM, while $8000-$BFFF is swappable via Register 3. (power-on default)
However I pulled a mmc1b2 off a zelda cart and attached it to my parralel port. When i pull A14 and low it addresses the last 16K page in rom and When I pull A14 high it addresses the first 16K page. Is the info in the wiki a typo or is there something that I'm overlooking? perhaps It suppose to say
1 - Bank $C000-$FFFF is fixed to the FIRST 16KB of PRG ROM, while $8000-$BFFF is swappable via Register 3. (power-on default)
I am working on reverse engineering this chip and want to make sure it's accurate.
Thanks Zack
MMC1 powerup question
Moderator: Moderators
Powerup states are not 100% certain, though I believe the later MMC1 revisions are a bit more consistent. In any case, writing to any address with the 'reset' bit (D7) set will reset the PRG banking layout to what you just described - $8000-$BFFF swappable via Register 3 and $C000-$FFFF fixed to the last 16KB of ROM.
Quietust, QMT Productions
P.S. If you don't get this note, let me know and I'll write you another.
P.S. If you don't get this note, let me know and I'll write you another.
I did some MMC1 tests with my stop-n-swop method and concluded that at power-up, register 0 was set to $0F and the rest had random values, and that writing $80 to any port sets bits 2 and 3 of register 0 but doesn't affect anything else.
I got some weird results with Bionic Commando and a few others, where setting register 3, bit 4 appeared to map bank 7 into $C000-$FFFF (thought it could be an error on my part). I haven't done any testing recently so I'm going by my notes here.
I got some weird results with Bionic Commando and a few others, where setting register 3, bit 4 appeared to map bank 7 into $C000-$FFFF (thought it could be an error on my part). I haven't done any testing recently so I'm going by my notes here.