From 35eb22813a8e4800064bd6f5dc793402d43bc16d Mon Sep 17 00:00:00 2001 From: rozlette Date: Thu, 19 Sep 2019 22:25:57 -0500 Subject: [PATCH] Add a couple of symbols --- functions.py | 10 +++------ include/functions.h | 26 ++++++++++----------- include/structs.h | 6 +++++ include/variables.h | 55 ++++++++++++++++++++++++--------------------- variables.py | 7 ++++++ 5 files changed, 59 insertions(+), 45 deletions(-) diff --git a/functions.py b/functions.py index ee34e1a9c5..7a462c25d0 100644 --- a/functions.py +++ b/functions.py @@ -131,8 +131,8 @@ known_funcs = { 0x8008EDE0:("osUnmapTLBAll","void","void"), 0x8008EE30:("osEPiStartDma","s32","OSPiHandle* pihandle, OSIoMesg* mb, s32 direction"), 0x8008F1A0:("strchr","unsigned char*","const unsigned char* s, int c"), - 0x8008F1E0:("strlen","size_t","const unsigned char* s"), # unsigned int == size_t - 0x8008F208:("memcpy","void*","void* s1, const void* s2, size_t n"), # unsigned int == size_t + 0x8008F1E0:("strlen","size_t","const unsigned char* s"), + 0x8008F208:("memcpy","void*","void* s1, const void* s2, size_t n"), 0x8008F240:("osCreateMesgQueue","void","OSMesgQueue* mq, OSMesg* msg, s32 msgCount"), 0x8008F270:("osInvalICache","void","void* vaddr, s32 nbytes"), 0x8008F2F0:("osInvalDCache","void","void* vaddr, s32 nbytes"), @@ -204,10 +204,6 @@ known_funcs = { 0x80096510:("__osSpSetPc","s32","u32 data"), 0x80096820:("func_80096820","UNK_RET","UNK_TYPE"), 0x800968B0:("func_800968B0","u32","const u8*, const u8*"), - 0x80097540:("osViModeNtscHpf1","UNK_RET","UNK_ARGS"), - 0x80097eb0:("osViModeNtscHpn1","UNK_RET","UNK_ARGS"), - 0x80097fc0:("osViModeNtscLan1","UNK_RET","UNK_ARGS"), - 0x80098010:("osViModeMpalLan1","UNK_RET","UNK_ARGS"), #0x800991a0:("__osRcpImTable","UNK_RET","UNK_ARGS"), TODO this is definitely actually a variable #0x80099450:("__libm_qnan_f","UNK_RET","UNK_ARGS"), TODO this is definitely actually a variable 0x800A5AC0:("func_800A5AC0","UNK_RET","void*, UNK_TYPE"), # guessing this is void* bc it's a thread entry point @@ -322,7 +318,7 @@ known_funcs = { 0x801660B8:("func_801660B8","u32*","z_GlobalContext*, u32*, UNK_TYPE"), 0x8016A01C:("func_8016A01C","s32","z_GlobalContext*"), 0x80172AC8:("func_80172AC8","void*","UNK_PTR, u32"), - 0x80174BF0:("func_80174BF0","UNK_RET","UNK_TYPE"), + 0x80174BF0:("func_80174BF0","void","void* a0"), 0x801795C0:("func_801795C0","f32","f32"), 0x8017A6D4:("func_8017A6D4","f32","z_Vector3D*"), 0x80180100:("func_80180100","UNK_TYPE","f32, f32"), diff --git a/include/functions.h b/include/functions.h index 77c8bcf936..143453c9dd 100644 --- a/include/functions.h +++ b/include/functions.h @@ -35,8 +35,8 @@ void func_80080E00(void); // func_80080E00 // UNK_RET func_80080ED0(UNK_ARGS); // UNK_RET func_80080FF0(UNK_ARGS); // UNK_RET func_80081178(UNK_ARGS); -// UNK_RET func_80081250(UNK_ARGS); -// UNK_RET func_800812DC(UNK_ARGS); +UNK_RET func_80081250(UNK_PTR, UNK_PTR, UNK_PTR); +UNK_RET func_800812DC(UNK_PTR, UNK_PTR); // UNK_RET func_80081368(UNK_ARGS); // UNK_RET func_800813B8(UNK_ARGS); // UNK_RET func_8008141C(UNK_ARGS); @@ -98,7 +98,7 @@ UNK_RET func_80081CA4(UNK_PTR); // func_80081CA4 // UNK_RET func_800837E4(UNK_ARGS); // UNK_RET func_80083828(UNK_ARGS); // UNK_RET func_80083B70(UNK_ARGS); -// UNK_RET func_80083BC4(UNK_ARGS); +void func_80083BC4(void); // UNK_RET func_80083CF8(UNK_ARGS); // UNK_RET func_80083DF4(UNK_ARGS); UNK_RET func_80083E4C(UNK_TYPE*, UNK_TYPE); // func_80083E4C @@ -2187,8 +2187,8 @@ void func_80102CE0(void*); // func_80102CE0 // UNK_RET func_8010BEF0(UNK_ARGS); // UNK_RET func_8010BF24(UNK_ARGS); // UNK_RET func_8010BF58(UNK_ARGS); -// UNK_RET func_8010C0C0(UNK_ARGS); -// UNK_RET func_8010C164(UNK_ARGS); +void func_8010C0C0(void); +void func_8010C164(void); // UNK_RET func_8010C1B0(UNK_ARGS); // UNK_RET func_8010C230(UNK_ARGS); // UNK_RET func_8010C2D0(UNK_ARGS); @@ -3414,8 +3414,8 @@ void* func_80172AC8(UNK_PTR, u32); // func_80172AC8 // UNK_RET func_80172C68(UNK_ARGS); // UNK_RET func_80172EAC(UNK_ARGS); // UNK_RET func_80172ED0(UNK_ARGS); -// UNK_RET func_80173048(UNK_ARGS); -// UNK_RET func_80173074(UNK_ARGS); +UNK_RET func_80173048(UNK_PTR); +UNK_RET func_80173074(UNK_PTR, UNK_PTR, UNK_TYPE, UNK_TYPE, UNK_PTR, UNK_PTR); // UNK_RET func_80173130(UNK_ARGS); // UNK_RET func_801732DC(UNK_ARGS); // UNK_RET func_8017332C(UNK_ARGS); @@ -3453,14 +3453,14 @@ void* func_80172AC8(UNK_PTR, u32); // func_80172AC8 // UNK_RET func_801744AC(UNK_ARGS); // UNK_RET func_801744F8(UNK_ARGS); // UNK_RET func_80174868(UNK_ARGS); -// UNK_RET func_801748A0(UNK_ARGS); +UNK_RET func_801748A0(UNK_ARGS); // UNK_RET func_80174A40(UNK_ARGS); // UNK_RET func_80174A4C(UNK_ARGS); // UNK_RET func_80174A64(UNK_ARGS); // UNK_RET func_80174AA0(UNK_ARGS); // UNK_RET func_80174B20(UNK_ARGS); // UNK_RET func_80174BA0(UNK_ARGS); -UNK_RET func_80174BF0(UNK_TYPE); // func_80174BF0 +void func_80174BF0(void* a0); // func_80174BF0 // UNK_RET func_80174F10(UNK_ARGS); // UNK_RET func_80174F24(UNK_ARGS); // UNK_RET func_80174F44(UNK_ARGS); @@ -3488,7 +3488,7 @@ UNK_RET func_80174BF0(UNK_TYPE); // func_80174BF0 // UNK_RET func_80175F98(UNK_ARGS); // UNK_RET func_80175FD4(UNK_ARGS); // UNK_RET func_80176010(UNK_ARGS); -// UNK_RET func_80176194(UNK_ARGS); +UNK_RET func_80176194(UNK_PTR, UNK_PTR, UNK_TYPE, UNK_TYPE, UNK_PTR); // UNK_RET func_80176280(UNK_ARGS); // UNK_RET func_80176314(UNK_ARGS); // UNK_RET func_80176364(UNK_ARGS); @@ -3517,7 +3517,7 @@ UNK_RET func_80174BF0(UNK_TYPE); // func_80174BF0 // UNK_RET func_801771F8(UNK_ARGS); // UNK_RET func_80177208(UNK_ARGS); // UNK_RET func_80177218(UNK_ARGS); -// UNK_RET func_801772A0(UNK_ARGS); +UNK_RET func_801772A0(UNK_PTR, UNK_PTR, UNK_TYPE, UNK_TYPE, UNK_TYPE, UNK_PTR); // UNK_RET func_80177390(UNK_ARGS); // UNK_RET func_801773A0(UNK_ARGS); // UNK_RET func_801773C4(UNK_ARGS); @@ -3546,8 +3546,8 @@ UNK_RET func_80174BF0(UNK_TYPE); // func_80174BF0 // UNK_RET func_80179090(UNK_ARGS); // UNK_RET func_8017910C(UNK_ARGS); // UNK_RET func_801791CC(UNK_ARGS); -// UNK_RET func_80179260(UNK_ARGS); -// UNK_RET func_801792A4(UNK_ARGS); +void func_80179260(void); +void func_801792A4(void); // UNK_RET func_801794EC(UNK_ARGS); // UNK_RET func_80179540(UNK_ARGS); // UNK_RET func_80179594(UNK_ARGS); diff --git a/include/structs.h b/include/structs.h index 75156d794d..39a3fa6098 100644 --- a/include/structs.h +++ b/include/structs.h @@ -310,6 +310,12 @@ typedef struct { s32 size; } z_EffectTableInfo; +typedef struct { + /* 0x0000 */ u8 pad0[0xD4]; + /* 0x00D4 */ u16 unkD4; + /* 0x00D6 */ u8 pad1[0x14FE]; +} z_StaticContext; + // TODO everything past here should be placed in an appropiate libultra header diff --git a/include/variables.h b/include/variables.h index c4498019d8..24a7b78571 100644 --- a/include/variables.h +++ b/include/variables.h @@ -3437,9 +3437,9 @@ extern f32 D_801D1508; // D_801D1508 //extern UNK_TYPE D_801D150C; //extern UNK_TYPE D_801D1510; //extern UNK_TYPE D_801D1514; -//extern UNK_TYPE D_801D1520; -//extern UNK_TYPE D_801D1524; -//extern UNK_TYPE D_801D1528; +extern u32 D_801D1520; +extern u32 D_801D1524; +extern u32 D_801D1528; //extern UNK_TYPE D_801D1530; //extern UNK_TYPE D_801D1534; //extern UNK_TYPE D_801D1538; @@ -4440,10 +4440,10 @@ extern f32 D_801DDA84; // D_801DDA84 //extern UNK_TYPE D_801DFD40; //extern UNK_TYPE D_801DFD50; //extern UNK_TYPE D_801DFD5C; -//extern UNK_TYPE D_801DFD70; -//extern UNK_TYPE D_801DFD78; -//extern UNK_TYPE D_801DFD80; -//extern UNK_TYPE D_801DFD88; +extern UNK_TYPE D_801DFD70; +extern UNK_TYPE D_801DFD78; +extern UNK_TYPE D_801DFD80; +extern UNK_TYPE D_801DFD88; //extern UNK_TYPE D_801DFD90; //extern UNK_TYPE D_801DFD9C; //extern UNK_TYPE D_801DFDA8; @@ -5041,7 +5041,7 @@ extern u8 D_801EF677; // D_801EF677 //extern UNK_TYPE D_801F3F3A; //extern UNK_TYPE D_801F3F3B; //extern UNK_TYPE D_801F3F3C; -//extern UNK_TYPE D_801F3F60; +extern z_StaticContext* staticContext; //extern UNK_TYPE D_801F3F70; //extern UNK_TYPE D_801F3F80; //extern UNK_TYPE D_801F3F83; @@ -5204,8 +5204,8 @@ extern u8 D_801EF677; // D_801EF677 //extern UNK_TYPE D_801F80F8; //extern UNK_TYPE D_801F8150; //extern UNK_TYPE D_801F8154; -//extern UNK_TYPE D_801F8160; -//extern UNK_TYPE D_801F8178; +extern OSMesgQueue D_801F8160; +extern OSMesg D_801F8178[]; extern UNK_TYPE D_801F8180[]; // D_801F8180 //extern UNK_TYPE D_801F8188; //extern UNK_TYPE D_801F818C; @@ -5217,21 +5217,21 @@ extern UNK_TYPE D_801F8180[]; // D_801F8180 //extern UNK_TYPE D_801F81A8; //extern UNK_TYPE D_801F81B8; //extern UNK_TYPE D_801F81BC; -//extern UNK_TYPE D_801F81C0; +extern UNK_TYPE D_801F81C0; //extern UNK_TYPE D_801F82D8; -//extern UNK_TYPE D_801F84F8; -//extern UNK_TYPE D_801F8500; -//extern UNK_TYPE D_801F8518; -//extern UNK_TYPE D_801F8608; -//extern UNK_TYPE D_801F87B8; -//extern UNK_TYPE D_801F9FB8; -//extern UNK_TYPE D_801FA5B8; -//extern UNK_TYPE D_801FADB8; -//extern UNK_TYPE D_801FB2B8; -//extern UNK_TYPE D_801FB2D8; -//extern UNK_TYPE D_801FB2F8; -//extern UNK_TYPE D_801FB318; -//extern UNK_TYPE D_801FB338; +extern UNK_TYPE D_801F84F8; +extern OSMesgQueue D_801F8500; +extern OSMesg D_801F8518[]; +extern OSThread D_801F8608; +extern UNK_TYPE D_801F87B8; +extern UNK_TYPE D_801F9FB8; +extern UNK_TYPE D_801FA5B8; +extern UNK_TYPE D_801FADB8; +extern s80085320 D_801FB2B8; +extern s80085320 D_801FB2D8; +extern s80085320 D_801FB2F8; +extern s80085320 D_801FB318; +extern UNK_TYPE D_801FB338; //extern UNK_TYPE D_801FBAA0; //extern UNK_TYPE D_801FBAB0; //extern UNK_TYPE D_801FBAB4; @@ -5615,7 +5615,8 @@ extern UNK_TYPE D_80208EA0; // D_80208EA0 //extern UNK_TYPE D_80209AA0; //extern UNK_TYPE D_80209EA0; //extern UNK_TYPE D_8024A4C0; -//extern UNK_TYPE D_80780000; +extern UNK_TYPE D_803824C0; +extern UNK_TYPE D_80780000; //extern UNK_TYPE D_80784600; //extern UNK_TYPE D_807DA800; //extern UNK_TYPE D_80800860; @@ -15568,6 +15569,10 @@ extern UNK_PTR D_800980D0_; extern UNK_TYPE D_80099AD0_; extern UNK_TYPE D_8009A670_; extern UNK_TYPE D_8009B140_; +extern UNK_TYPE D_801FA5B8_; +extern UNK_TYPE D_801FADB8_; +extern UNK_TYPE D_801FB2B8_; +extern UNK_TYPE D_801F9FB8_; extern (*D_801BE960[12])(u8*, z_ActorCompInitEntry*); #endif diff --git a/variables.py b/variables.py index 8cef013f6d..38e0333718 100644 --- a/variables.py +++ b/variables.py @@ -160,6 +160,8 @@ known_vars = { 0x801C2079:("D_801C2079","u8",False), 0x801C207E:("D_801C207E","u8",False), 0x801D1508:("D_801D1508","f32",False), + 0x801D1520:("D_801D1520","u32",False), + 0x801D1524:("D_801D1524","u32",False), 0x801DBE68:("D_801DBE68","f32",False), 0x801DBE6C:("D_801DBE6C","f32",False), 0x801DBE70:("D_801DBE70","f32",False), @@ -195,8 +197,13 @@ known_vars = { 0x801ED940:("","UNK_TYPE",False), 0x801EF670:("D_801EF670","u8",False), # save info/link struct? 0x801EF677:("D_801EF677","u8",False), # part of save info/link struct? + 0x801F3F60:("staticContext","z_StaticContext*",False), + 0x801F3F60:("D_801F8160","OSMesgQueue",False), + 0x801F3F60:("D_801F8178","OSMesg",True), 0x801F8180:("D_801F8180","UNK_TYPE",True), 0x80208EA0:("","UNK_TYPE",False), + 0x803824C0:("D_803824C0","UNK_TYPE",False), # heap start + 0x80780000:("D_80780000","UNK_TYPE",False), # heap end # En_Test 0x808637D0:("","f32",False),