Exponential notation of NES 2.0 ROM sizes; mappers (#480)

* 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>
This commit is contained in:
NRS-NewRisingSun
2022-01-06 08:22:18 +01:00
committed by GitHub
parent c291ceeb13
commit d72c64e5d9
24 changed files with 767 additions and 457 deletions

View File

@@ -33,9 +33,9 @@ static SFORMAT StateRegs[] =
static void Sync(void) {
if (regs[0] & 0x80) { /* NROM mode */
if (regs[1] & 0x80)
setprg32(0x8000, regs[1] & 0x1F);
setprg32(0x8000, regs[1] & 0x3F);
else {
int bank = ((regs[1] & 0x1f) << 1) | ((regs[1] >> 6) & 1);
int bank = ((regs[1] & 0x3F) << 1) | ((regs[1] >> 6) & 1);
setprg16(0x8000, bank);
setprg16(0xC000, bank);
}