summaryrefslogtreecommitdiff
path: root/libs/JSystem/JAudio2/JASDriverIF.cpp
blob: 2c8d5939528a84f5b49babf4cbae157007a6d619 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
//
// Generated By: dol2asm
// Translation Unit: JASDriverIF
//

#include "JSystem/JAudio2/JASDriverIF.h"
#include "JSystem/JAudio2/JASAiCtrl.h"
#include "JSystem/JAudio2/JASDSPInterface.h"
#include "dolphin/os/OSThread.h"

//
// Declarations:
//

/* 8029E130-8029E150 298A70 0020+00 0/0 3/3 0/0 .text            setDSPLevel__9JASDriverFf */
void JASDriver::setDSPLevel(f32 param_0) {
    JASDsp::setDSPMixerLevel(param_0);
}

/* ############################################################################################## */
/* 804507C0-804507C4 000240 0002+02 1/0 0/0 0/0 .sdata           MAX_MIXERLEVEL__9JASDriver */
u16 JASDriver::MAX_MIXERLEVEL = 0x2EE0;

/* 8029E150-8029E158 -00001 0008+00 0/0 0/0 0/0 .text            getChannelLevel_dsp__9JASDriverFv
 */
u16 JASDriver::getChannelLevel_dsp() {
    return JASDriver::MAX_MIXERLEVEL;
}

/* 8029E158-8029E178 298A98 0020+00 0/0 3/3 0/0 .text            getDSPLevel__9JASDriverFv */
f32 JASDriver::getDSPLevel() {
    return JASDsp::getDSPMixerLevel();
}

/* ############################################################################################## */
/* 804507C4-804507C8 000244 0004+00 2/1 0/0 0/0 .sdata           JAS_SYSTEM_OUTPUT_MODE__9JASDriver
 */
u32 JASDriver::JAS_SYSTEM_OUTPUT_MODE = 0x00000001;

/* 8029E178-8029E180 298AB8 0008+00 0/0 2/2 0/0 .text            setOutputMode__9JASDriverFUl */
void JASDriver::setOutputMode(u32 param_0) {
    JAS_SYSTEM_OUTPUT_MODE = param_0;
}

/* 8029E180-8029E188 -00001 0008+00 0/0 0/0 0/0 .text            getOutputMode__9JASDriverFv */
u32 JASDriver::getOutputMode() {
    return JASDriver::JAS_SYSTEM_OUTPUT_MODE;
}

/* 8029E188-8029E1C4 298AC8 003C+00 0/0 1/1 0/0 .text            waitSubFrame__9JASDriverFv */
void JASDriver::waitSubFrame() {
    u32 r31 = getSubFrameCounter();
    do {
        OSYieldThread();
    } while (r31 == getSubFrameCounter());
}

/* ############################################################################################## */
/* 80431C78-80431D78 05E998 0100+00 4/4 0/0 0/0 .bss             sDspSyncCallback__9JASDriver */
JASCallbackMgr JASDriver::sDspSyncCallback;

/* 80431D78-80431E78 05EA98 0100+00 2/4 0/0 0/0 .bss             sSubFrameCallback__9JASDriver */
JASCallbackMgr JASDriver::sSubFrameCallback;

/* 80431E78-80431F80 05EB98 0100+08 1/3 0/0 0/0 .bss             sUpdateDacCallback__9JASDriver */
JASCallbackMgr JASDriver::sUpdateDacCallback;

/* 8029E1C4-8029E240 298B04 007C+00 0/0 2/2 0/0 .text            rejectCallback__9JASDriverFPFPv_lPv
 */
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;
}

/* 8029E240-8029E274 298B80 0034+00 0/0 1/1 0/0 .text registerDspSyncCallback__9JASDriverFPFPv_lPv
 */
bool JASDriver::registerDspSyncCallback(DriverCallback callback, void* param_1) {
    return sDspSyncCallback.regist(callback, param_1);
}

/* 8029E274-8029E2A8 298BB4 0034+00 0/0 3/3 0/0 .text
 * registerSubFrameCallback__9JASDriverFPFPv_lPv                */
bool JASDriver::registerSubFrameCallback(DriverCallback callback, void* param_1) {
    return sSubFrameCallback.regist(callback, param_1);
}

/* 8029E2A8-8029E2D0 298BE8 0028+00 0/0 1/1 0/0 .text            subframeCallback__9JASDriverFv */
void JASDriver::subframeCallback() {
    sSubFrameCallback.callback();
}

/* 8029E2D0-8029E2F8 298C10 0028+00 0/0 1/1 0/0 .text            DSPSyncCallback__9JASDriverFv */
void JASDriver::DSPSyncCallback() {
    sDspSyncCallback.callback();
}

/* 8029E2F8-8029E320 298C38 0028+00 0/0 1/1 0/0 .text            updateDacCallback__9JASDriverFv */
void JASDriver::updateDacCallback() {
    sUpdateDacCallback.callback();
}