From fcef6e404587accd09439739a7e660f1d94069a1 Mon Sep 17 00:00:00 2001 From: Bad Diode Date: Sat, 6 Jan 2024 16:35:53 +0100 Subject: Add more sync in options --- src/settings.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'src/settings.c') diff --git a/src/settings.c b/src/settings.c index 374618c..406abe3 100644 --- a/src/settings.c +++ b/src/settings.c @@ -8,15 +8,30 @@ static Settings settings = { }; static int settings_cursor_loc = 0; -void serial_irq(void); +void sync_in_96(void); +void sync_in_48(void); +void sync_in_24(void); +void sync_in_12(void); +void sync_in_4(void); void stop_sound(void); void toggle_playing(void); void set_audio_settings(void) { stop_sound(); - if (settings.sync == SYNC_IN_LINK) { - irs_set(IRQ_SERIAL, serial_irq); + if (settings.sync == SYNC_IN_LINK_96BPQ || + settings.sync == SYNC_IN_LINK_48BPQ || + settings.sync == SYNC_IN_LINK_24BPQ || + settings.sync == SYNC_IN_LINK_12BPQ || + settings.sync == SYNC_IN_LINK_4BPQ) { + switch (settings.sync) { + case SYNC_IN_LINK_96BPQ: { irs_set(IRQ_SERIAL, sync_in_96); } break; + case SYNC_IN_LINK_48BPQ: { irs_set(IRQ_SERIAL, sync_in_48); } break; + case SYNC_IN_LINK_24BPQ: { irs_set(IRQ_SERIAL, sync_in_24); } break; + case SYNC_IN_LINK_12BPQ: { irs_set(IRQ_SERIAL, sync_in_12); } break; + case SYNC_IN_LINK_4BPQ: { irs_set(IRQ_SERIAL, sync_in_4); } break; + default: break; + } irs_set(IRQ_TIMER_2, NULL); SIO_MODE = SIO_MODE_GP | SIO_SC_OUT(0) -- cgit v1.2.1