comparison sms.c @ 1980:81df9aa2de9b

Less hacky run on audio thread mode
author Michael Pavone <pavone@retrodev.com>
date Sat, 09 May 2020 23:25:51 -0700
parents b387f1c5a1d0
children a7b753e260a2 9caebcfeac72
comparison
equal deleted inserted replaced
1979:06c25babe464 1980:81df9aa2de9b
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 if (render_should_release_on_exit()) { 431 if (sms->header.force_release || 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 } 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 if (render_should_release_on_exit()) { 442 if (sms->header.force_release || render_should_release_on_exit()) {
443 sms->header.force_release = 0;
443 bindings_reacquire_capture(); 444 bindings_reacquire_capture();
444 vdp_reacquire_framebuffer(sms->vdp); 445 vdp_reacquire_framebuffer(sms->vdp);
445 render_resume_source(sms->psg->audio); 446 render_resume_source(sms->psg->audio);
446 } 447 }
447 run_sms(system); 448 run_sms(system);