u32 z80ReadBusReq(void)
{
u32 d=Pico.m.z80Run&1;
- if (!d && Pico.m.scanline != -1) {
+ if (!d) {
// needed by buggy Terminator (Sega CD)
int stop_before = SekCyclesDone() - z80stopCycle;
//elprintf(EL_BUSREQ, "get_zrun: stop before: %i", stop_before);
if (stop_before > 0 && stop_before < 20) // Gens uses 16 here
d = 1; // bus not yet available
}
- // |=0x80 for Shadow of the Beast & Super Offroad
+
elprintf(EL_BUSREQ, "get_zrun: %02x [%i] @%06x", d|0x80, SekCyclesDone(), SekPc);
return d|0x80;
}
if (Pico.m.z80Run&1)
elprintf(EL_ANOMALY, "68k z80 read with no bus! [%06x] @ %06x", a, SekPc);
if ((a&0x4000)==0x0000) { d=z80Read8(a); d|=d<<8; goto end; } // Z80 ram (not byteswaped)
- if ((a&0x6000)==0x4000) { // 0x4000-0x5fff, Fudge if disabled
- if (PicoOpt&POPT_EN_FM) d=ym2612_read_local_68k();
- else d=Pico.m.rotate++&3;
- goto end;
- }
+ if ((a&0x6000)==0x4000) { d=ym2612_read_local_68k(); goto end; } // 0x4000-0x5fff
+
elprintf(EL_ANOMALY, "68k bad read [%06x]", a);
d=0xffff;
goto end;