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 83580e24cc
commit 07019a5693
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) 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(); stop_sound();
const float aica_clock_multiplier = 44.1;
state.sample_data_ix = xm_init(&interpreter::state.xm, state.sample_data_ix = xm_init(&interpreter::state.xm,
buf, buf,
sample_data, sample_data,

View File

@ -44,7 +44,7 @@ void vbr600()
wait(); aica_sound.common.mcire = (1 << 6); // interrupt timer A wait(); aica_sound.common.mcire = (1 << 6); // interrupt timer A
wait(); aica_sound.common.tactl_tima = wait(); aica_sound.common.tactl_tima =
aica::tactl_tima::TACTL(0) // increment once every sample 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(); //scene::logo::sound::interrupt();

View File

@ -131,7 +131,7 @@ void init()
wait(); aica_sound.common.tactl_tima = wait(); aica_sound.common.tactl_tima =
aica::tactl_tima::TACTL(0) // increment once every sample 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 wait(); aica_sound.common.mcieb = (1 << 6); // interrupt timer A