aica/tima: slow TIMA interrupt from once every 1 counts to once every 3 counts

This commit is contained in:
Zack Buhman 2025-07-02 21:57:49 -05:00
parent ffdada171b
commit 0161588b5a
3 changed files with 5 additions and 5 deletions

View File

@ -368,12 +368,12 @@ const int sample_data_length = (sizeof (sample_data));
void deferred_load(int buf)
{
state.deferred_load_tick = 44100 / 2;
const float aica_clock_multiplier = 44.1 / 3;
state.deferred_load_tick = aica_clock_multiplier * 1000 / 2;
stop_sound();
const float aica_clock_multiplier = 44.1;
state.sample_data_ix = xm_init(&interpreter::state.xm,
buf,
sample_data,

View File

@ -44,7 +44,7 @@ void vbr600()
wait(); aica_sound.common.mcire = (1 << 6); // interrupt timer A
wait(); aica_sound.common.tactl_tima =
aica::tactl_tima::TACTL(0) // increment once every sample
| aica::tactl_tima::TIMA(0xffff) // interrupt after 1 counts
| aica::tactl_tima::TIMA(0xfffd) // interrupt after 3 counts
;
//scene::logo::sound::interrupt();

View File

@ -131,7 +131,7 @@ void init()
wait(); aica_sound.common.tactl_tima =
aica::tactl_tima::TACTL(0) // increment once every sample
| aica::tactl_tima::TIMA(0xffff) // interrupt after 1 counts
| aica::tactl_tima::TIMA(0xfffd) // interrupt after 3 counts
;
wait(); aica_sound.common.mcieb = (1 << 6); // interrupt timer A