u16 SetFlashTimerIntr(u8 timerNum, void (**intrFunc)(void)) { if (timerNum >= 4) return 1; sTimerNum = timerNum; sTimerReg = ®_TMCNT(sTimerNum); *intrFunc = FlashTimerIntr; return 0; }
// Begin playing the music void stage_play() { REG_IME = 0; REG_ISR_MAIN = stage_step; REG_IE = IRQ_TIMER(0); REG_TMD(0) = BPM_QUAN_TRANSFORM; REG_TMCNT(0) = TM_ENABLE | TM_IRQ | TM_FREQ_1024; REG_SNDSTAT = MASTER_SND_EN; REG_SNDDMGCNT = CHAN_EN_L(1) | CHAN_EN_R(1) | CHAN_EN_L(2) | CHAN_EN_R(2) | CHAN_EN_L(4) | CHAN_EN_R(4) | LEFT_VOL(7) | RIGHT_VOL(7); index = 0; wait = 1; REG_IME = IRQ_ENABLE; }