MCPcopy Create free account
hub / github.com/doldecomp/mkdd / initAI

Function initAI

libs/JSystem/JAudio/System/JASAiCtrl.cpp:53–83  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

51static u32 sSubFrames = 7;
52
53void initAI(AIDCallback cb) {
54 setOutputRate(OutputRate_32kHz);
55 u32 size = getDacSize() * 2;
56 for (int i = 0; i < 3; i++) {
57 sDmaDacBuffer[i] = new (JASDram, 0x20) s16[size / 2];
58#line 98
59 JUT_ASSERT(sDmaDacBuffer[i]);
60 JASCalc::bzero(sDmaDacBuffer[i], size);
61 DCStoreRange(sDmaDacBuffer[i], size);
62 }
63
64 sDspDacBuffer = new (JASDram, 0) s16*[sDspDacBufferCount];
65#line 109
66 JUT_ASSERT(sDspDacBuffer);
67 for (int i = 0; i < sDspDacBufferCount; i++) {
68 sDspDacBuffer[i] = new (JASDram, 0x20) s16[getDacSize()];
69#line 115
70 JUT_ASSERT(sDspDacBuffer[i]);
71 JASCalc::bzero(sDspDacBuffer[i], size);
72 DCStoreRange(sDspDacBuffer[i], size);
73 }
74 sDspDacWriteBuffer = sDspDacBufferCount - 1;
75 sDspDacReadBuffer = 0;
76 sDspStatus = 0;
77
78 JASChannel::initBankDisposeMsgQueue();
79 AIInit(NULL);
80 AIInitDMA((u32)sDmaDacBuffer[2], size);
81 AISetDSPSampleRate(sOutputRate != 0);
82 AIRegisterDMACallback(cb);
83}
84
85void startDMA() {
86 AIStartDMA();

Callers 1

runMethod · 0.85

Calls 7

setOutputRateFunction · 0.85
getDacSizeFunction · 0.85
bzeroFunction · 0.85
AIInitFunction · 0.85
AIInitDMAFunction · 0.85
AISetDSPSampleRateFunction · 0.85
AIRegisterDMACallbackFunction · 0.85

Tested by

no test coverage detected