}
z80_resetCycles();
- PsndDacLine = 0;
- emustatus &= ~1;
+ PsndStartFrame();
pv->status&=~0x88; // clear V-Int, come out of vblank
if (Pico.m.z80Run && !Pico.m.z80_reset && (PicoOpt&POPT_EN_Z80))
PicoSyncZ80(cycles);
- if (ym2612.dacen && PsndDacLine <= y)
- PsndDoDAC(y);
#ifdef PICO_CD
if (PicoAHW & PAHW_MCD)
pcd_sync_s68k(cycles, 0);
if (!skip)
{
- if (DrawScanline < y)
+ if (Pico.est.DrawScanline < y)
PicoDrawSync(y - 1, 0);
#ifdef DRAW_FINISH_FUNC
DRAW_FINISH_FUNC();
// get samples from sound chips
if (y == 224 && PsndOut)
- {
- if (ym2612.dacen && PsndDacLine <= y)
- PsndDoDAC(y);
PsndGetSamples(y);
- }
// Run scanline:
CPUS_RUN(CYCLES_M68K_LINE - CYCLES_M68K_VINT_LAG - CYCLES_M68K_ASD);
cycles = SekCyclesDone();
if (Pico.m.z80Run && !Pico.m.z80_reset && (PicoOpt&POPT_EN_Z80))
PicoSyncZ80(cycles);
- if (PsndOut && ym2612.dacen && PsndDacLine <= lines-1)
- PsndDoDAC(lines-1);
+ if (PsndOut && ym2612.dacen && PsndDacLine < lines)
+ PsndDoDAC(lines - 1);
#ifdef PICO_CD
if (PicoAHW & PAHW_MCD)