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:
@@ -25,6 +25,7 @@
|
||||
|
||||
static uint16 latche;
|
||||
static uint8 dipswitch;
|
||||
static uint8 isKN35A;
|
||||
|
||||
static SFORMAT StateRegs[] = {
|
||||
{ &latche, 2 | FCEUSTATE_RLSB, "LATC" },
|
||||
@@ -47,14 +48,14 @@ static void Sync(void)
|
||||
else /* UxROM */
|
||||
{
|
||||
setprg16(0x8000, latche >> 2);
|
||||
setprg16(0xC000, (latche >> 2) | 7);
|
||||
setprg16(0xC000, (latche >> 2) | 7 | (isKN35A && latche &0x100? 8: 0));
|
||||
}
|
||||
setmirror(((latche >> 1) & 1) ^ 1);
|
||||
}
|
||||
|
||||
static DECLFR(M380Read)
|
||||
{
|
||||
if (latche & 0x100)
|
||||
if (latche & 0x100 && !isKN35A)
|
||||
return dipswitch;
|
||||
return CartBR(A);
|
||||
}
|
||||
@@ -89,6 +90,7 @@ static void StateRestore(int version)
|
||||
|
||||
void Mapper380_Init(CartInfo *info)
|
||||
{
|
||||
isKN35A = info->iNES2 && info->submapper == 1;
|
||||
info->Power = M380Power;
|
||||
info->Reset = M380Reset;
|
||||
GameStateRestore = StateRestore;
|
||||
|
||||
Reference in New Issue
Block a user