Excerpt from nesdev:
NESten's Mapper DLL v1.0 contained an incorrect implementation of T3H53 as iNES mapper 059 and UNIF mapper BMC-T3H53. The UNIF implementation was improved in NESten's Mapper DLL v1.2 while the iNES implementation was not, causing confusion about what kind of cartridge the unimproved mapper 59 was supposed to be. As Nintendulator's mapper DLL is based on NESten's mapper DLL, this was carried over to Nintendulator. Presumably as a result of this confusion, FCEUX and others put the correct implementation of T3H53 at INES Mapper 060, displacing the "Reset-based NROM-128 4-in-1" in the process.
With that said above, im following nesdev's notes and change the
following:
- Reassign Mapper 60 as Mapper 59.
- Add BMC-T3H53, a UNIF cart using the same UNIF-board D1038 which is
assigned as iNES Mapper 59
- Add the Reset-Based NRON-128 mapper, Mapper 60
- Fix incorrect chr-bank mask (let's see which games complain again)
- Enables the 7-stage dipswitch support through reset switch.
E.g switches multicart type on supported carts. like 10-in-1 to
20-in-1 etc.
- Partially reverts changes in 0b362afcc0
- Checks the codestring if its a valid game genie code before attempting
to decode it. If code fails, then assume it to be a pro action replay
cheat.
Issue: Cheats where failing because a value of 0 in the decoder does not
mean an error.
Fix https://github.com/libretro/libretro-fceumm/issues/384
Two issues are causiong PAR cheats to not work.
1. GG decoder should only accept specific characters. When it fails,
assume PAR code.
2. The corrent code that makes PAR decoding work was not set.
Both fixed on this PR with some added notes.
MMC1 overrides are treated as ines 2.0, so its needs at least default values for prgRam and chrRam columns.
Fixes FF1 pink screen due to unmapped chrram.
- Width changes previously was not respected when using ntsc filter. With full use of overscan, nes width
is 602 px when ntsc filter is used and 256 px on normal
- Happens when starting with PAL/Dendy region and changing to NTSC can cause frame to get stuck in 50 Hz
- using RETRO_ENVIRONMENT_SET_SYSTEM_AV_INFO should remedy this.
- We just use shaders for scanline if needed. ntsc + height doubling causes performance hit
for some slow devices. Any decent platform should be able to handle scanline effect shaders at least.
Move mapper-based overrides out and use ines-correct.h if possible. Affects the following mappers below:
- Move Cnrom database to ines-correct.h
- Mapper 201 update
- Mapper 91: Add Street Fighter III (Submapper 1) to ines-correct.h
- Add dipswitch notes to m237
- Update mapper9 (PC10 version of Mike Tyson's Punch-out)