diff --git a/src/boards/datalatch.c b/src/boards/datalatch.c index c221310..d40c65d 100644 --- a/src/boards/datalatch.c +++ b/src/boards/datalatch.c @@ -490,6 +490,26 @@ void Mapper241_Init(CartInfo *info) { Latch_Init(info, M241Sync, 0, 0x8000, 0xFFFF, 1, 0); } +/*------------------ Map 538 ---------------------------*/ +/* NES 2.0 Mapper 538 denotes the 60-1064-16L PCB, used for a + * bootleg cartridge conversion named Super Soccer Champion + * of the Konami FDS game Exciting Soccer. + */ +static uint8 M538Banks[16] = { 0, 1, 2, 1, 3, 1, 4, 1, 5, 5, 1, 1, 6, 6, 7, 7 }; +static void M538Sync(void) { + setprg8(0x6000, (latche >> 1) | 8); + setprg8(0x8000, M538Banks[latche & 15]); + setprg8(0xA000, 14); + setprg8(0xC000, 7); + setprg8(0xE000, 15); + setchr8(0); + setmirror(1); +} + +void Mapper538_Init(CartInfo *info) { + Latch_Init(info, M538Sync, 0, 0xC000, 0xCFFF, 1, 0); +} + /* ------------------ A65AS --------------------------- */ /* actually, there is two cart in one... First have extra mirroring diff --git a/src/ines.c b/src/ines.c index ecfc06e..a016e75 100644 --- a/src/ines.c +++ b/src/ines.c @@ -662,6 +662,7 @@ static BMAPPINGLocal bmap[] = { {(uint8_t*)"Bit Corp 4-in-1", 357, Mapper357_Init }, {(uint8_t*)"MMC3 PIRATE SFC-12", 372, Mapper372_Init }, + {(uint8_t*)"60-1064-16L (FDS)", 538, Mapper538_Init }, {(uint8_t*)"LittleCom 160-in-1", 541, Mapper541_Init }, /* UNIF to NES 2.0 BOARDS */ diff --git a/src/ines.h b/src/ines.h index b7e5edd..6a2763b 100644 --- a/src/ines.h +++ b/src/ines.h @@ -245,6 +245,7 @@ void J2282_Init(CartInfo *); void Mapper357_Init(CartInfo *); void Mapper372_Init(CartInfo *); +void Mapper538_Init(CartInfo *); void Mapper541_Init(CartInfo *); #endif