aboutsummaryrefslogtreecommitdiff
path: root/src/audio_core/hle/dsp.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2016-02-25 19:21:50 -0500
committerbunnei <bunneidev@gmail.com>2016-02-25 19:21:50 -0500
commitaf7282b5ea8ed3ebfb47f35f6ac8212cfcb4c4fd (patch)
tree1ae5c0281f70ff811ea2370610745b3957060fa5 /src/audio_core/hle/dsp.cpp
parentb63a4192a7f44e3ca59bbfe0a28fc9e04e9e1ab6 (diff)
parent8b00954ec79fad71691ad2d4c82d5c1c60e21b0c (diff)
Merge pull request #1386 from MerryMage/audio-core-skeleton
Audio Core: Skeleton
Diffstat (limited to 'src/audio_core/hle/dsp.cpp')
-rw-r--r--src/audio_core/hle/dsp.cpp42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/audio_core/hle/dsp.cpp b/src/audio_core/hle/dsp.cpp
new file mode 100644
index 0000000000..c89356edc1
--- /dev/null
+++ b/src/audio_core/hle/dsp.cpp
@@ -0,0 +1,42 @@
+// Copyright 2016 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include "audio_core/hle/dsp.h"
+#include "audio_core/hle/pipe.h"
+
+namespace DSP {
+namespace HLE {
+
+SharedMemory g_region0;
+SharedMemory g_region1;
+
+void Init() {
+ DSP::HLE::ResetPipes();
+}
+
+void Shutdown() {
+}
+
+bool Tick() {
+ return true;
+}
+
+SharedMemory& CurrentRegion() {
+ // The region with the higher frame counter is chosen unless there is wraparound.
+
+ if (g_region0.frame_counter == 0xFFFFu && g_region1.frame_counter != 0xFFFEu) {
+ // Wraparound has occured.
+ return g_region1;
+ }
+
+ if (g_region1.frame_counter == 0xFFFFu && g_region0.frame_counter != 0xFFFEu) {
+ // Wraparound has occured.
+ return g_region0;
+ }
+
+ return (g_region0.frame_counter > g_region1.frame_counter) ? g_region0 : g_region1;
+}
+
+} // namespace HLE
+} // namespace DSP