From 689cb2aae98fa5ae7e31cc9b98c07b6c25f89061 Mon Sep 17 00:00:00 2001 From: HeeminTV Date: Sat, 20 Jun 2026 00:52:50 +0900 Subject: [PATCH] NES: Fix mapper 121, 187's CHR A18 behavior --- Core/NES/Mappers/Mmc3Variants/MMC3_121.h | 2 +- Core/NES/Mappers/Mmc3Variants/MMC3_187.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Core/NES/Mappers/Mmc3Variants/MMC3_121.h b/Core/NES/Mappers/Mmc3Variants/MMC3_121.h index 420d6a268..df8ec7bee 100644 --- a/Core/NES/Mappers/Mmc3Variants/MMC3_121.h +++ b/Core/NES/Mappers/Mmc3Variants/MMC3_121.h @@ -49,7 +49,7 @@ class MMC3_121 : public MMC3 //Hack for Super 3-in-1 BaseMapper::SelectChrPage(slot, page | ((_exRegs[3] & 0x80) << 1), memoryType); } else { - if((slot < 4 && _chrMode == 0) || (slot >= 4 && _chrMode == 1)) { + if(slot >= 4) { page |= 0x100; } BaseMapper::SelectChrPage(slot, page, memoryType); diff --git a/Core/NES/Mappers/Mmc3Variants/MMC3_187.h b/Core/NES/Mappers/Mmc3Variants/MMC3_187.h index cdb8918dc..7ed2fedff 100644 --- a/Core/NES/Mappers/Mmc3Variants/MMC3_187.h +++ b/Core/NES/Mappers/Mmc3Variants/MMC3_187.h @@ -23,7 +23,7 @@ class MMC3_187 : public MMC3 void SelectChrPage(uint16_t slot, uint16_t page, ChrMemoryType memoryType = ChrMemoryType::Default) override { - if((_chrMode && slot >= 4) || (!_chrMode && slot < 4)) { + if(slot >= 4) { page |= 0x100; } BaseMapper::SelectChrPage(slot, page);