From 6657dc502ffa4810da7827f178321a6be5d4e032 Mon Sep 17 00:00:00 2001 From: NewRisingSun <8vytz1+dhp372pv94ebg@sharklasers.com> Date: Sun, 5 Apr 2026 02:30:30 +0200 Subject: [PATCH] Mappers 344: Add solder pad --- src/boards/gn26.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/boards/gn26.c b/src/boards/gn26.c index ecaf5f9..f5c0ad9 100644 --- a/src/boards/gn26.c +++ b/src/boards/gn26.c @@ -40,21 +40,28 @@ static void BMCGN26PW(uint32 A, uint8 V) { setprg8(A, (EXPREGS[0] << 4) | (V & 0x0F)); } +static DECLFR(readPad) { + return EXPREGS[1] &0x01? X.DB: CartBR(A); +} + static DECLFW(BMCGN26Write) { if (A001B &0x80 && ~A001B &0x40) { EXPREGS[0] = A; FixMMC3PRG(MMC3_cmd); FixMMC3CHR(MMC3_cmd); + SetReadHandler(0x8000, 0xFFFF, EXPREGS[0] &0x08? readPad: CartBR); } } static void BMCGN26Reset(void) { EXPREGS[0] = 0; + EXPREGS[1]++; MMC3RegReset(); } static void BMCGN26Power(void) { GenMMC3Power(); + EXPREGS[1] = 0; SetWriteHandler(0x6000, 0x7FFF, BMCGN26Write); } @@ -64,5 +71,5 @@ void BMCGN26_Init(CartInfo *info) { cwrap = BMCGN26CW; info->Power = BMCGN26Power; info->Reset = BMCGN26Reset; - AddExState(EXPREGS, 1, 0, "EXPR"); + AddExState(EXPREGS, 2, 0, "EXPR"); }