# HG changeset patch # User Michael Pavone # Date 1713247638 25200 # Node ID bfd09d3367ba351376a626a379a84b541e95a855 # Parent 2ea2f3aa5aa8df36a125613a4808ce6116fe6ca6 Fix crash when enabling VGM recording while running Pico or Copera software diff -r 2ea2f3aa5aa8 -r bfd09d3367ba genesis.c --- a/genesis.c Mon Apr 15 23:00:02 2024 -0700 +++ b/genesis.c Mon Apr 15 23:07:18 2024 -0700 @@ -2457,9 +2457,11 @@ vgm_writer *vgm = vgm_write_open(filename, gen->version_reg & HZ50 ? 50 : 60, gen->normal_clock, gen->m68k->current_cycle); if (vgm) { printf("Started logging VGM to %s\n", filename); - sync_sound(gen, vgm->last_cycle); if (gen->header.type != SYSTEM_PICO && gen->header.type != SYSTEM_COPERA) { + sync_sound(gen, vgm->last_cycle); ym_vgm_log(gen->ym, gen->normal_clock, vgm); + } else { + sync_sound_pico(gen, vgm->last_cycle); } psg_vgm_log(gen->psg, gen->normal_clock, vgm); gen->header.vgm_logging = 1; @@ -2472,7 +2474,7 @@ { puts("Stopped VGM log"); genesis_context *gen = (genesis_context *)system; - vgm_close(gen->ym->vgm); + vgm_close(gen->psg->vgm); if (gen->header.type != SYSTEM_PICO && gen->header.type != SYSTEM_COPERA) { gen->ym->vgm = NULL; }