diff options
| author | Prakxo <87568477+Prakxo@users.noreply.github.com> | 2023-12-12 15:27:09 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-12-12 07:27:09 -0700 |
| commit | 04cc631dab3ced789439df3bd05f42296b194f7e (patch) | |
| tree | eba7e000500d9851b8bf14102bfa9a85e28ebc92 /include | |
| parent | 57efce4a9b79b5124bab722a3413f426acf8f8e6 (diff) | |
Audiomgr OK (#126)
* audiomgr work
* audiomgr OK
* format
* remove comment
* review
Diffstat (limited to 'include')
| -rw-r--r-- | include/6FB340.h | 4 | ||||
| -rw-r--r-- | include/71A140.h | 13 | ||||
| -rw-r--r-- | include/audio.h | 5 | ||||
| -rw-r--r-- | include/audioMgr.h | 31 | ||||
| -rw-r--r-- | include/audio_load.h | 3 | ||||
| -rw-r--r-- | include/code_variables.h | 22 | ||||
| -rw-r--r-- | include/fault.h | 5 | ||||
| -rw-r--r-- | include/graph.h | 1 | ||||
| -rw-r--r-- | include/segment_symbols.h | 4 | ||||
| -rw-r--r-- | include/z_std_dma.h | 2 |
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; |
