diff --git a/src/boards/datalatch.c b/src/boards/datalatch.c index d5fa8f5..7b1007c 100644 --- a/src/boards/datalatch.c +++ b/src/boards/datalatch.c @@ -460,6 +460,18 @@ void Mapper241_Init(CartInfo *info) { Latch_Init(info, M241Sync, 0, 0x8000, 0xFFFF, 1, 0); } +/*------------------ Map 271 ---------------------------*/ + +static void M271Sync(void) { + setchr8(latche & 0x0F); + setprg32(0x8000, latche >> 4); + setmirror((latche >> 5) & 1); +} + +void Mapper271_Init(CartInfo *info) { + Latch_Init(info, M271Sync, 0, 0x8000, 0xFFFF, 0, 0); +} + /*------------------ Map 381 ---------------------------*/ /* 2-in-1 High Standard Game (BC-019), reset-based */ static uint8 reset = 0; diff --git a/src/ines.c b/src/ines.c index a29539e..524475e 100644 --- a/src/ines.c +++ b/src/ines.c @@ -691,6 +691,7 @@ INES_BOARD_BEGIN() INES_BOARD( "8-in-1 JY-119", 267, Mapper267_Init ) INES_BOARD( "COOLBOY/MINDKIDS", 268, Mapper268_Init ) /* Submapper distinguishes between COOLBOY and MINDKIDS */ INES_BOARD( "Games Xplosion 121-in-1", 269, Mapper269_Init ) + INES_BOARD( "MGC-026", 271, Mapper271_Init ) INES_BOARD( "Akumajō Special: Boku Dracula-kun", 272, Mapper272_Init ) INES_BOARD( "80013-B", 274, BMC80013B_Init ) INES_BOARD( "YY860417C", 281, Mapper281_Init ) diff --git a/src/ines.h b/src/ines.h index 2b70cb9..bfcf03c 100644 --- a/src/ines.h +++ b/src/ines.h @@ -260,6 +260,7 @@ void J2282_Init(CartInfo *); void Mapper267_Init(CartInfo *); void Mapper268_Init(CartInfo *); void Mapper269_Init(CartInfo *); +void Mapper271_Init(CartInfo *); void Mapper288_Init(CartInfo *); void Mapper293_Init(CartInfo *); void Mapper297_Init(CartInfo *); diff --git a/src/unif.c b/src/unif.c index 502351c..827c82b 100644 --- a/src/unif.c +++ b/src/unif.c @@ -620,6 +620,7 @@ static BMAPPING bmap[] = { { "BS-400R", 422, Mapper422_Init, 0 }, { "BS-4040R", 422, Mapper422_Init, 0 }, + { "22026", 271, Mapper271_Init, 0 }, #ifdef COPYFAMI { "COPYFAMI_MMC3", NO_INES, MapperCopyFamiMMC3_Init, 0 },