diff --git a/src/boards/206.c b/src/boards/206_486.c similarity index 82% rename from src/boards/206.c rename to src/boards/206_486.c index bd88f88..8342d90 100644 --- a/src/boards/206.c +++ b/src/boards/206_486.c @@ -76,3 +76,23 @@ void Mapper206_Init(CartInfo *info) { GameStateRestore = StateRestore; AddExState(&StateRegs, ~0, 0, 0); } + +static DECLFW(M486Write) { + DRegs[A &7] =(A &7) <2? (V >>1): V; + Sync(); +} + +static void M486Power(void) { + cmd = 0; + DRegs[6] = 0; + DRegs[7] = 1; + Sync(); + SetReadHandler(0x8000, 0xFFFF, CartBR); + SetWriteHandler(0x8000, 0x9FFF, M486Write); +} + +void Mapper486_Init(CartInfo *info) { + info->Power = M486Power; + GameStateRestore = StateRestore; + AddExState(&StateRegs, ~0, 0, 0); +} diff --git a/src/ines.c b/src/ines.c index d5894b0..8504a00 100644 --- a/src/ines.c +++ b/src/ines.c @@ -905,6 +905,7 @@ INES_BOARD_BEGIN() INES_BOARD( "K-1079", 482, Mapper482_Init ) INES_BOARD( "ESTIQUE", 484, Mapper484_Init ) INES_BOARD( "0359", 485, Mapper485_Init ) + INES_BOARD( "KS7009", 486, Mapper486_Init ) INES_BOARD( "AVE NINA-08", 487, Mapper487_Init ) INES_BOARD( "Yhc-000", 500, Mapper500_Init ) INES_BOARD( "Yhc-001", 501, Mapper501_Init ) diff --git a/src/ines.h b/src/ines.h index 81af0c5..9ed5560 100644 --- a/src/ines.h +++ b/src/ines.h @@ -384,6 +384,7 @@ void Mapper481_Init(CartInfo *); void Mapper482_Init(CartInfo *); void Mapper484_Init(CartInfo *); void Mapper485_Init(CartInfo *); +void Mapper486_Init(CartInfo *); void Mapper487_Init(CartInfo *); void Mapper500_Init(CartInfo *); void Mapper501_Init(CartInfo *);