sfc: Fix regression with several SuperFX games like Doom

This commit is contained in:
jbo-85 2022-05-31 02:00:16 +02:00
parent d54860ae38
commit 1cfd9c6a5d
1 changed files with 3 additions and 2 deletions

View File

@ -1,12 +1,13 @@
auto SuperFX::read(uint addr, uint8 data) -> uint8 {
if((addr & 0xc00000) == 0x000000) { //$00-3f:0000-7fff,:8000-ffff
addr = Bus::mirror(addr, rom.size());
while(!regs.scmr.ron) {
step(6);
synchronizeCPU();
if(synchronizing()) break;
}
return rom.read((((addr & 0x3f0000) >> 1) | (addr & 0x7fff)));
addr = (((addr & 0x3f0000) >> 1) | (addr & 0x7fff));
addr = Bus::mirror(addr, rom.size());
return rom.read(addr);
}
if((addr & 0xe00000) == 0x400000) { //$40-5f:0000-ffff