Mercurial > repos > blastem
diff genesis.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 | 9fd4bedc1a31 |
children | 2c1c88cd1a3f c3c62dbf1ceb |
line wrap: on
line diff
--- a/genesis.c Fri Apr 17 22:21:13 2020 -0700 +++ b/genesis.c Sat Apr 18 22:36:13 2020 -0700 @@ -1241,12 +1241,12 @@ resume_68k(gen->m68k); } } -#ifndef IS_LIB - bindings_release_capture(); - vdp_release_framebuffer(gen->vdp); - render_pause_source(gen->ym->audio); - render_pause_source(gen->psg->audio); -#endif + if (render_should_release_on_exit()) { + bindings_release_capture(); + vdp_release_framebuffer(gen->vdp); + render_pause_source(gen->ym->audio); + render_pause_source(gen->psg->audio); + } } static void start_genesis(system_header *system, char *statefile) @@ -1289,13 +1289,13 @@ static void resume_genesis(system_header *system) { genesis_context *gen = (genesis_context *)system; -#ifndef IS_LIB - render_set_video_standard((gen->version_reg & HZ50) ? VID_PAL : VID_NTSC); - bindings_reacquire_capture(); - vdp_reacquire_framebuffer(gen->vdp); - render_resume_source(gen->ym->audio); - render_resume_source(gen->psg->audio); -#endif + if (render_should_release_on_exit()) { + render_set_video_standard((gen->version_reg & HZ50) ? VID_PAL : VID_NTSC); + bindings_reacquire_capture(); + vdp_reacquire_framebuffer(gen->vdp); + render_resume_source(gen->ym->audio); + render_resume_source(gen->psg->audio); + } resume_68k(gen->m68k); handle_reset_requests(gen); }