Add more function and variable documentation

This commit is contained in:
rozlette 2018-11-13 22:13:33 -06:00
parent 6e19e97a8a
commit 53b1539754
5 changed files with 117 additions and 36 deletions

View File

@ -40,6 +40,8 @@ known_funcs = {
0x8008439C:("func_8008439C","UNK_RET","UNK_TYPE, UNK_TYPE"),
0x800847CC:("func_800847CC","UNK_RET","UNK_PTR, ..."), # printf?
0x8008481C:("func_8008481C","UNK_RET","UNK_TYPE, UNK_TYPE, UNK_PTR, UNK_PTR"),
0x80084940:("func_80084940","void","void"),
0x80084968:("func_80084968","void","void"),
0x80085320:("func_80085320","void","struct s80085320*, UNK_PTR, UNK_PTR, UNK_TYPE, UNK_TYPE, UNK_PTR"),
0x800853F8:("func_800853F8","UNK_RET","struct s80085320*"),
0x80085468:("func_80085468","UNK_TYPE","struct s80085320*"),
@ -108,7 +110,7 @@ known_funcs = {
0x8008AF30:("osGetThreadId","OSId","OSThread* t"),
0x8008AF50:("osSpTaskYield","void","void"),
0x8008B650:("func_8008B650","UNK_RET","UNK_PTR"),
0x8008B6B0:("__osGetConfig","u32 ","void "),
0x8008B6B0:("__osGetConfig","u32 ","void"),
0x8008B6C0:("__osSetConfig","void ","u32 value"),
0x8008BE70:("osStopTimer","int","OSTimer* t"),
0x8008BF60:("__osProbeTLB","u32","void*"),
@ -178,7 +180,7 @@ known_funcs = {
0x80094DF0:("ldiv","ldiv_t","long numer, long denom"),
0x80094E74:("lldiv","lldiv_t","long long numer, long long denom"),
0x80094F80:("_Litob","void","_Pft* px, unsigned char code"),
0x80095220:("__osSiRawWriteIo","s32","u32 devAddr, u32* data"),
0x80095220:("__osSiRawWriteIo","s32","u32 devAddr, u32 data"),
0x80095270:("__osSpGetStatus","u32","void"),
0x80095280:("__osSpSetStatus","void","u32 data"),
0x800952A0:("osCreateViManager","void","OSPri pri"),
@ -187,8 +189,8 @@ known_funcs = {
0x800955C0:("osWritebackDCacheAll","void","void"),
0x80095740:("guMtxF2L","void","float* mf[4], Mtx* m"),
0x800957B0:("osStartThread","void","OSThread* t"),
0x80095900:("func_80095900","void","f32"),
0x80095950:("func_80095950","UNK_RET","f32"),
0x80095900:("osViSetYScale","void","f32"),
0x80095950:("osViSetXScale","void","f32"),
0x80095A60:("__d_to_ll","long long","double d"),
0x80095A7C:("__f_to_ll","long long","float f"),
0x80095A98:("__d_to_ull","unsigned long long","double d"),
@ -207,18 +209,20 @@ known_funcs = {
0x800991a0:("__osRcpImTable","UNK_RET","UNK_ARGS"),
0x80099450:("__libm_qnan_f","UNK_RET","UNK_ARGS"),
0x800A5AC0:("func_800A5AC0","UNK_RET","void*, UNK_TYPE"), # guessing this is void* bc it's a thread entry point
0x800A5B6C:("func_800A5B6C","UNK_RET","struct s800A5AC0*, UNK_TYPE"),
0x800A5B6C:("func_800A5B6C","UNK_RET","struct s800A5AC0*, z_GlobalContext*"),
0x800A5B98:("func_800A5B98","UNK_RET","struct s800A5AC0*, UNK_TYPE"),
0x800A5C28:("func_800A5C28","UNK_RET","struct s800A5AC0*"),
0x800A5C60:("func_800A5C60","UNK_RET","struct s800A5AC0*, UNK_TYPE"),
0x800A5CB8:("func_800A5CB8","UNK_RET","struct s800A5AC0*, UNK_TYPE"),
0x800B3BA4:("func_800B3BA4","UNK_RET","UNK_PTR, UNK_TYPE, UNK_PTR, UNK_TYPE"),
0x800B3BA4:("func_800B3BA4","UNK_RET","UNK_PTR, f32, UNK_PTR, UNK_TYPE"),
0x800B3FC0:("func_800B3FC0","UNK_TYPE","UNK_TYPE"),
0x800B5BB0:("func_800B5BB0","UNK_TYPE","z_GlobalContext*, UNK_TYPE"),
0x800B675C:("func_800B675C","UNK_RET","struct s800A5AC0*, UNK_TYPE"),
0x800B84D0:("func_800B84D0","UNK_TYPE","struct s800A5AC0*, UNK_TYPE"),
0x800B863C:("func_800B863C","UNK_RET","struct s800A5AC0*, UNK_TYPE"),
0x800B867C:("func_800B867C","UNK_TYPE","struct s800A5AC0*"),
0x800BDFC0:("func_800BDFC0","UNK_RET","UNK_TYPE, UNK_TYPE, UNK_TYPE, struct s800A5AC0*"),
0x800BE03C:("func_800BE03C","void","z_GlobalContext*, UNK_TYPE"),
0x800C6024:("func_800C6024","UNK_TYPE","UNK_TYPE"),
0x800C6248:("func_800C6248","UNK_TYPE","UNK_TYPE, UNK_TYPE"),
0x800CAAD0:("func_800CAAD0","UNK_RET","UNK_TYPE, UNK_TYPE, UNK_TYPE"),
@ -230,11 +234,16 @@ known_funcs = {
0x800CAF38:("func_800CAF38","UNK_RET","UNK_TYPE"),
0x800E03A0:("func_800E03A0","s800E03A0*","s32"),
0x800E03CC:("func_800E03CC","void","u8*"),
0x800E11EC:("func_800E11EC","UNK_RET","UNK_TYPE, UNK_PTR"),
0x800E1374:("func_800E1374","UNK_RET","UNK_TYPE, UNK_PTR, struct s800A5AC0*, UNK_PTR"),
0x800E119C:("func_800E119C","void","z_GlobalContext*, UNK_PTR"),
0x800E11EC:("func_800E11EC","void","z_GlobalContext*, UNK_PTR"),
0x800E130C:("func_800E130C","void","z_GlobalContext*, UNK_PTR, z_Actor*, UNK_PTR"),
0x800E1374:("func_800E1374","UNK_RET","UNK_TYPE, UNK_PTR, z_Actor*, UNK_PTR"),
0x800E2558:("func_800E2558","void","z_GlobalContext*, UNK_PTR, UNK_PTR"),
0x800E2928:("func_800E2928","UNK_RET","UNK_TYPE, UNK_TYPE, UNK_PTR"),
0x800E7DF8:("func_800E7DF8","UNK_RET","struct s800A5AC0*, UNK_PTR"),
0x800FFADC:("func_800FFADC","UNK_RET","struct s800A5AC0*, UNK_PTR"),
0x800E7DF8:("func_800E7DF8","void","z_Actor*, UNK_PTR"),
0x800FFADC:("func_800FFADC","void","z_Actor*, z_ActorCompInitEntry*"), # Compact Instance Initializer
0x80131758:("func_80131758","void","z_GlobalContext*, UNK_TYPE"),
0x80100504:("func_80100504","UNK_TYPE","UNK_TYPE"),
0x80138C88:("func_80138C88","UNK_RET","UNK_PTR, UNK_PTR, UNK_PTR"),
0x80139188:("func_80139188","UNK_TYPE","UNK_PTR, UNK_PTR"),
0x80139894:("func_80139894","UNK_RET","UNK_PTR, UNK_TYPE, UNK_TYPE, UNK_TYPE, UNK_TYPE, UNK_TYPE, UNK_TYPE, f32, f32, f32"),

View File

@ -118,7 +118,8 @@ UNK_RET func_8008481C(UNK_TYPE, UNK_TYPE, UNK_PTR, UNK_PTR); // func_8008481C
// UNK_RET func_8008486C(UNK_ARGS);
// UNK_RET func_800848A4(UNK_ARGS);
// UNK_RET func_800848B8(UNK_ARGS);
// UNK_RET func_80084940(UNK_ARGS);
void func_80084940(void); // func_80084940
void func_80084968(void); // func_80084968
// UNK_RET func_800849A0(UNK_ARGS);
// UNK_RET func_80084DB0(UNK_ARGS);
// UNK_RET func_8008501C(UNK_ARGS);
@ -421,7 +422,7 @@ UNK_RET func_80094828(UNK_ARGS); // func_80094828
ldiv_t ldiv(long numer, long denom); // func_80094DF0
lldiv_t lldiv(long long numer, long long denom); // func_80094E74
void _Litob(_Pft* px, unsigned char code); // func_80094F80
s32 __osSiRawWriteIo(u32 devAddr, u32* data); // func_80095220
s32 __osSiRawWriteIo(u32 devAddr, u32 data); // func_80095220
u32 __osSpGetStatus(void); // func_80095270
void __osSpSetStatus(u32 data); // func_80095280
void osCreateViManager(OSPri pri); // func_800952A0
@ -431,8 +432,8 @@ OSThread* __osGetCurrFaultedThread(void); // func_800955F0
// UNK_RET func_80095600(UNK_ARGS);
void guMtxF2L(float* mf[4], Mtx* m); // func_80095740
void osStartThread(OSThread* t); // func_800957B0
void func_80095900(f32); // func_80095900
UNK_RET func_80095950(f32); // func_80095950
void osViSetYScale(f32); // func_80095900
void osViSetXScale(f32); // func_80095950
long long __d_to_ll(double d); // func_80095A60
long long __f_to_ll(float f); // func_80095A7C
unsigned long long __d_to_ull(double d); // func_80095A98
@ -458,7 +459,7 @@ UNK_RET osViModeMpalLan1(UNK_ARGS); // func_80098010
UNK_RET __osRcpImTable(UNK_ARGS); // func_800991A0
UNK_RET __libm_qnan_f(UNK_ARGS); // func_80099450
UNK_RET func_800A5AC0(void*, UNK_TYPE); // func_800A5AC0
UNK_RET func_800A5B6C(struct s800A5AC0*, UNK_TYPE); // func_800A5B6C
UNK_RET func_800A5B6C(struct s800A5AC0*, z_GlobalContext*); // func_800A5B6C
UNK_RET func_800A5B98(struct s800A5AC0*, UNK_TYPE); // func_800A5B98
UNK_RET func_800A5C28(struct s800A5AC0*); // func_800A5C28
UNK_RET func_800A5C60(struct s800A5AC0*, UNK_TYPE); // func_800A5C60
@ -684,7 +685,7 @@ UNK_RET func_800A5CB8(struct s800A5AC0*, UNK_TYPE); // func_800A5CB8
// UNK_RET func_800B3880(UNK_ARGS);
// UNK_RET func_800B39A4(UNK_ARGS);
// UNK_RET func_800B3AD0(UNK_ARGS);
UNK_RET func_800B3BA4(UNK_PTR, UNK_TYPE, UNK_PTR, UNK_TYPE); // func_800B3BA4
UNK_RET func_800B3BA4(UNK_PTR, f32, UNK_PTR, UNK_TYPE); // func_800B3BA4
// UNK_RET func_800B3BC8(UNK_ARGS);
UNK_TYPE func_800B3FC0(UNK_TYPE); // func_800B3FC0
// UNK_RET func_800B4024(UNK_ARGS);
@ -702,7 +703,7 @@ UNK_TYPE func_800B3FC0(UNK_TYPE); // func_800B3FC0
// UNK_RET func_800B51A4(UNK_ARGS);
// UNK_RET func_800B5208(UNK_ARGS);
// UNK_RET func_800B5814(UNK_ARGS);
// UNK_RET func_800B5BB0(UNK_ARGS);
UNK_TYPE func_800B5BB0(z_GlobalContext*, UNK_TYPE); // func_800B5BB0
// UNK_RET func_800B5BF4(UNK_ARGS);
// UNK_RET func_800B5C34(UNK_ARGS);
// UNK_RET func_800B5C78(UNK_ARGS);
@ -888,7 +889,7 @@ UNK_TYPE func_800B867C(struct s800A5AC0*); // func_800B867C
// UNK_RET func_800BDC5C(UNK_ARGS);
// UNK_RET func_800BDFB0(UNK_ARGS);
UNK_RET func_800BDFC0(UNK_TYPE, UNK_TYPE, UNK_TYPE, struct s800A5AC0*); // func_800BDFC0
// UNK_RET func_800BE03C(UNK_ARGS);
void func_800BE03C(z_GlobalContext*, UNK_TYPE); // func_800BE03C
// UNK_RET func_800BE0B8(UNK_ARGS);
// UNK_RET func_800BE184(UNK_ARGS);
// UNK_RET func_800BE22C(UNK_ARGS);
@ -1380,11 +1381,11 @@ void func_800E03CC(u8*); // func_800E03CC
// UNK_RET func_800E110C(UNK_ARGS);
// UNK_RET func_800E1148(UNK_ARGS);
// UNK_RET func_800E115C(UNK_ARGS);
// UNK_RET func_800E119C(UNK_ARGS);
UNK_RET func_800E11EC(UNK_TYPE, UNK_PTR); // func_800E11EC
void func_800E119C(z_GlobalContext*, UNK_PTR); // func_800E119C
void func_800E11EC(z_GlobalContext*, UNK_PTR); // func_800E11EC
// UNK_RET func_800E12A4(UNK_ARGS);
// UNK_RET func_800E130C(UNK_ARGS);
UNK_RET func_800E1374(UNK_TYPE, UNK_PTR, struct s800A5AC0*, UNK_PTR); // func_800E1374
void func_800E130C(z_GlobalContext*, UNK_PTR, z_Actor*, UNK_PTR); // func_800E130C
UNK_RET func_800E1374(UNK_TYPE, UNK_PTR, z_Actor*, UNK_PTR); // func_800E1374
// UNK_RET func_800E13C0(UNK_ARGS);
// UNK_RET func_800E1400(UNK_ARGS);
// UNK_RET func_800E1440(UNK_ARGS);
@ -1429,7 +1430,7 @@ UNK_RET func_800E1374(UNK_TYPE, UNK_PTR, struct s800A5AC0*, UNK_PTR); // func_80
// UNK_RET func_800E2450(UNK_ARGS);
// UNK_RET func_800E2470(UNK_ARGS);
// UNK_RET func_800E2480(UNK_ARGS);
// UNK_RET func_800E2558(UNK_ARGS);
void func_800E2558(z_GlobalContext*, UNK_PTR, UNK_PTR); // func_800E2558
// UNK_RET func_800E2740(UNK_ARGS);
UNK_RET func_800E2928(UNK_TYPE, UNK_TYPE, UNK_PTR); // func_800E2928
// UNK_RET func_800E2B98(UNK_ARGS);
@ -1511,7 +1512,7 @@ UNK_RET func_800E2928(UNK_TYPE, UNK_TYPE, UNK_PTR); // func_800E2928
// UNK_RET func_800E7BCC(UNK_ARGS);
// UNK_RET func_800E7C64(UNK_ARGS);
// UNK_RET func_800E7DCC(UNK_ARGS);
UNK_RET func_800E7DF8(struct s800A5AC0*, UNK_PTR); // func_800E7DF8
void func_800E7DF8(z_Actor*, UNK_PTR); // func_800E7DF8
// UNK_RET func_800E7E3C(UNK_ARGS);
// UNK_RET func_800E7E5C(UNK_ARGS);
// UNK_RET func_800E7ECC(UNK_ARGS);
@ -1923,7 +1924,7 @@ UNK_RET func_800E7DF8(struct s800A5AC0*, UNK_PTR); // func_800E7DF8
// UNK_RET func_800FFA4C(UNK_ARGS);
// UNK_RET func_800FFA60(UNK_ARGS);
// UNK_RET func_800FFA94(UNK_ARGS);
UNK_RET func_800FFADC(struct s800A5AC0*, UNK_PTR); // func_800FFADC
void func_800FFADC(z_Actor*, z_ActorCompInitEntry*); // func_800FFADC
// UNK_RET func_800FFB54(UNK_ARGS);
// UNK_RET func_800FFB70(UNK_ARGS);
// UNK_RET func_800FFB8C(UNK_ARGS);
@ -1949,7 +1950,7 @@ UNK_RET func_800FFADC(struct s800A5AC0*, UNK_PTR); // func_800FFADC
// UNK_RET func_8010011C(UNK_ARGS);
// UNK_RET func_801001B8(UNK_ARGS);
// UNK_RET func_80100448(UNK_ARGS);
// UNK_RET func_80100504(UNK_ARGS);
UNK_TYPE func_80100504(UNK_TYPE); // func_80100504
// UNK_RET func_80100584(UNK_ARGS);
// UNK_RET func_801005A0(UNK_ARGS);
// UNK_RET func_801005C0(UNK_ARGS);
@ -2537,7 +2538,7 @@ UNK_RET func_800FFADC(struct s800A5AC0*, UNK_PTR); // func_800FFADC
// UNK_RET func_801311B4(UNK_ARGS);
// UNK_RET func_80131580(UNK_ARGS);
// UNK_RET func_80131690(UNK_ARGS);
// UNK_RET func_80131758(UNK_ARGS);
void func_80131758(z_GlobalContext*, UNK_TYPE); // func_80131758
// UNK_RET func_8013178C(UNK_ARGS);
// UNK_RET func_801317C0(UNK_ARGS);
// UNK_RET func_8013189C(UNK_ARGS);

View File

@ -22,6 +22,7 @@ struct s8008A6FC {
/* 12 */ UNK_TYPE unk12;
};
// TODO this should extend from z_Actor
struct s800A5AC0 {
/* 000 */ u8 pad0[28];
/* 028 */ s16 unk28;
@ -104,6 +105,69 @@ typedef struct s800F4F54_s {
/* 92152 */ u8 unk92152;
} s800F4F54;
typedef struct {
/* 0x0 */ f32 x;
/* 0x4 */ f32 y;
/* 0x8 */ f32 z;
} z_Vector3D;
struct z_Actor;
typedef void(*z_ActorFunc)(struct z_Actor*, void*);
typedef struct {
/* 000 */ u8 pad0[4];
/* 004 */ UNK_TYPE unk4;
/* 008 */ u8 pad1[20];
/* 028 */ s16 unk28;
/* 030 */ u8 pad2[58];
/* 088 */ z_Vector3D unk088; // scale?
/* 100 */ u8 pad3[46];
/* 146 */ s16 unk146;
/* 148 */ u8 pad4[34];
/* 182 */ u8 unk182;
/* 183 */ u8 pad5[5];
/* 188 */ u16 unk188; // or char
/* 190 */ s16 unk190;
/* 192 */ u8 pad6[60];
/* 252 */ f32 unk252; // start of z_Vector3D?
/* 256 */ f32 unk256;
/* 260 */ f32 unk260;
/* 264 */ u8 pad7[14];
/* 278 */ u16 unk278;
/* 280 */ u8 pad8[36];
/* 316 */ z_ActorFunc drawFunc;
/* 320 */ u8 pad9[4];
// TODO figure out what size this is
} z_Actor;
typedef struct s80BD5530_s {
/* 000000 */ u8 pad[100484];
/* 100484 */ UNK_TYPE unk100484;
} z_GlobalContext;
typedef struct {
u32 cont : 1;
u32 type : 4;
u32 offset : 11;
u32 value : 16;
} z_ActorCompInitEntry;
typedef struct {
/* 0x00 */ s16 id;
/* 0x02 */ u8 type; // Classifies actor and determines when actor will execute
/* 0x03 */ u8 room; // Room instance was spawned in. If value set to FF in
// rom, instance does not despawn when swapping rooms
/* 0x04 */ s32 flags; // unknown
/* 0x08 */ s16 objectId; // Possibly it's primary object dependency
/* 0x0A */ // Padding
/* 0x0C */ u32 instanceSize;
/* 0x10 */ z_ActorFunc init; // Constructor
/* 0x14 */ z_ActorFunc fini; // Destructor
/* 0x18 */ z_ActorFunc main; // Main Update Function
/* 0x1C */ z_ActorFunc draw; // Draw function
} z_ActorInit;
// TODO everything past here should be placed in an appropiate libultra header
typedef long Mtx_t[4][4];

View File

@ -1871,8 +1871,8 @@ extern UNK_TYPE D_80000500; // D_80000500
extern UNK_TYPE D_80025D00; // D_80025D00
//extern UNK_TYPE D_800969C0;
extern u8 D_80096B20; // D_80096B20
extern u8* D_80096B24; // D_80096B24
extern u32 D_80096B28; // D_80096B28
extern volatile u8 D_80096B24; // D_80096B24
extern u8 D_80096B28; // D_80096B28
extern u32 D_80096B2C; // D_80096B2C
extern f32 D_80096B30; // D_80096B30
extern f32 D_80096B34; // D_80096B34
@ -1934,7 +1934,7 @@ extern u32* D_80098010; // D_80098010
//extern UNK_TYPE D_80098060;
//extern UNK_TYPE D_80098090;
extern __OSViContext* __osViCurr; // D_800980C0
extern UNK_TYPE __osViNext; // D_800980C4
extern __OSViContext* __osViNext; // D_800980C4
extern UNK_PTR D_800980D0; // D_800980D0
extern u32* D_800980E0; // D_800980E0
extern UNK_TYPE D_80098130; // D_80098130
@ -13626,8 +13626,10 @@ extern f32 D_808637D0; // D_808637D0
//extern UNK_TYPE D_80BD52F4;
//extern UNK_TYPE D_80BD52F8;
//extern UNK_TYPE D_80BD52FC;
//extern UNK_TYPE D_80BD55F0;
//extern UNK_TYPE D_80BD561C;
extern z_ActorInit bgIkanaRayInitVar; // D_80BD55D0
extern UNK_TYPE D_80BD55F0; // D_80BD55F0
extern z_ActorCompInitEntry bgIkanaRayCompInit[]; // D_80BD561C
extern UNK_TYPE D_80BD562C; // D_80BD562C
//extern UNK_TYPE D_80BD5D10;
//extern UNK_TYPE D_80BD5D20;
//extern UNK_TYPE D_80BD5D24;

View File

@ -16,8 +16,8 @@ known_vars = {
0x80000500:("","UNK_TYPE",False),
0x80025D00:("","UNK_TYPE",False),
0x80096B20:("","u8",False),
0x80096B24:("","u8*",False),
0x80096B28:("","u32",False),
0x80096B24:("","volatile u8",False),
0x80096B28:("","u8",False),
0x80096B2C:("","u32",False),
0x80096B30:("","f32",False),
0x80096B34:("","f32",False),
@ -46,7 +46,7 @@ known_vars = {
0x80097FC0:("","u32*",False),
0x80098010:("","u32*",False),
0x800980C0:("__osViCurr","__OSViContext*",False),
0x800980C4:("__osViNext","UNK_TYPE",False), # some struct pointer used in func_80095900
0x800980C4:("__osViNext","__OSViContext*",False),
0x800980D0:("","UNK_PTR",False),
0x800980E0:("","u32*",False),
0x80098130:("","UNK_TYPE",False), # ldigs in https:github.com/vocho/openqnx/blob/cc95df3543a1c481d4f8ad387e29f0d1ff0c87fe/trunk/lib/c/stdio/xlitob.c
@ -140,7 +140,12 @@ known_vars = {
0x80208EA0:("","UNK_TYPE",False),
# En_Test
0x808637D0:("","f32",False)
0x808637D0:("","f32",False),
0x80BD55D0:("bgIkanaRayInitVar","z_ActorInit",False),
0x80BD55F0:("","UNK_TYPE",False),
0x80BD561C:("bgIkanaRayCompInit","z_ActorCompInitEntry",True),
0x80BD562C:("","UNK_TYPE",False)
}
# these are extra variables needed for one reason or another, they should probably be deleted if possible