mirror of https://github.com/bsnes-emu/bsnes.git
sfc: Fix regression with several SuperFX games like Doom
This commit is contained in:
parent
d54860ae38
commit
1cfd9c6a5d
|
@ -1,12 +1,13 @@
|
||||||
auto SuperFX::read(uint addr, uint8 data) -> uint8 {
|
auto SuperFX::read(uint addr, uint8 data) -> uint8 {
|
||||||
if((addr & 0xc00000) == 0x000000) { //$00-3f:0000-7fff,:8000-ffff
|
if((addr & 0xc00000) == 0x000000) { //$00-3f:0000-7fff,:8000-ffff
|
||||||
addr = Bus::mirror(addr, rom.size());
|
|
||||||
while(!regs.scmr.ron) {
|
while(!regs.scmr.ron) {
|
||||||
step(6);
|
step(6);
|
||||||
synchronizeCPU();
|
synchronizeCPU();
|
||||||
if(synchronizing()) break;
|
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
|
if((addr & 0xe00000) == 0x400000) { //$40-5f:0000-ffff
|
||||||
|
|
Loading…
Reference in New Issue