summaryrefslogtreecommitdiff
path: root/blastem.c
diff options
context:
space:
mode:
Diffstat (limited to 'blastem.c')
-rw-r--r--blastem.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/blastem.c b/blastem.c
index 9d6c0fd..559ba32 100644
--- a/blastem.c
+++ b/blastem.c
@@ -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);