emustatus &= ~1;
else if ((y == 224 || y == line_sample) && PsndOut)
{
- if (Pico.m.z80Run && (PicoOpt&POPT_EN_Z80))
+ if (Pico.m.z80Run && !Pico.m.z80_reset && (PicoOpt&POPT_EN_Z80))
PicoSyncZ80(SekCycleCnt);
if (ym2612.dacen && PsndDacLine <= y)
PsndDoDAC(y);
#ifdef PICO_CD
update_chips();
#else
- if (PicoLineHook) PicoLineHook(1);
+ if (PicoLineHook) PicoLineHook();
#endif
}
pv->lwrite_cnt=0;
Pico.video.status|=0x200;
+ memcpy(PicoPadInt, PicoPad, sizeof(PicoPadInt));
PAD_DELAY
#ifdef PICO_CD
check_cd_dma();
elprintf(EL_INTS, "vint: @ %06x [%i]", SekPc, SekCycleCnt);
SekInterrupt(6);
}
- if (Pico.m.z80Run && (PicoOpt&POPT_EN_Z80)) {
+ if (Pico.m.z80Run && !Pico.m.z80_reset && (PicoOpt&POPT_EN_Z80)) {
PicoSyncZ80(SekCycleCnt);
elprintf(EL_INTS, "zint");
z80_int();
#ifdef PICO_CD
update_chips();
#else
- if (PicoLineHook) PicoLineHook(1);
+ if (PicoLineHook) PicoLineHook();
#endif
// PAL line count might actually be 313 according to Steve Snake, but that would complicate things.
#ifdef PICO_CD
update_chips();
#else
- if (PicoLineHook) PicoLineHook(1);
+ if (PicoLineHook) PicoLineHook();
#endif
}
// sync z80
- if (Pico.m.z80Run && (PicoOpt&POPT_EN_Z80))
+ if (Pico.m.z80Run && !Pico.m.z80_reset && (PicoOpt&POPT_EN_Z80))
PicoSyncZ80(Pico.m.pal ? 151809 : 127671); // cycles adjusted for converter
if (PsndOut && ym2612.dacen && PsndDacLine <= lines-1)
PsndDoDAC(lines-1);