summaryrefslogtreecommitdiff
path: root/blastem.c
diff options
context:
space:
mode:
authorMike Pavone <pavone@retrodev.com>2013-06-02 21:12:43 -0700
committerMike Pavone <pavone@retrodev.com>2013-06-02 21:12:43 -0700
commit4d2c9b8e60afc95138fed359deaf7d50335707c9 (patch)
tree13dec30091d4f8048a22862f67ef109b7716fc51 /blastem.c
parent37e11503549c7ec4916ecf5d951a740036db09e4 (diff)
Fix YM2612 busy flag
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);