| 172 | } |
| 173 | |
| 174 | static __forceinline void UpdateBlockHeader(V_Core& thiscore, uint voiceidx) |
| 175 | { |
| 176 | V_Voice& vc(thiscore.Voices[voiceidx]); |
| 177 | |
| 178 | for (int i = 0; i < 2; i++) |
| 179 | if (Cores[i].IRQEnable && Cores[i].IRQA == (vc.NextA & 0xFFFF8)) |
| 180 | SetIrqCall(i); |
| 181 | |
| 182 | s16* memptr = GetMemPtr(vc.NextA & 0xFFFF8); |
| 183 | vc.LoopFlags = *memptr >> 8; // grab loop flags from the upper byte. |
| 184 | |
| 185 | if ((vc.LoopFlags & XAFLAG_LOOP_START) && !vc.LoopMode) |
| 186 | { |
| 187 | vc.LoopStartA = vc.NextA & 0xFFFF8; |
| 188 | } |
| 189 | } |
| 190 | |
| 191 | static __forceinline void DecodeSamples(uint coreidx, uint voiceidx) |
| 192 | { |
no test coverage detected