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 {