MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / __AXProcessAux

Function __AXProcessAux

src/dolphin/src/ax/AXAux.c:127–184  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

125}
126
127void __AXProcessAux(void)
128{
129 __AXAuxADspWrite = &__AXBufferAuxA[__AXAuxDspWritePosition][0];
130 __AXAuxADspRead = &__AXBufferAuxA[__AXAuxDspReadPosition][0];
131 __AXAuxBDspWrite = &__AXBufferAuxB[__AXAuxDspWritePosition][0];
132 __AXAuxBDspRead = &__AXBufferAuxB[__AXAuxDspReadPosition][0];
133
134 if (__AXCallbackAuxA)
135 {
136 if (__AXClMode == 2)
137 {
138 AX_AUX_DATA_DPL2 auxData;
139 auxData.l = &__AXBufferAuxA[__AXAuxCpuReadWritePosition][0];
140 auxData.r = &__AXBufferAuxA[__AXAuxCpuReadWritePosition][160];
141 auxData.ls = &__AXBufferAuxA[__AXAuxCpuReadWritePosition][320];
142 auxData.rs = &__AXBufferAuxB[__AXAuxCpuReadWritePosition][320];
143 DCInvalidateRange(auxData.l, 0x780);
144 DCInvalidateRange(auxData.rs, 0x280);
145 __AXCallbackAuxA(&auxData.l, __AXContextAuxA);
146 DCFlushRangeNoSync(auxData.l, 0x780);
147 DCFlushRangeNoSync(auxData.rs, 0x280);
148 }
149 else
150 {
151 AX_AUX_DATA auxData;
152 auxData.l = &__AXBufferAuxA[__AXAuxCpuReadWritePosition][0];
153 auxData.r = &__AXBufferAuxA[__AXAuxCpuReadWritePosition][160];
154 auxData.s = &__AXBufferAuxA[__AXAuxCpuReadWritePosition][320];
155 DCInvalidateRange(auxData.l, 0x780);
156 __AXCallbackAuxA(&auxData.l, __AXContextAuxA);
157 DCFlushRangeNoSync(auxData.l, 0x780);
158 }
159 }
160
161 if (__AXCallbackAuxB && __AXClMode != 2)
162 {
163 AX_AUX_DATA auxData;
164 auxData.l = &__AXBufferAuxB[__AXAuxCpuReadWritePosition][0];
165 auxData.r = &__AXBufferAuxB[__AXAuxCpuReadWritePosition][160];
166 auxData.s = &__AXBufferAuxB[__AXAuxCpuReadWritePosition][320];
167 DCInvalidateRange(auxData.l, 0x780);
168 __AXCallbackAuxB(&auxData.l, __AXContextAuxB);
169 DCFlushRangeNoSync(auxData.l, 0x780);
170 }
171
172 __AXAuxDspWritePosition += 1;
173 __AXAuxDspWritePosition %= 3;
174 __AXAuxDspReadPosition += 1;
175 __AXAuxDspReadPosition %= 3;
176
177 __AXAuxDspWritePositionDpl2 += 1;
178 __AXAuxDspWritePositionDpl2 &= 1;
179 __AXAuxDspReadPositionDpl2 += 1;
180 __AXAuxDspReadPositionDpl2 &= 1;
181
182 __AXAuxCpuReadWritePosition += 1;
183 __AXAuxCpuReadWritePosition %= 3;
184}

Callers 1

__AXOutNewFrameFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected