diff --git a/src/boards/592.c b/src/boards/592.c index 3c91f35..3185658 100644 --- a/src/boards/592.c +++ b/src/boards/592.c @@ -21,14 +21,21 @@ #include "mapinc.h" #include "asic_latch.h" +static uint8 submapper; + static void sync () { - setprg16(0x8000, Latch_data); - setprg16(0xC000, Latch_data); + if (submapper == 1) + setprg32(0x8000, Latch_data); + else { + setprg16(0x8000, Latch_data); + setprg16(0xC000, Latch_data); + } setchr8(Latch_data); setmirror(Latch_data &0x08? MI_H: MI_V); } void Mapper592_Init (CartInfo *info) { + submapper = info->submapper; Latch_init(info, sync, 0x8000, 0xFFFF, NULL); info->Reset = Latch_clear; } diff --git a/src/boards/8in1.c b/src/boards/8in1.c index 68b8af1..6498caf 100644 --- a/src/boards/8in1.c +++ b/src/boards/8in1.c @@ -27,7 +27,7 @@ #include "mapinc.h" #include "mmc3.h" -uint8 submapper; +static uint8 submapper; static void BMC8IN1CW(uint32 A, uint8 V) { setchr1(A, ((EXPREGS[0] & 0xC) << 5) | (V & 0x7F));