punesemu / puNES

Qt-based Nintendo Entertaiment System emulator and NSF/NSF2/NSFe Music Player (Linux, FreeBSD, OpenBSD and Windows)
GNU General Public License v2.0
656 stars 42 forks source link

Mapper 17 bug with mmc4-like chr banking #379

Closed negativeExponent closed 8 months ago

negativeExponent commented 8 months ago

as stated, mmc4-like banking mode is broken mapper_017.zip see rom file SM6003 and sm6015

2nd chr bank should be from chr bank 4, instead of bank 1 aka

bank[4] = m006.chr.reg[4 | m006.chr.mmc4[1]] & 0xFC;

instead of

bank[4] = m006.chr.reg[1 | m006.chr.mmc4[1]] & 0xFC;

this breaks mmc4-type chr banking, including most of mapper 12-sub1 rom files. inital prg banking for mapper 12 is also incorrect for some types.

see: "Initial PRG register content" section https://www.nesdev.org/wiki/INES_Mapper_012

on a related note, you may be interested to add mapper 562 which is similar mapper to 0006/561

mapper562.zip (this are just some because of file size limit)

punesemu commented 8 months ago

Hi negativeExponent,

as stated, mmc4-like banking mode is broken

Fixed in my personal branch.

on a related note, you may be interested to add mapper 562 which is similar mapper to 0006/561

Thanks for the roms, I hadn't implemented it because I didn't have any.

inital prg banking for mapper 12 is also incorrect for some types.

Can you send me some roms with mapper 012? I only have two.

negativeExponent commented 8 months ago

mapper_012.zip @punesemu

punesemu commented 8 months ago

Many thx.

negativeExponent commented 8 months ago

i assume this is done., so im closing it.

punesemu commented 8 months ago

I intended to close it after implementing the 562 mapper but it's fine anyway. Thx for the support.

punesemu commented 8 months ago

With commit dc7c5a7 I can consider this issue closed.