| 184 | } |
| 185 | |
| 186 | void AIInit(u8* stack) |
| 187 | { |
| 188 | if (__AI_init_flag == TRUE) |
| 189 | { |
| 190 | return; |
| 191 | } |
| 192 | |
| 193 | OSRegisterVersion(__AIVersion); |
| 194 | bound_32KHz = OSNanosecondsToTicks(31524); |
| 195 | bound_48KHz = OSNanosecondsToTicks(42024); |
| 196 | min_wait = OSNanosecondsToTicks(42000); |
| 197 | max_wait = OSNanosecondsToTicks(63000); |
| 198 | buffer = OSNanosecondsToTicks(3000); |
| 199 | |
| 200 | AISetStreamVolRight(0); |
| 201 | AISetStreamVolLeft(0); |
| 202 | __AIRegs[3] = 0; |
| 203 | __AIRegs[0] = (__AIRegs[0] & ~0x20) | 0x20; |
| 204 | __AI_set_stream_sample_rate(1); |
| 205 | AISetDSPSampleRate(0); |
| 206 | __AIS_Callback = 0; |
| 207 | __AID_Callback = 0; |
| 208 | __CallbackStack = stack; |
| 209 | __OSSetInterruptHandler(5, __AIDHandler); |
| 210 | __OSUnmaskInterrupts(0x04000000); |
| 211 | __OSSetInterruptHandler(8, __AISHandler); |
| 212 | __OSUnmaskInterrupts(0x800000); |
| 213 | __AI_init_flag = TRUE; |
| 214 | } |
| 215 | |
| 216 | void __AISHandler(s16 interrupt, OSContext* context) |
| 217 | { |
no test coverage detected