summaryrefslogtreecommitdiff
path: root/libs/JSystem/src/JAudio2/JASDriverIF.cpp
diff options
context:
space:
mode:
authorLuke Street <luke@street.dev>2026-03-01 15:35:36 -0700
committerGitHub <noreply@github.com>2026-03-01 14:35:36 -0800
commit9649319ec4926457ef85e6094f8207474c977c2d (patch)
tree1c5cd4c7cc4c1aee03f28921213da47f2775444d /libs/JSystem/src/JAudio2/JASDriverIF.cpp
parent6e149819e13b1f70ecbf8a4c66b030c17ffed2bb (diff)
Reorganize library code into `libs/` (#3119)
* Reorganize files into libs/{dolphin,JSystem,PowerPC_EABI_Support,revolution,TRK_MINNOW_DOLPHIN} * Update configure.py and project.py for new libs structure * Refactor `#include <dolphin/x.h>` -> `<x.h>` * Remove `__REVOLUTION_SDK__` forwards from dolphin * Fix dolphin/ references in revolution * Wrap `#include <dolphin.h>` in `!__REVOLUTION_SDK__` * Always build TRK against dolphin headers * Resolve revolution SDK header resolution issues
Diffstat (limited to 'libs/JSystem/src/JAudio2/JASDriverIF.cpp')
-rw-r--r--libs/JSystem/src/JAudio2/JASDriverIF.cpp74
1 files changed, 74 insertions, 0 deletions
diff --git a/libs/JSystem/src/JAudio2/JASDriverIF.cpp b/libs/JSystem/src/JAudio2/JASDriverIF.cpp
new file mode 100644
index 0000000000..2c9f305b61
--- /dev/null
+++ b/libs/JSystem/src/JAudio2/JASDriverIF.cpp
@@ -0,0 +1,74 @@
+#include "JSystem/JSystem.h" // IWYU pragma: keep
+
+#include "JSystem/JAudio2/JASDriverIF.h"
+#include "JSystem/JAudio2/JASAiCtrl.h"
+#include "JSystem/JAudio2/JASDSPInterface.h"
+#include <os.h>
+
+void JASDriver::setDSPLevel(f32 param_0) {
+ JASDsp::setDSPMixerLevel(param_0);
+}
+
+u16 JASDriver::MAX_MIXERLEVEL = 0x2EE0;
+
+u16 JASDriver::getChannelLevel_dsp() {
+ return JASDriver::MAX_MIXERLEVEL;
+}
+
+f32 JASDriver::getChannelLevel() {
+ return MAX_MIXERLEVEL / 16383.5f;
+}
+
+f32 JASDriver::getDSPLevel() {
+ return JASDsp::getDSPMixerLevel();
+}
+
+u32 JASDriver::JAS_SYSTEM_OUTPUT_MODE = 0x00000001;
+
+void JASDriver::setOutputMode(u32 param_0) {
+ JAS_SYSTEM_OUTPUT_MODE = param_0;
+}
+
+u32 JASDriver::getOutputMode() {
+ return JASDriver::JAS_SYSTEM_OUTPUT_MODE;
+}
+
+void JASDriver::waitSubFrame() {
+ u32 r31 = getSubFrameCounter();
+ do {
+ OSYieldThread();
+ } while (r31 == getSubFrameCounter());
+}
+
+JASCallbackMgr JASDriver::sDspSyncCallback;
+
+JASCallbackMgr JASDriver::sSubFrameCallback;
+
+JASCallbackMgr JASDriver::sUpdateDacCallback;
+
+int JASDriver::rejectCallback(DriverCallback callback, void* param_1) {
+ int r31 = sDspSyncCallback.reject(callback, param_1);
+ r31 += sSubFrameCallback.reject(callback, param_1);
+ r31 += sUpdateDacCallback.reject(callback, param_1);
+ return r31;
+}
+
+bool JASDriver::registerDspSyncCallback(DriverCallback callback, void* param_1) {
+ return sDspSyncCallback.regist(callback, param_1);
+}
+
+bool JASDriver::registerSubFrameCallback(DriverCallback callback, void* param_1) {
+ return sSubFrameCallback.regist(callback, param_1);
+}
+
+void JASDriver::subframeCallback() {
+ sSubFrameCallback.callback();
+}
+
+void JASDriver::DSPSyncCallback() {
+ sDspSyncCallback.callback();
+}
+
+void JASDriver::updateDacCallback() {
+ sUpdateDacCallback.callback();
+}