summaryrefslogtreecommitdiff
path: root/sms.c
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2020-04-18 22:36:13 -0700
committerMichael Pavone <pavone@retrodev.com>2020-04-18 22:36:13 -0700
commit50379e379426be665efd31e299891fa849db00d1 (patch)
tree8d6da310e07a6e5b44577c2936c937db967eca3a /sms.c
parent97af82b76f97e95b11a028af786e9e5b1a1977fe (diff)
WIP new sync mode that runs emulation on audio thread
Diffstat (limited to 'sms.c')
-rw-r--r--sms.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/sms.c b/sms.c
index 5085c58..208b079 100644
--- a/sms.c
+++ b/sms.c
@@ -428,22 +428,22 @@ static void run_sms(system_header *system)
target_cycle -= adjust;
}
}
-#ifndef IS_LIB
- bindings_release_capture();
- vdp_release_framebuffer(sms->vdp);
- render_pause_source(sms->psg->audio);
-#endif
+ if (render_should_release_on_exit()) {
+ bindings_release_capture();
+ vdp_release_framebuffer(sms->vdp);
+ render_pause_source(sms->psg->audio);
+ }
sms->should_return = 0;
}
static void resume_sms(system_header *system)
{
sms_context *sms = (sms_context *)system;
-#ifndef IS_LIB
- bindings_reacquire_capture();
- vdp_reacquire_framebuffer(sms->vdp);
- render_resume_source(sms->psg->audio);
-#endif
+ if (render_should_release_on_exit()) {
+ bindings_reacquire_capture();
+ vdp_reacquire_framebuffer(sms->vdp);
+ render_resume_source(sms->psg->audio);
+ }
run_sms(system);
}