* Support 2 MIB mapper 314 (Y2K 76-in-1)
* Mapper 57: Forgot one Sync() statement
* Mapper 83: Correction for 256 KiB PRG+512 KiB CHR games
* Mapper 114: Use NES 2.0 submapper field if available to differentiate between scrambling patterns
* NES 2.0: Support exponential notation of PRG/CHR sizes, thus adding support for 4 KiB and 8 KiB ROM files.
* Add mapper 553.
* Correct the database regarding the Nanjing game Pegasus Senya
* Add submapper 5 (HST-162) to mapper 176
* Add mapper 436
* Mapper 176.5 has a CNROM latch as well, though it works a bit differently than submapper 1's
* Added mapper 429
* Added mapper 380 submapper 1
* Added mapper 437
* Added mapper 456
* Forgot to include math.h for pow
* Added mapper 434
* Added mapper 452
* Added mapper 438
* Added mappers 391 and 444, corrected the mixup with BS-110 and NC7000M
* Added mapper 443. Added menu-switching funcionality to mapper 444
Co-authored-by: NewRisingSun <8vytz1+dhp372pv94ebg@sharklasers.com>
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
- Unif shows ROM_size and VROM_size in bytes, while codebase expects these to be
in chunks of 16K for prg and 8K for chr. Update Unif to represent size as its
expected to be.
- Change PRGRomSize and CHRRomSize to represent sizes in bytes to make it consistent
with the rest of the size-related variables in struct CartInfo.
Currently reads and sets the following:
- mapper number up to 4095, prg rom size, chr rom size
- chr ram (volatile + non-volatile), region (ntsc, pal, dendy or multi-region)
todo: submapper handling, w-ram and prg nvram at least...
- Support for Boogerman (SuperGame) Mapper 114, submapper 1
- Update Mapper 205 based on nesdev, move previous mapper 205 to separate GN-45 mapper with retained support to emulate OK-411
- Use nes-to-unif wrapper for some games which does not have nes 2.0 header.
- add unif board BMC-80013-B
- add mapper 281 (JY-052)
- disable KT-008 hack on mmc3. KT-008 boards should be assigned as Mapper 224. Fixes Final Fantasy X1/X2
- force-assign a few roms using ines-correct.h
- Added a few mappers to the list. Tested with roms from goodnes set and some demos
- Fix IRQ for Kaiser7032/202 - Issue noticeable with SMB2/3's status status bar