From 5c4a659b4953776f7732c6b8b241a58bf7bc9e7f Mon Sep 17 00:00:00 2001 From: retro-wertz Date: Fri, 31 May 2019 19:45:45 +0800 Subject: [PATCH] mapper63: try fixing openbus reads again --- src/boards/addrlatch.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/boards/addrlatch.c b/src/boards/addrlatch.c index 86a2e72..7bda0c1 100644 --- a/src/boards/addrlatch.c +++ b/src/boards/addrlatch.c @@ -202,9 +202,12 @@ void Mapper61_Init(CartInfo *info) { * - Powerful 250-in-1 * - Hello Kitty 255-in-1 */ +static uint16 openBus; + static DECLFR(M63Read) { - if (latche & 0x0300) - return X.DB; + if (A < 0xC000) + if (openBus) + return X.DB; return CartBR(A); } @@ -213,6 +216,7 @@ static void M63Sync(void) { uint16 prg_bank = (latche & 0x3F8) >> 1; uint16 prg16 = (latche & 4) >> 1; + openBus = ((latche & 0x300) == 0x300); setprg8(0x8000, (prg_bank | (mode ? 0 : prg16 | 0))); setprg8(0xA000, (prg_bank | (mode ? 1 : prg16 | 1))); setprg8(0xC000, (prg_bank | (mode ? 2 : prg16 | 0)));