aboutsummaryrefslogtreecommitdiff
path: root/backends/platform/ds/arm9/source/cdaudio.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backends/platform/ds/arm9/source/cdaudio.cpp')
-rw-r--r--backends/platform/ds/arm9/source/cdaudio.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/backends/platform/ds/arm9/source/cdaudio.cpp b/backends/platform/ds/arm9/source/cdaudio.cpp
index 2b285e782a..9569a820f2 100644
--- a/backends/platform/ds/arm9/source/cdaudio.cpp
+++ b/backends/platform/ds/arm9/source/cdaudio.cpp
@@ -244,6 +244,11 @@ void update() {
playNextBlock();
}
+#ifdef ARM_ADPCM
+extern "C" void ARM_adcpm(int *block, int len, int stepTableIndex,
+ int firstSample, s16 *decompressionBuffer);
+#endif
+
void decompressBlock() {
int block[2048];
bool loop = false;
@@ -294,7 +299,13 @@ void decompressBlock() {
return;
}
}
-
+
+#ifdef ARM_ADPCM
+ ARM_adpcm(block, waveHeader.fmtExtra,
+ blockHeader.stepTableIndex,
+ blockHeader.firstSample,
+ decompressionBuffer);
+#else
// First sample is in header
decompressionBuffer[0] = blockHeader.firstSample;
@@ -387,6 +398,7 @@ void decompressBlock() {
}
+#endif
}
void playNextBlock() {