diff options
| author | Luke Street <luke@street.dev> | 2026-03-01 15:35:36 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-01 14:35:36 -0800 |
| commit | 9649319ec4926457ef85e6094f8207474c977c2d (patch) | |
| tree | 1c5cd4c7cc4c1aee03f28921213da47f2775444d /libs/JSystem/src/JAudio2/JASDriverIF.cpp | |
| parent | 6e149819e13b1f70ecbf8a4c66b030c17ffed2bb (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.cpp | 74 |
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(); +} |
