From ae870894cfd31fd3b3e071782bd30231ec373509 Mon Sep 17 00:00:00 2001 From: NewRisingSun <8vytz1+dhp372pv94ebg@sharklasers.com> Date: Mon, 2 Feb 2026 14:32:04 +0100 Subject: [PATCH] Added mapper 432 submapper 4. --- src/boards/432.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/boards/432.c b/src/boards/432.c index b93fe3c..9cb9681 100644 --- a/src/boards/432.c +++ b/src/boards/432.c @@ -31,6 +31,10 @@ static DECLFR (readPad) { return pad; } +static DECLFR (readOB) { + return X.DB; +} + static void sync () { int prgAND = reg[1] &0x02? 0x0F: 0x1F; int chrAND = reg[1] &0x20 && submapper == 3? 0x1FF: reg[1] &0x04? 0x7F: 0xFF; @@ -39,7 +43,10 @@ static void sync () { MMC3_syncPRG(prgAND, prgOR &~prgAND); MMC3_syncCHR(chrAND, chrOR &~chrAND); MMC3_syncMirror(); - SetReadHandler(0x8000, 0xFFFF, submapper == 1 && reg[1] &0x20 || submapper != 1 && reg[0] &0x01? readPad: CartBR); + if (submapper == 4) { + SetReadHandler(0x8000, 0xFFFF, reg[0] &0x01 && pad &1? readOB: CartBR); + } else + SetReadHandler(0x8000, 0xFFFF, submapper == 1 && reg[1] &0x20 || submapper != 1 && reg[0] &0x01? readPad: CartBR); } static int getPRGBank (uint8 bank) {