Some notes regarding mapper 52 old info. It was kinda wrong...
old info said
Code: Select all
Bank Select Register:
7 bit 0
---------
xABC DEFG
x- not used
A- CHR ROM bank size. 1=128K, 0=256K
D- PRG ROM bank size. 1=128K, 0=256K
G- PRG ROM bank "part" (for 128K banks)
Cbank = (B*4 + E*2) OR (A and C) OR (!A and MMC3C)
actually this should be
Code: Select all
Cbank = (E*4 + B*2) OR (A and C) OR (!A and MMC3C)
as for 8M+8M carts, this doesn't matter, if you dump it with something like CopyNES, if your read algo is the same as your emulation algo, then dump will work exactly the same as on real hardware...
but when you managed to dump roms in physical way, ie with willep programmer, then you will have exactly the same banks order as on real ROMs... so your logic on emu will fail... atually, I've found this thing when tried to dump the same 52 board carts but 4M+4M in size... in this case logical way isn't working.
so far, there is only one rom (as I see) dumped and assigned to apper 52 before this time by mad dumper. the rest or roms dumped recently already fine (mine too). So i've decided to fix mapper 52 code in fceumm to right behavior, and can fix mario7in1 rom to work properly too...
BTW, bit7 of the extra banking register is used for locking further bankswitching, games doing this when using SRAM area in case tot interfere with the running program...
the same way, bit7 of A001 register of MMC3 used to enable banking at the cartridge start...
anyway, there isn't much useful for emulation, since actually can beignored