mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
AudioMgr OK and Mostly Documented (#208)
* AudioMgr OK * Cleanup * Improve naming from PR Feedback
This commit is contained in:
+30
-30
@@ -37,8 +37,8 @@ void* Yaz0_FirstDMA(void);
|
||||
void* Yaz0_NextDMA(void* curSrcPos);
|
||||
s32 Yaz0_DecompressImpl(u8* hdr, u8* dst);
|
||||
void Yaz0_Decompress(u32 romStart, void* dst, u32 size);
|
||||
void IrqMgr_AddClient(IrqMgr* irqmgr, OSMesgQueueListNode* param_2, OSMesgQueue* param_3);
|
||||
void IrqMgr_RemoveClient(IrqMgr* irqmgr, OSMesgQueueListNode* remove);
|
||||
void IrqMgr_AddClient(IrqMgr* irqmgr, IrqMgrClient* add, OSMesgQueue* msgQ);
|
||||
void IrqMgr_RemoveClient(IrqMgr* irqmgr, IrqMgrClient* remove);
|
||||
void IrqMgr_SendMesgForClient(IrqMgr* irqmgr, OSMesg msg);
|
||||
void IrqMgr_JamMesgForClient(IrqMgr* irqmgr, OSMesg msg);
|
||||
void IrqMgr_HandlePreNMI(IrqMgr* irqmgr);
|
||||
@@ -174,7 +174,7 @@ void func_800863AC(u32 param_1, s32 param_2, s32 param_3, UNK_PTR param_4);
|
||||
// void func_800864EC(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
|
||||
// void func_80086588(void);
|
||||
void StartHeap_Init(u32 base, u32 size);
|
||||
s32 func_80086620(OSMesgQueue* param_1, PadmgrThreadStruct* param_2, OSContStatus* param_3);
|
||||
s32 func_80086620(OSMesgQueue* param_1, PadMgr* param_2, OSContStatus* param_3);
|
||||
// void func_80086760(void);
|
||||
// void func_80086794(void);
|
||||
// void func_800867B4(void);
|
||||
@@ -3143,12 +3143,12 @@ void THA_Init(TwoHeadArena* tha);
|
||||
void THA_Ct(TwoHeadArena* tha, void* ptr, u32 size);
|
||||
void THA_Dt(TwoHeadArena* tha);
|
||||
void func_80172BC0(void);
|
||||
void func_80172C30(AudioThreadStruct* audio);
|
||||
void func_80172C68(AudioThreadStruct* audio);
|
||||
// void Audio_Stop(void);
|
||||
void Audio_ThreadEntry(AudioThreadStruct* audio);
|
||||
void Audio_WaitForInit(AudioThreadStruct* param_1);
|
||||
void Audio_Start(AudioThreadStruct* audio, s32* audioThreadStackEnd, OSPri pri, OSId id, SchedThreadStruct* sched, IrqMgr* irq);
|
||||
void func_80172C30(AudioMgr* audioMgr);
|
||||
void AudioMgr_HandleRetrace(AudioMgr* audioMgr);
|
||||
void AudioMgr_HandlePRENMI(AudioMgr* audioMgr);
|
||||
void AudioMgr_ThreadEntry(void* arg);
|
||||
void AudioMgr_Unlock(AudioMgr* audioMgr);
|
||||
void AudioMgr_Init(AudioMgr* audioMgr, void* stack, OSPri pri, OSId id, SchedContext* sched, IrqMgr* irqMgr);
|
||||
void TitleSetup_GameStateResetContext(void);
|
||||
void TitleSetup_InitImpl(GameState* gameState);
|
||||
void TitleSetup_Destroy(GameState* gameState);
|
||||
@@ -3223,32 +3223,32 @@ void Padmgr_CalcStickEdges(Input* input);
|
||||
void func_80175E68(Input* input, s32 param_2);
|
||||
void Padmgr_GetInput(Input* input, s32 param_2);
|
||||
void Padmgr_GetInput2(Input* input, s32 param_2);
|
||||
void Padmgr_ThreadEntry(PadmgrThreadStruct* padmgr);
|
||||
void Padmgr_ThreadEntry(PadMgr* padmgr);
|
||||
void Padmgr_Start(OSMesgQueue* siEventCallbackQueue, IrqMgr* irqmgr, OSId threadId, OSPri threadPri, void* stack);
|
||||
// void func_80176280(void);
|
||||
// void func_80176314(void);
|
||||
void Sched_Nop80176364(SchedThreadStruct* sched);
|
||||
void func_80176370(SchedThreadStruct* sched);
|
||||
void func_80176394(SchedThreadStruct* sched);
|
||||
void func_801764F0(SchedThreadStruct* sched);
|
||||
void func_8017668C(SchedThreadStruct* sched, UNK_PTR puParm2);
|
||||
void Sched_Nop80176364(SchedContext* sched);
|
||||
void func_80176370(SchedContext* sched);
|
||||
void func_80176394(SchedContext* sched);
|
||||
void func_801764F0(SchedContext* sched);
|
||||
void func_8017668C(SchedContext* sched, UNK_PTR puParm2);
|
||||
// void func_801766F0(void);
|
||||
// void func_80176748(void);
|
||||
// void func_801767B8(void);
|
||||
// void func_801768E0(void);
|
||||
// void func_8017691C(void);
|
||||
// void func_80176988(void);
|
||||
void func_80176B34(SchedThreadStruct* sched);
|
||||
void func_80176C24(SchedThreadStruct* sched);
|
||||
void func_80176CF4(SchedThreadStruct* sched);
|
||||
void func_80176F2C(SchedThreadStruct* sched);
|
||||
void func_80177018(SchedThreadStruct* sched);
|
||||
void func_8017703C(SchedThreadStruct* sched);
|
||||
void func_80177060(SchedThreadStruct* sched);
|
||||
void func_80177084(SchedThreadStruct* sched);
|
||||
void Sched_ThreadEntry(SchedThreadStruct* sched);
|
||||
void func_80176B34(SchedContext* sched);
|
||||
void func_80176C24(SchedContext* sched);
|
||||
void func_80176CF4(SchedContext* sched);
|
||||
void func_80176F2C(SchedContext* sched);
|
||||
void Sched_SendEntryMsg(SchedContext* sched);
|
||||
void func_8017703C(SchedContext* sched);
|
||||
void func_80177060(SchedContext* sched);
|
||||
void func_80177084(SchedContext* sched);
|
||||
void Sched_ThreadEntry(SchedContext* sched);
|
||||
// void func_80177280(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE1 param_5, UNK_TYPE1 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10, UNK_TYPE4 param_11, UNK_TYPE4 param_12);
|
||||
// void Sched_Start(SchedThreadStruct* sched, void* stack, OSPri pri, UNK_TYPE4 param_4, UNK_TYPE4 param_5, IrqMgr* irqmgrStruct);
|
||||
// void Sched_Start(SchedContext* sched, void* stack, OSPri pri, UNK_TYPE4 param_4, UNK_TYPE4 param_5, IrqMgr* irqmgrStruct);
|
||||
// void func_80177390(void);
|
||||
void func_801773A0(void* arg0);
|
||||
void func_801773C4(void* arg0);
|
||||
@@ -3644,7 +3644,7 @@ s32 func_80185F90(u32 param_1);
|
||||
// void func_8019075C(void);
|
||||
// void func_8019077C(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
|
||||
// void func_80190B08(void);
|
||||
// void func_80190B38(void);
|
||||
void func_80190B38(void* callback);
|
||||
// void func_80190B50(void);
|
||||
// void func_80190BB0(void);
|
||||
// void func_80190F50(void);
|
||||
@@ -3676,7 +3676,7 @@ s32 func_80185F90(u32 param_1);
|
||||
// void func_80192AE8(void);
|
||||
// void func_80192B54(void);
|
||||
// void func_80192BAC(void);
|
||||
// void func_80192BE0(void);
|
||||
AudioTask* func_80192BE0(void);
|
||||
// void func_80192C00(void);
|
||||
// void func_8019319C(void);
|
||||
// void func_801936D8(void);
|
||||
@@ -3967,7 +3967,7 @@ void audio_setBGM(u32 bgmID);
|
||||
// void func_801A4348(void);
|
||||
// void func_801A4380(void);
|
||||
// void func_801A4428(void);
|
||||
// void func_801A44A4(void);
|
||||
void Audio_PreNMI(void);
|
||||
// void func_801A44C4(void);
|
||||
// void func_801A44D4(void);
|
||||
// void func_801A46F8(void);
|
||||
@@ -3977,9 +3977,9 @@ void audio_setBGM(u32 bgmID);
|
||||
// void func_801A48E0(void);
|
||||
// void func_801A4A28(void);
|
||||
// void func_801A4B80(void);
|
||||
// void func_801A4C30(void);
|
||||
void func_801A4C30(void);
|
||||
// void func_801A4C54(void);
|
||||
// void func_801A4D00(void);
|
||||
void func_801A4D00(void);
|
||||
// void func_801A4D50(void);
|
||||
// void func_801A4DA4(void);
|
||||
// void func_801A4DF4(void);
|
||||
|
||||
+5
-5
@@ -1669,7 +1669,7 @@ extern u32 D_801D1514[3];
|
||||
extern s32 gScreenWidth;
|
||||
extern s32 gScreenHeight;
|
||||
// extern UNK_TYPE4 startHeapSize;
|
||||
extern PadmgrThreadStruct* padmgrContext;
|
||||
extern PadMgr* padmgrContext;
|
||||
// extern UNK_TYPE4 controllerInputsCaptured;
|
||||
// extern UNK_TYPE4 D_801D1538;
|
||||
extern UNK_PTR D_801D1540;
|
||||
@@ -3443,8 +3443,8 @@ extern u64 lastRenderFrameTimestamp;
|
||||
extern OSMesgQueue siEventCallbackQueue;
|
||||
extern OSMesg siEventCallbackBuffer[1];
|
||||
extern u32 gSegments[NUM_SEGMENTS];
|
||||
extern SchedThreadStruct schedContext;
|
||||
extern OSMesgQueueListNode mainIrqmgrCallbackNode;
|
||||
extern SchedContext schedContext;
|
||||
extern IrqMgrClient mainIrqmgrCallbackNode;
|
||||
extern OSMesgQueue mainIrqmgrCallbackQueue;
|
||||
extern OSMesg mainIrqCallbackBuffer[60];
|
||||
extern OSThread graphOSThread;
|
||||
@@ -3456,8 +3456,8 @@ extern StackEntry graphStackEntry;
|
||||
extern StackEntry schedStackEntry;
|
||||
extern StackEntry audioStackEntry;
|
||||
extern StackEntry padmgrStackEntry;
|
||||
extern AudioThreadStruct audioContext;
|
||||
extern PadmgrThreadStruct D_801FB620;
|
||||
extern AudioMgr audioContext;
|
||||
extern PadMgr D_801FB620;
|
||||
// extern UNK_TYPE1 D_801FBAA0;
|
||||
// extern UNK_TYPE1 D_801FBAB0;
|
||||
// extern UNK_TYPE1 D_801FBAB4;
|
||||
|
||||
+48
-29
@@ -1221,8 +1221,6 @@ struct FileChooseContext {
|
||||
/* 0x24550 */ s16 unk_24550;
|
||||
}; // size = 0x24558
|
||||
|
||||
typedef struct AudioThreadStruct AudioThreadStruct;
|
||||
|
||||
typedef struct GlobalContext GlobalContext;
|
||||
|
||||
typedef s32 (*ColChkResetFunc)(GlobalContext*, Collider*);
|
||||
@@ -1373,10 +1371,10 @@ typedef enum {
|
||||
QUAKE2_SETUP,
|
||||
} Quake2State;
|
||||
|
||||
typedef struct OSMesgQueueListNode_t {
|
||||
/* 0x0 */ struct OSMesgQueueListNode_t* next;
|
||||
typedef struct IrqMgrClient_t {
|
||||
/* 0x0 */ struct IrqMgrClient_t* next;
|
||||
/* 0x4 */ OSMesgQueue* queue;
|
||||
} OSMesgQueueListNode; // size = 0x8
|
||||
} IrqMgrClient; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ OSScMsg verticalRetraceMesg;
|
||||
@@ -1385,7 +1383,7 @@ typedef struct {
|
||||
/* 0x060 */ OSMesgQueue irqQueue;
|
||||
/* 0x078 */ OSMesg irqBuffer[8];
|
||||
/* 0x098 */ OSThread thread;
|
||||
/* 0x248 */ OSMesgQueueListNode* callbacks;
|
||||
/* 0x248 */ IrqMgrClient* callbacks;
|
||||
/* 0x24C */ u8 prenmiStage;
|
||||
/* 0x250 */ OSTime lastPrenmiTime;
|
||||
/* 0x258 */ OSTimer prenmiTimer;
|
||||
@@ -1402,7 +1400,7 @@ typedef struct {
|
||||
/* 0x04C */ OSMesgQueue siEventCallbackQueue;
|
||||
/* 0x064 */ OSMesgQueue lock;
|
||||
/* 0x07C */ OSMesgQueue irqmgrCallbackQueue;
|
||||
/* 0x094 */ OSMesgQueueListNode irqmgrCallbackQueueNode;
|
||||
/* 0x094 */ IrqMgrClient irqmgrCallbackQueueNode;
|
||||
/* 0x09C */ IrqMgr* irqmgr;
|
||||
/* 0x0A0 */ OSThread thread;
|
||||
/* 0x250 */ Input input[4];
|
||||
@@ -1413,13 +1411,23 @@ typedef struct {
|
||||
/* 0x47D */ u8 unk47D;
|
||||
/* 0x47E */ u8 hasStopped;
|
||||
/* 0x47F */ UNK_TYPE1 pad47F[0x1];
|
||||
} PadmgrThreadStruct; // size = 0x480
|
||||
} PadMgr; // size = 0x480
|
||||
|
||||
#define OS_SC_NEEDS_RDP 0x0001
|
||||
#define OS_SC_NEEDS_RSP 0x0002
|
||||
#define OS_SC_DRAM_DLIST 0x0004
|
||||
#define OS_SC_PARALLEL_TASK 0x0010
|
||||
#define OS_SC_LAST_TASK 0x0020
|
||||
#define OS_SC_SWAPBUFFER 0x0040
|
||||
|
||||
#define OS_SC_RCP_MASK 0x0003
|
||||
#define OS_SC_TYPE_MASK 0x0007
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ OSMesgQueue unk0;
|
||||
/* 0x018 */ UNK_TYPE4 unk18[64];
|
||||
/* 0x118 */ OSMesgQueue unk118;
|
||||
/* 0x130 */ UNK_TYPE4 unk130[8];
|
||||
/* 0x000 */ OSMesgQueue interruptQ;
|
||||
/* 0x018 */ OSMesg intMsgBuf[64];
|
||||
/* 0x118 */ OSMesgQueue cmdQ;
|
||||
/* 0x130 */ OSMesg cmdMsgBuf[8];
|
||||
/* 0x150 */ OSThread thread;
|
||||
/* 0x300 */ UNK_TYPE4 unk300;
|
||||
/* 0x304 */ UNK_TYPE4 unk304;
|
||||
@@ -1433,23 +1441,8 @@ typedef struct {
|
||||
/* 0x324 */ UNK_TYPE4 unk324;
|
||||
/* 0x328 */ UNK_TYPE1 pad328[0x7];
|
||||
/* 0x32F */ s8 unk32F;
|
||||
/* 0x330 */ OSMesgQueueListNode unk330;
|
||||
} SchedThreadStruct; // size = 0x338
|
||||
|
||||
struct AudioThreadStruct {
|
||||
/* 0x000 */ IrqMgr* irqmgr;
|
||||
/* 0x004 */ SchedThreadStruct* sched;
|
||||
/* 0x008 */ UNK_TYPE1 pad8[0x58];
|
||||
/* 0x060 */ UNK_TYPE4 unk60;
|
||||
/* 0x064 */ OSMesgQueue irqQueue;
|
||||
/* 0x07C */ OSMesg irqBuffer[30];
|
||||
/* 0x0F4 */ OSMesgQueue unkF4;
|
||||
/* 0x10C */ UNK_TYPE4 unk10C;
|
||||
/* 0x110 */ OSMesgQueue initDoneCallback;
|
||||
/* 0x128 */ OSMesg initDoneCallbackMsgBuffer[1];
|
||||
/* 0x12C */ UNK_TYPE1 pad12C[0x4];
|
||||
/* 0x130 */ OSThread thread;
|
||||
}; // size = 0x2E0
|
||||
/* 0x330 */ IrqMgrClient irqClient;
|
||||
} SchedContext; // size = 0x338
|
||||
|
||||
typedef struct StackEntry_t {
|
||||
/* 0x00 */ struct StackEntry_t* next;
|
||||
@@ -1485,6 +1478,32 @@ struct ActorListEntry {
|
||||
/* 0x8 */ UNK_TYPE1 pad8[0x4];
|
||||
}; // size = 0xC
|
||||
|
||||
#define OS_SC_RETRACE_MSG 1
|
||||
#define OS_SC_DONE_MSG 2
|
||||
#define OS_SC_NMI_MSG 3 // name is made up, 3 is OS_SC_RDP_DONE_MSG in the original sched.c
|
||||
#define OS_SC_PRE_NMI_MSG 4
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ OSTask task;
|
||||
/* 0x0040 */ OSMesgQueue* taskQueue;
|
||||
/* 0x0044 */ char unk_44[0xC];
|
||||
} AudioTask; // size = 0x50
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ IrqMgr* irqMgr;
|
||||
/* 0x004 */ SchedContext* sched;
|
||||
/* 0x008 */ OSScTask audioTask;
|
||||
/* 0x060 */ AudioTask* rspTask;
|
||||
/* 0x064 */ OSMesgQueue interruptMsgQ;
|
||||
/* 0x07C */ OSMesg interruptMsgBuf[30];
|
||||
/* 0x0F4 */ OSMesgQueue cmdQ;
|
||||
/* 0x10C */ OSMesg cmdMsgBuf[1];
|
||||
/* 0x110 */ OSMesgQueue lockMsgQ;
|
||||
/* 0x128 */ OSMesg lockMsgBuf[1];
|
||||
/* 0x12C */ UNK_TYPE1 pad_12C[0x4];
|
||||
/* 0x130 */ OSThread thread;
|
||||
} AudioMgr; // size = 0x2E0
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ MtxF displayMatrix;
|
||||
/* 0x40 */ Actor* actor;
|
||||
|
||||
Reference in New Issue
Block a user