Prevent non-loop VGM playback overrun
This commit is contained in:
@@ -33,7 +33,6 @@
|
||||
#include "../inc/freq_lut_map.h"
|
||||
|
||||
/* ── Состояние парсера ──────────────────────────────────────────────── */
|
||||
volatile uint8_t vgm_song_ended; // 1 = достигнут конец (0x66), main loop может остановить воспроизведение
|
||||
uint8_t vgm_paused; // 1 = пауза (остановить таймер, не обнулять vgm_sec_budget)
|
||||
uint8_t vgm_cur_page; // текущая VPL-страница для чтения данных (0..N)
|
||||
uint16_t vgm_read_ptr; // смещение в окне #C000 для чтения следующего байта VGM-потока
|
||||
@@ -249,7 +248,6 @@ uint8_t vgm_parse_header(void)
|
||||
uint32_t clk;
|
||||
vgm_chip_entry_t *e;
|
||||
|
||||
vgm_song_ended = 0;
|
||||
vgm_paused = 0;
|
||||
vgm_chip_count = 0;
|
||||
vgm_chip_type = VGM_CHIP_NONE;
|
||||
@@ -1752,7 +1750,6 @@ ym2_fm_passthru:;
|
||||
if (fb_op == 0x66)
|
||||
{
|
||||
if (fb_is_vgm) {
|
||||
vgm_song_ended = 1;
|
||||
vgm_cur_page = fb_cpg;
|
||||
vgm_read_ptr = (uint16_t)fb_rp;
|
||||
vgm_wait_accum = fb_wacc;
|
||||
@@ -2009,7 +2006,6 @@ uint8_t vgm_rewind_to_loop(void)
|
||||
|
||||
vgm_cur_page = vgm_loop_page;
|
||||
vgm_read_ptr = vgm_loop_addr;
|
||||
vgm_song_ended = 0;
|
||||
vgm_wait_accum = 0;
|
||||
vgm_sec_budget = ISR_FREQ;
|
||||
wc_mngcvpl(vgm_cur_page);
|
||||
|
||||
Reference in New Issue
Block a user