From 707853d234d023bd61b974333b001498257f44c7 Mon Sep 17 00:00:00 2001 From: NewRisingSun <8vytz1+dhp372pv94ebg@sharklasers.com> Date: Wed, 27 Jul 2022 12:48:05 +0200 Subject: [PATCH] Add mapper 461 --- src/boards/addrlatch.c | 18 ++++++++++++++++++ src/ines.c | 1 + src/ines.h | 1 + 3 files changed, 20 insertions(+) diff --git a/src/boards/addrlatch.c b/src/boards/addrlatch.c index a221fb1..dd67b51 100644 --- a/src/boards/addrlatch.c +++ b/src/boards/addrlatch.c @@ -776,6 +776,24 @@ void Mapper459_Init(CartInfo *info) { Latch_Init(info, M459Sync, NULL, 0x0000, 0x8000, 0xFFFF, 1); } +/*------------------ Map 461 ---------------------------*/ +static void M461Sync(void) { + int p =latche <<1 | latche >>5 &1; + int c =latche >>8; + if (latche &0x10) { + setprg16(0x8000, p); + setprg16(0xC000, p); + } else { + setprg32(0x8000, p >>1); + } + setchr8(c); + setmirror(latche &0x80? MI_H: MI_V); +} + +void Mapper461_Init(CartInfo *info) { + Latch_Init(info, M461Sync, NULL, 0x0000, 0x8000, 0xFFFF, 1); +} + /*------------------ Map 464 ---------------------------*/ static void M464Sync(void) { int p =latche >>7; diff --git a/src/ines.c b/src/ines.c index 891182a..c0100cd 100644 --- a/src/ines.c +++ b/src/ines.c @@ -821,6 +821,7 @@ INES_BOARD_BEGIN() INES_BOARD( "DS-9-27", 452, Mapper452_Init ) INES_BOARD( "K6C3001A", 456, Mapper456_Init ) INES_BOARD( "8-in-1", 459, Mapper459_Init ) + INES_BOARD( "0324", 461, Mapper461_Init ) INES_BOARD( "YH810X1", 463, Mapper463_Init ) INES_BOARD( "NTDEC 9012", 464, Mapper464_Init ) INES_BOARD( "ET-120", 465, Mapper465_Init ) diff --git a/src/ines.h b/src/ines.h index 6e50bee..61a77be 100644 --- a/src/ines.h +++ b/src/ines.h @@ -329,6 +329,7 @@ void Mapper444_Init(CartInfo *); void Mapper452_Init(CartInfo *); void Mapper456_Init(CartInfo *); void Mapper459_Init(CartInfo *); +void Mapper461_Init(CartInfo *); void Mapper463_Init(CartInfo *); void Mapper464_Init(CartInfo *); void Mapper465_Init(CartInfo *);