From 884032d42e82b97a6bed1c84f32379a86fa8c564 Mon Sep 17 00:00:00 2001 From: CaH4e3 Date: Mon, 31 Aug 2015 19:16:58 +0000 Subject: [PATCH] fix to prev --- trunk/src/boards/eh8813a.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/trunk/src/boards/eh8813a.cpp b/trunk/src/boards/eh8813a.cpp index 4f521c4f..8e2b6bc7 100644 --- a/trunk/src/boards/eh8813a.cpp +++ b/trunk/src/boards/eh8813a.cpp @@ -31,7 +31,7 @@ static SFORMAT StateRegs[] = }; static void Sync(void) { - uint8 prg = (addrlatch & 7) | ((addrlatch & 0x40) >> 3); + uint8 prg = (addrlatch & 7); setchr8(datalatch); if(addrlatch & 0x80) { setprg16(0x8000,prg); @@ -50,10 +50,16 @@ static DECLFW(EH8813AWrite) { Sync(); } +static DECLFR(EH8813ARead) { + if (addrlatch & 0x40) + A &= 0xFFF0; + return CartBR(A); +} + static void EH8813APower(void) { addrlatch = datalatch = 0; Sync(); - SetReadHandler(0x8000, 0xFFFF, CartBR); + SetReadHandler(0x8000, 0xFFFF, EH8813ARead); SetWriteHandler(0x8000, 0xFFFF, EH8813AWrite); }