summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPrakxo <87568477+Prakxo@users.noreply.github.com>2023-12-12 15:27:09 +0100
committerGitHub <noreply@github.com>2023-12-12 07:27:09 -0700
commit04cc631dab3ced789439df3bd05f42296b194f7e (patch)
treeeba7e000500d9851b8bf14102bfa9a85e28ebc92 /include
parent57efce4a9b79b5124bab722a3413f426acf8f8e6 (diff)
Audiomgr OK (#126)
* audiomgr work * audiomgr OK * format * remove comment * review
Diffstat (limited to 'include')
-rw-r--r--include/6FB340.h4
-rw-r--r--include/71A140.h13
-rw-r--r--include/audio.h5
-rw-r--r--include/audioMgr.h31
-rw-r--r--include/audio_load.h3
-rw-r--r--include/code_variables.h22
-rw-r--r--include/fault.h5
-rw-r--r--include/graph.h1
-rw-r--r--include/segment_symbols.h4
-rw-r--r--include/z_std_dma.h2
10 files changed, 66 insertions, 24 deletions
diff --git a/include/6FB340.h b/include/6FB340.h
index 108324a..834942b 100644
--- a/include/6FB340.h
+++ b/include/6FB340.h
@@ -20,8 +20,8 @@
// void func_800D81B4_jp();
// void func_800D82BC_jp();
// void func_800D8500_jp();
-// void func_800D85EC_jp();
-// void func_800D8618_jp();
+void func_800D85EC_jp(void);
+void func_800D8618_jp(void);
// void func_800D8644_jp();
// void func_800D8670_jp();
// void func_800D87C0_jp();
diff --git a/include/71A140.h b/include/71A140.h
index 9cb962e..2776b78 100644
--- a/include/71A140.h
+++ b/include/71A140.h
@@ -2,6 +2,15 @@
#define C_71A140_H
#include "ultra64.h"
+#include "other_types.h"
+
+typedef struct AudioTask {
+ /* 0x00 */ OSTask task;
+ /* 0x40 */ OSMesgQueue* taskQueue;
+ /* 0x44 */ void* unk_44; // probably a message that gets unused.
+ /* 0x48 */ char unk_48[0x8];
+} AudioTask; // size = 0x50
+
// void func_800F64A0_jp();
// void func_800F65F4_jp();
@@ -43,8 +52,8 @@
// void func_800F8848_jp();
// void func_800F8850_jp();
// void func_800F88BC_jp();
-// void func_800F88E8_jp();
-void func_800F8984_jp(void);
+void func_800F88E8_jp(void*,void*, RomOffset, RomOffset, RomOffset);
+void* func_800F8984_jp(void);
void Na_GameFrame(void);
void func_800F8B2C_jp(void);
void Na_SoftReset(void);
diff --git a/include/audio.h b/include/audio.h
index 261ec48..d87b24c 100644
--- a/include/audio.h
+++ b/include/audio.h
@@ -3,6 +3,7 @@
#include "ultra64.h"
#include "game.h"
+#include "z_std_dma.h"
struct xyz_t;
@@ -12,7 +13,7 @@ void sAdo_Calc_MicPosition_common(f32* distanceVal, u16* angleVal, struct xyz_t*
void sAdo_Calc_MicPosition_forTrig(f32* distanceVal, u16* angleVal, struct xyz_t* pos);
void sAdo_Calc_MicPosition_forLevel(f32* distanceVal, u16* angleVal, struct xyz_t* pos);
void sAdo_GameFrame(void);
-void func_800D19BC_jp(void);
+void* func_800D19BC_jp(void);
void func_800D19DC_jp(void);
void sAdo_BgmStart(u8 id);
void sAdo_BgmStop(u16 id);
@@ -55,7 +56,7 @@ void sAdo_SubGameStart(void);
void sAdo_SubGameEnd(void);
s32 sAdo_SubGameOK(void);
void sAdo_Tenki(u8 mode);
-void func_800D213C_jp(void);
+void func_800D213C_jp(DmaHandler handler);
void sAdos_KishaStatusTrg(u8 state);
void sAdos_KishaStatusLevel(f32 arg0, s32 arg1, f32 arg2, u16 arg3, s32 arg4, f32 arg5, u16 arg6);
s32 func_800D21CC_jp(void* arg0);
diff --git a/include/audioMgr.h b/include/audioMgr.h
index 5732847..faffd58 100644
--- a/include/audioMgr.h
+++ b/include/audioMgr.h
@@ -2,6 +2,31 @@
#define AUDIOMGR_H
#include "ultra64.h"
+#include "sched.h"
+#include "unk.h"
+#include "71A140.h"
+
+struct Irqmgr;
+struct SchedContext;
+
+typedef struct Audiomgr {
+ /* 0x000 */ struct Irqmgr* irqMgr;
+ /* 0x004 */ struct SchedContext* sched;
+ /* 0x008 */ OSScTask audioTask;
+ /* 0x060 */ AudioTask* rspTask;
+ /* 0x064 */ OSMesgQueue interruptQueue;
+ /* 0x07C */ OSMesg interruptMsgBuf[8];
+ /* 0x09C */ OSMesgQueue cmdQueue;
+ /* 0x0B4 */ OSMesg cmdMsgBuf[1];
+ /* 0x0B8 */ OSMesgQueue lockQueue;
+ /* 0x0D0 */ OSMesg lockMsgBuf[1];
+ /* 0x0D4 */ UNK_TYPE1 unk_D4[0x4];
+ /* 0x0D8 */ OSThread thread;
+ /* 0x288 */ UNK_TYPE1 unk_288[2];
+ /* 0x28A */ u8 unk_28A;
+ /* 0x28B */ u8 unk_28B;
+} Audiomgr; //size = 0x290
+
// void func_800D2590_jp();
// void func_800D25D0_jp();
@@ -12,4 +37,10 @@
// void func_800D2B94_jp();
// void func_800D2BEC_jp();
+extern Audiomgr* audiomgr_class_p;
+extern Audiomgr audiomgr_class;
+extern s32 B_80144FB8_jp;
+
+
+
#endif
diff --git a/include/audio_load.h b/include/audio_load.h
index 82abd53..c32afb5 100644
--- a/include/audio_load.h
+++ b/include/audio_load.h
@@ -2,6 +2,7 @@
#define AUDIO_LOAD_H
#include "ultra64.h"
+#include "z_std_dma.h"
// void func_800E9FF0_jp();
// void func_800EA0DC_jp();
@@ -45,7 +46,7 @@
// void func_800EBB90_jp();
// void func_800EBBB0_jp();
// void func_800EBF3C_jp();
-void func_800EBF6C_jp(void);
+void func_800EBF6C_jp(DmaHandler);
// void func_800EBF78_jp();
// void func_800EBF84_jp();
// void func_800EBF90_jp();
diff --git a/include/code_variables.h b/include/code_variables.h
index b65cb79..e30a813 100644
--- a/include/code_variables.h
+++ b/include/code_variables.h
@@ -792,7 +792,7 @@ extern vs32 D_8010EFB0_jp; // TODO: Determine where this goes
// extern UNK_TYPE D_8010F3DC_jp;
// extern UNK_TYPE D_8010F3E0_jp;
// extern UNK_TYPE D_8010F3E4_jp;
-// extern UNK_TYPE D_8010F3E8_jp;
+extern u8 D_8010F3E8_jp;
// extern UNK_TYPE D_8010F3F0_jp;
// extern UNK_TYPE D_8010F3F4_jp;
// extern UNK_TYPE D_8010F400_jp;
@@ -869,7 +869,7 @@ extern MtxF MtxF_clear;
// extern UNK_TYPE D_80113844_jp;
// extern UNK_TYPE D_80113848_jp;
// extern UNK_TYPE D_8011384C_jp;
-// extern UNK_TYPE D_80113854_jp;
+extern u8 D_80113854_jp;
// extern UNK_TYPE D_80113858_jp;
// extern UNK_TYPE D_8011385C_jp;
// extern UNK_TYPE D_80113860_jp;
@@ -1488,8 +1488,6 @@ extern MtxF MtxF_clear;
// extern UNK_TYPE RO_80117DEC_jp;
// extern UNK_TYPE RO_80117E54_jp;
// extern UNK_TYPE RO_80117E5C_jp;
-// extern UNK_TYPE RO_STR_80117E70_jp;
-// extern UNK_TYPE RO_STR_80117E90_jp;
// extern UNK_TYPE RO_STR_80117EB0_jp;
// extern UNK_TYPE RO_STR_80117EB8_jp;
// extern UNK_TYPE RO_STR_80117EC0_jp;
@@ -1943,22 +1941,16 @@ extern MtxF MtxF_clear;
// extern UNK_TYPE B_80144D04_jp;
// extern UNK_TYPE B_80144D0C_jp;
// extern UNK_TYPE B_80144D14_jp;
-// extern UNK_TYPE gAudioMgrP;
-// extern UNK_TYPE audioMgr;
-// extern UNK_TYPE B_80144E00_jp;
-// extern UNK_TYPE B_80144FB2_jp;
-// extern UNK_TYPE B_80144FB3_jp;
-// extern UNK_TYPE B_80144FB8_jp;
// extern UNK_TYPE B_80144FC0_jp;
// extern UNK_TYPE B_80145014_jp;
// extern UNK_TYPE B_80145060_jp;
// extern UNK_TYPE B_80145070_jp;
// extern UNK_TYPE B_80145080_jp;
-// extern UNK_TYPE B_80145370_jp;
+extern u8 B_80145370_jp;
// extern UNK_TYPE B_80145390_jp;
// extern UNK_TYPE B_80145610_jp;
-// extern UNK_TYPE B_80145630_jp;
+// extern UNK_TYPE graphThread;
// extern UNK_TYPE B_801457E0_jp;
// extern UNK_TYPE B_80145800_jp;
// extern UNK_TYPE B_80145820_jp;
@@ -1972,7 +1964,7 @@ extern uintptr_t gSegments[NUM_SEGMENTS];
// extern UNK_TYPE B_80145D70_jp;
// extern UNK_TYPE B_80145D80_jp;
-// extern UNK_TYPE B_80145DB8_jp;
+extern OSMesgQueue B_80145DB8_jp;
// extern UNK_TYPE B_80145FD8_jp;
// extern UNK_TYPE B_80145FDC_jp;
// extern UNK_TYPE B_80145FE0_jp;
@@ -1981,8 +1973,8 @@ extern uintptr_t gSegments[NUM_SEGMENTS];
// extern UNK_TYPE B_80145FEC_jp;
// extern UNK_TYPE B_80145FF0_jp;
// extern UNK_TYPE B_80145FF4_jp;
-// extern UNK_TYPE B_80145FF8_jp;
-// extern UNK_TYPE B_80145FFC_jp;
+extern UNK_TYPE B_80145FF8_jp;
+extern UNK_TYPE B_80145FFC_jp;
// extern UNK_TYPE B_80146000_jp;
// extern UNK_TYPE B_80146008_jp;
// extern UNK_TYPE B_80146010_jp;
diff --git a/include/fault.h b/include/fault.h
index 4cf3c51..6cd6e30 100644
--- a/include/fault.h
+++ b/include/fault.h
@@ -76,10 +76,10 @@ void fault_AddressConverterRemoveClient(FaultAddrConvClient* client);
void fault_WaitForInput(void);
void fault_FillScreenBlack(void);
void fault_SetFrameBuffer(void* fb, u16 w, u16 h);
+void fault_DrawStackTrace(OSThread* thread, s32 x, s32 y, s32 height);
void fault_Init(void);
NORETURN void fault_AddHungupAndCrashImpl(const char* exp1, const char* exp2);
NORETURN void fault_AddHungupAndCrash(const char* file, s32 line);
-
void FaultDrawer_SetOsSyncPrintfEnabled(u32 enabled);
void FaultDrawer_DrawRecImpl(s32 xStart, s32 yStart, s32 xEnd, s32 yEnd, u16 color);
void FaultDrawer_SetForeColor(u16 color);
@@ -93,8 +93,9 @@ s32 FaultDrawer_Printf(const char* fmt, ...);
void FaultDrawer_DrawText(s32 x, s32 y, const char* fmt, ...);
void FaultDrawer_SetDrawerFB(void* fb, u16 w, u16 h);
void FaultDrawer_SetInputCallback(void (*callback)(void));
+void FaultDrawer_WritebackFBDCache(void);
void FaultDrawer_Init(void);
-extern FaultMgr gFaultMgr;
+extern FaultMgr fault_class;
#endif
diff --git a/include/graph.h b/include/graph.h
index 210aea4..aa9c46b 100644
--- a/include/graph.h
+++ b/include/graph.h
@@ -4,6 +4,7 @@
#include "ultra64.h"
struct GraphicsContext;
+extern OSThread graphThread;
// void func_800D38E0_jp();
// void graph_setup_double_buffer();
diff --git a/include/segment_symbols.h b/include/segment_symbols.h
index 4e169e0..544c1b7 100644
--- a/include/segment_symbols.h
+++ b/include/segment_symbols.h
@@ -55,6 +55,10 @@ DECLARE_SEGMENT(boot);
DECLARE_SEGMENT(dmadata);
+DECLARE_SEGMENT(segment_027130);
+
+DECLARE_SEGMENT(segment_13D9A0);
+
// DECLARE_SEGMENT();
DECLARE_SEGMENT(code);
diff --git a/include/z_std_dma.h b/include/z_std_dma.h
index a047ddd..31980a0 100644
--- a/include/z_std_dma.h
+++ b/include/z_std_dma.h
@@ -7,6 +7,8 @@
#include "other_types.h"
#include "unk.h"
+typedef s32 (*DmaHandler)(OSPiHandle* handle, OSIoMesg* mb, s32 direction);
+
typedef struct DmaRequest {
/* 0x00 */ RomOffset vrom;
/* 0x04 */ void* vram;