Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
MorsGames
GitHub Repository: MorsGames/sm64plus
Path: blob/master/src/audio/data.h
7857 views
1
#ifndef AUDIO_DATA_H
2
#define AUDIO_DATA_H
3
4
#include <PR/ultratypes.h>
5
6
#include "internal.h"
7
#include "types.h"
8
9
#define AUDIO_LOCK_UNINITIALIZED 0
10
#define AUDIO_LOCK_NOT_LOADING 0x76557364
11
#define AUDIO_LOCK_LOADING 0x19710515
12
13
#define NUMAIBUFFERS 3
14
15
// constant .data
16
#if defined(VERSION_EU) || defined(VERSION_SH)
17
extern struct AudioSessionSettingsEU gAudioSessionPresets[];
18
#else
19
extern struct AudioSessionSettings gAudioSessionPresets[18];
20
#endif
21
extern u16 D_80332388[128]; // unused
22
23
#if defined(VERSION_EU) || defined(VERSION_SH)
24
extern f32 gPitchBendFrequencyScale[256];
25
#else
26
extern f32 gPitchBendFrequencyScale[255];
27
#endif
28
extern f32 gNoteFrequencies[128];
29
30
extern u8 gDefaultShortNoteVelocityTable[16];
31
extern u8 gDefaultShortNoteDurationTable[16];
32
extern s8 gVibratoCurve[16];
33
extern struct AdsrEnvelope gDefaultEnvelope[3];
34
35
#if defined(VERSION_EU) || defined(VERSION_SH)
36
extern s16 gEuUnknownWave7[256];
37
extern s16 *gWaveSamples[6];
38
#else
39
extern s16 *gWaveSamples[4];
40
#endif
41
42
#if defined(VERSION_EU) || defined(VERSION_SH)
43
extern u8 euUnknownData_8030194c[4];
44
#ifdef VERSION_EU
45
extern u16 gHeadsetPanQuantization[0x10];
46
#else
47
extern u16 gHeadsetPanQuantization[0x40];
48
#endif
49
extern s16 euUnknownData_80301950[64];
50
extern struct NoteSubEu gZeroNoteSub;
51
extern struct NoteSubEu gDefaultNoteSub;
52
#else
53
extern u16 gHeadsetPanQuantization[10];
54
#endif
55
extern f32 gHeadsetPanVolume[128];
56
extern f32 gStereoPanVolume[128];
57
extern f32 gDefaultPanVolume[128];
58
59
extern f32 gVolRampingLhs136[128];
60
extern f32 gVolRampingRhs136[128];
61
extern f32 gVolRampingLhs144[128];
62
extern f32 gVolRampingRhs144[128];
63
extern f32 gVolRampingLhs128[128];
64
extern f32 gVolRampingRhs128[128];
65
66
// non-constant .data
67
extern s16 gTatumsPerBeat;
68
extern s8 gUnusedCount80333EE8;
69
extern s32 gAudioHeapSize; // AUDIO_HEAP_SIZE
70
extern s32 gAudioInitPoolSize; // AUDIO_INIT_POOL_SIZE
71
extern volatile s32 gAudioLoadLock;
72
73
// .bss
74
extern volatile s32 gAudioFrameCount;
75
76
// number of DMAs performed during this frame
77
#if defined(VERSION_EU) || defined(VERSION_SH)
78
extern s32 gCurrAudioFrameDmaCount;
79
#else
80
extern volatile s32 gCurrAudioFrameDmaCount;
81
#endif
82
83
extern s32 gAudioTaskIndex;
84
extern s32 gCurrAiBufferIndex;
85
86
extern u64 *gAudioCmdBuffers[2];
87
extern u64 *gAudioCmd;
88
89
extern struct SPTask *gAudioTask;
90
extern struct SPTask gAudioTasks[2];
91
92
#if defined(VERSION_EU) || defined(VERSION_SH)
93
extern f32 D_EU_802298D0;
94
extern s32 gRefreshRate;
95
#endif
96
97
extern s16 *gAiBuffers[NUMAIBUFFERS];
98
extern s16 gAiBufferLengths[NUMAIBUFFERS];
99
#if defined(VERSION_SH)
100
#define AIBUFFER_LEN 0xb00
101
#elif defined(VERSION_EU)
102
#define AIBUFFER_LEN (0xa0 * 17)
103
#else
104
#define AIBUFFER_LEN (0xa0 * 16)
105
#endif
106
107
extern u32 gUnused80226E58[0x10];
108
extern u16 gUnused80226E98[0x10];
109
110
extern u32 gAudioRandom;
111
112
#ifdef VERSION_SH
113
extern f32 unk_sh_data_1[];
114
115
extern volatile u32 gAudioLoadLockSH;
116
117
extern u8 D_SH_80350F18;
118
extern u8 D_SH_80350F19;
119
120
extern OSMesg D_SH_80350F1C[1];
121
extern OSMesgQueue D_SH_80350F20; // address written to D_SH_80350F38
122
extern OSMesgQueue *D_SH_80350F38;
123
124
extern OSMesg D_SH_80350F40[4];
125
extern OSMesgQueue D_SH_80350F50; // address written to D_SH_80350F68
126
extern OSMesgQueue *D_SH_80350F68;
127
128
extern OSMesg D_SH_80350F6C[1];
129
extern OSMesgQueue D_SH_80350F70; // address written to D_SH_80350F88
130
extern OSMesgQueue *D_SH_80350F88;
131
132
extern OSMesg D_SH_80350F8C[1];
133
extern OSMesgQueue D_SH_80350F90; // address written to D_SH_80350F90
134
extern OSMesgQueue *D_SH_80350FA8;
135
#endif
136
137
#if defined(VERSION_EU) || defined(VERSION_SH)
138
#define UNUSED_COUNT_80333EE8 24
139
#define AUDIO_HEAP_SIZE 0x2c500
140
#define AUDIO_INIT_POOL_SIZE 0x2c00
141
#else
142
#define UNUSED_COUNT_80333EE8 16
143
#define AUDIO_HEAP_SIZE 0x31150
144
#define AUDIO_INIT_POOL_SIZE 0x2500
145
#endif
146
147
#ifdef VERSION_SH
148
extern u32 D_SH_80315EF0;
149
extern u16 D_SH_80315EF4;
150
extern u16 D_SH_80315EF8;
151
extern u16 D_SH_80315EFC;
152
#endif
153
154
#endif // AUDIO_DATA_H
155
156