diff sms.c @ 1932:b387f1c5a1d0

WIP new sync mode that runs emulation on audio thread
author Michael Pavone <pavone@retrodev.com>
date Sat, 18 Apr 2020 22:36:13 -0700
parents 2d462aa78349
children 2c1c88cd1a3f 81df9aa2de9b
line wrap: on
line diff
--- a/sms.c	Fri Apr 17 22:21:13 2020 -0700
+++ b/sms.c	Sat Apr 18 22:36:13 2020 -0700
@@ -428,22 +428,22 @@
 			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);
 }