diff options
Diffstat (limited to 'blastem.c')
-rw-r--r-- | blastem.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -199,6 +199,9 @@ m68k_context * sync_components(m68k_context * context, uint32_t address) if (mclks >= mclks_per_frame) { ym_run(gen->ym, context->current_cycle); gen->ym->current_cycle -= mclks_per_frame/MCLKS_PER_68K; + if (gen->ym->write_cycle != CYCLE_NEVER) { + gen->ym->write_cycle = gen->ym->write_cycle >= mclks_per_frame/MCLKS_PER_68K ? gen->ym->write_cycle - mclks_per_frame/MCLKS_PER_68K : 0; + } //printf("reached frame end | 68K Cycles: %d, MCLK Cycles: %d\n", context->current_cycle, mclks); vdp_run_context(v_context, mclks_per_frame); psg_run(gen->psg, mclks/MCLKS_PER_PSG); |