From 8c46f119b95f0b452f1b01b10fa69c91d7344932 Mon Sep 17 00:00:00 2001 From: jbo-85 <1428333+jbo-85@users.noreply.github.com> Date: Mon, 5 Sep 2022 05:12:02 +0200 Subject: [PATCH] sfc: revert RAM changes, since RAM is always a power of two, thanks carmiker --- bsnes/sfc/coprocessor/superfx/memory.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/bsnes/sfc/coprocessor/superfx/memory.cpp b/bsnes/sfc/coprocessor/superfx/memory.cpp index 71b6f2e1..58a54df2 100644 --- a/bsnes/sfc/coprocessor/superfx/memory.cpp +++ b/bsnes/sfc/coprocessor/superfx/memory.cpp @@ -21,13 +21,12 @@ auto SuperFX::read(uint addr, uint8 data) -> uint8 { } if((addr & 0xe00000) == 0x600000) { //$60-7f:0000-ffff - addr = Bus::mirror(addr, ram.size()); while(!regs.scmr.ran) { step(6); synchronizeCPU(); if(synchronizing()) break; } - return ram.read(addr); + return ram.read(addr & ramMask); } return data; @@ -35,13 +34,12 @@ auto SuperFX::read(uint addr, uint8 data) -> uint8 { auto SuperFX::write(uint addr, uint8 data) -> void { if((addr & 0xe00000) == 0x600000) { //$60-7f:0000-ffff - addr = Bus::mirror(addr, ram.size()); while(!regs.scmr.ran) { step(6); synchronizeCPU(); if(synchronizing()) break; } - return ram.write(addr, data); + return ram.write(addr & ramMask, data); } }