Mercurial > repos > blastem
comparison 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 |
comparison
equal
deleted
inserted
replaced
1930:0f135b214927 | 1932:b387f1c5a1d0 |
---|---|
426 vdp_adjust_cycles(sms->vdp, adjust); | 426 vdp_adjust_cycles(sms->vdp, adjust); |
427 sms->psg->cycles -= adjust; | 427 sms->psg->cycles -= adjust; |
428 target_cycle -= adjust; | 428 target_cycle -= adjust; |
429 } | 429 } |
430 } | 430 } |
431 #ifndef IS_LIB | 431 if (render_should_release_on_exit()) { |
432 bindings_release_capture(); | 432 bindings_release_capture(); |
433 vdp_release_framebuffer(sms->vdp); | 433 vdp_release_framebuffer(sms->vdp); |
434 render_pause_source(sms->psg->audio); | 434 render_pause_source(sms->psg->audio); |
435 #endif | 435 } |
436 sms->should_return = 0; | 436 sms->should_return = 0; |
437 } | 437 } |
438 | 438 |
439 static void resume_sms(system_header *system) | 439 static void resume_sms(system_header *system) |
440 { | 440 { |
441 sms_context *sms = (sms_context *)system; | 441 sms_context *sms = (sms_context *)system; |
442 #ifndef IS_LIB | 442 if (render_should_release_on_exit()) { |
443 bindings_reacquire_capture(); | 443 bindings_reacquire_capture(); |
444 vdp_reacquire_framebuffer(sms->vdp); | 444 vdp_reacquire_framebuffer(sms->vdp); |
445 render_resume_source(sms->psg->audio); | 445 render_resume_source(sms->psg->audio); |
446 #endif | 446 } |
447 run_sms(system); | 447 run_sms(system); |
448 } | 448 } |
449 | 449 |
450 static void start_sms(system_header *system, char *statefile) | 450 static void start_sms(system_header *system, char *statefile) |
451 { | 451 { |