From c4fca66b8f11ccc314915d283561f0c6e6ac30f6 Mon Sep 17 00:00:00 2001 From: NewRisingSun <8vytz1+dhp372pv94ebg@sharklasers.com> Date: Thu, 29 Dec 2022 21:37:43 +0100 Subject: [PATCH] Mapper 268: Correct submappers 2/3, add submappers 8/9 --- src/boards/268.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/boards/268.c b/src/boards/268.c index 9f2a966..328fd90 100644 --- a/src/boards/268.c +++ b/src/boards/268.c @@ -46,7 +46,8 @@ static void Mapper268_PRGWrap(uint32 A, uint8 V) { prgOffset =EXPREGS[3] &0x00E |EXPREGS[0] <<4 &0x070 |EXPREGS[1] <<4 &0x080 - |EXPREGS[1] <<7 &0x300 + |EXPREGS[1] <<6 &0x100 + |EXPREGS[1] <<8 &0x200 |EXPREGS[0] <<6 &0xC00; break; case 4: /* LD622D: PRG A20-21 moved to register 0 */ @@ -67,7 +68,10 @@ static void Mapper268_PRGWrap(uint32 A, uint8 V) { break; } prgOffset &=~(prgMaskMMC3 | prgMaskGNROM); - setprg8(A, V &prgMaskMMC3 | prgOffset | A >>13 &prgMaskGNROM); + setprg8(A, V &prgMaskMMC3 | prgOffset | A >>13 &prgMaskGNROM); + + /* CHR-RAM write protect on submapper 8/9) */ + SetupCartCHRMapping(0, CHRptr[0], CHRsize[0], (submapper &~1) ==8 && EXPREGS[0] &0x10? 0: 1); } static void Mapper268_CHRWrap(uint32 A, uint8 V) {