mirror of
https://github.com/zeldaret/oot
synced 2026-08-21 22:40:55 -04:00
ucode_disas.c progress (#188)
* ucode_disas.c progress * fix * minor fixes * minor comment changes
This commit is contained in:
+15
-14
@@ -48,7 +48,7 @@ void rmonPrintf(const char* fmt, ...);
|
||||
u32 is_proutSyncPrintf(void* arg0, const char* str, s32 count);
|
||||
void func_80002384(const char* exp, const char* file, u32 line);
|
||||
OSPiHandle* osDriveRomInit();
|
||||
void Yaz0_Old_DecompressImpl(Yaz0Header* hdr, u8* dst);
|
||||
void Mio0_Decompress(Yaz0Header* hdr, u8* dst);
|
||||
void StackCheck_Init(StackEntry* entry, void* stackTop, void* stackBottom, u32 initValue, s32 minSpace,
|
||||
const char* name);
|
||||
void StackCheck_Cleanup(StackEntry* entry);
|
||||
@@ -1859,18 +1859,18 @@ void FaultDrawer_DrawText(s32, s32, const char*, ...);
|
||||
void FaultDrawer_SetDrawerFB(void*, u16, u16);
|
||||
void FaultDrawer_SetInputCallback(void (*)());
|
||||
void FaultDrawer_SetDefault();
|
||||
// ? func_800D7CD0(?);
|
||||
// ? func_800D7D04(?);
|
||||
// ? func_800D7EA4(?);
|
||||
// ? func_800D7F5C(?);
|
||||
// ? func_800D7FC4(?);
|
||||
// ? func_800D7FD0(?);
|
||||
// ? func_800D805C(?);
|
||||
// ? func_800D8124(?);
|
||||
// ? func_800D82A0(?);
|
||||
// ? func_800D8400(?);
|
||||
// ? func_800DAC80(?);
|
||||
// ? func_800DAC90(?);
|
||||
// ? UCodeDisas_TranslateAddr(?);
|
||||
// ? UCodeDisas_ParseCombineColor(?);
|
||||
// ? UCodeDisas_ParseCombineAlpha(?);
|
||||
// ? UCodeDisas_Init(?);
|
||||
// ? UCodeDisas_Destroy(?);
|
||||
// ? UCodeDisas_SetCurUCodeImpl(?);
|
||||
// ? UCodeDisas_ParseGeometryMode(?);
|
||||
// ? UCodeDisas_ParseRenderMode(?);
|
||||
// ? UCodeDisas_PrintVertices(?);
|
||||
// ? UCodeDisas_Disassemble(?);
|
||||
// ? UCodeDisas_RegisterUCode(?);
|
||||
// ? UCodeDisas_SetCurUCode(?);
|
||||
// ? func_800DACC0(?);
|
||||
// ? func_800DB03C(?);
|
||||
// ? func_800DB0C4(?);
|
||||
@@ -2280,7 +2280,8 @@ void GfxPrint_Printf(GfxPrint*, const char*, ...);
|
||||
void func_800FBCE0();
|
||||
void func_800FBFD8(void);
|
||||
void* Overlay_AllocateAndLoad(u32 vRomStart, u32 vRomEnd, void* vRamStart, void* vRamEnd);
|
||||
// ? MtxConv_L2F(?);
|
||||
void MtxConv_F2L(MatrixInternal* m1, MtxF* m2);
|
||||
void MtxConv_L2F(MtxF* m1, MatrixInternal* m2);
|
||||
void Overlay_DoRelocation(void* allocatedVRamAddress, OverlayRelocationSection* overlayInfo, void* vRamAddress);
|
||||
s32 Overlay_Load(u32 vRomStart, u32 vRomEnd, void* vRamStart, void* vRamEnd, void* allocatedVRamAddress);
|
||||
// ? func_800FC800(?);
|
||||
|
||||
@@ -4488,9 +4488,10 @@ _DW({ \
|
||||
#define gDPNoOpFloat(pkt, data, n) gDma1p(pkt, G_NOOP, data, n, 4)
|
||||
#define gDPNoOpQuiet(pkt) gDma1p(pkt, G_NOOP, 0, 0, 5)
|
||||
#define gDPNoOpVerbose(pkt, n) gDma1p(pkt, G_NOOP, 0, n, 5)
|
||||
#define gDPNoOpCallBack(pkt, callback) gDma1p(pkt, G_NOOP, callback, 0, 6)
|
||||
#define gDPNoOpCallBack(pkt, callback, arg) gDma1p(pkt, G_NOOP, callback, arg, 6)
|
||||
#define gDPNoOpOpenDisp(pkt, file, line) gDma1p(pkt, G_NOOP, file, line, 7)
|
||||
#define gDPNoOpCloseDisp(pkt, file, line) gDma1p(pkt, G_NOOP, file, line, 8)
|
||||
#define gDPNoOpTag3(pkt, type, data, n) gDma1p(pkt, G_NOOP, data, n, type)
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
+5
-5
@@ -620,12 +620,12 @@ extern u32 D_8012DBC0;
|
||||
extern volatile u32 gIrqMgrResetStatus;
|
||||
extern volatile OSTime gIrqMgrRetraceTime;
|
||||
extern s32 gDebugArenaLogSeverity;
|
||||
//extern ? D_8012DCA0;
|
||||
//extern ? D_8012DCF8;
|
||||
//extern ? D_8012DD1C;
|
||||
//extern ? sUCodeDisasGeometryModes;
|
||||
//extern ? sUCodeDisasMtxFlags;
|
||||
//extern ? sUCodeDisasRenderModeFlags;
|
||||
//extern ? D_8012DDDC;
|
||||
//extern ? D_8012DE1C;
|
||||
//extern ? D_8012E02C;
|
||||
//extern ? sUCodeDisasModeHMacros;
|
||||
//extern ? sUCodeDisasModeLMacros;
|
||||
extern s16* gWaveSamples[6];
|
||||
//extern ? D_8012F098;
|
||||
//extern ? D_8012F0B0;
|
||||
|
||||
+53
-17
@@ -262,10 +262,10 @@ typedef struct OSScTask {
|
||||
} OSScTask;
|
||||
|
||||
typedef struct GraphicsContext {
|
||||
/* 0x0000 */ Gfx* polyOpaBuffer;
|
||||
/* 0x0004 */ Gfx* polyXluBuffer;
|
||||
/* 0x0008 */ char unk_008[0x08];
|
||||
/* 0x0010 */ Gfx* overlayBuffer;
|
||||
/* 0x0000 */ Gfx* polyOpaBuffer; // Pointer to "Zelda 0"
|
||||
/* 0x0004 */ Gfx* polyXluBuffer; // Pointer to "Zelda 1"
|
||||
/* 0x0008 */ char unk_008[0x08]; // Unused, could this be pointers to "Zelda 2" / "Zelda 3"
|
||||
/* 0x0010 */ Gfx* overlayBuffer; // Pointer to "Zelda 4"
|
||||
/* 0x0014 */ u32 unk_014;
|
||||
/* 0x0018 */ char unk_018[0x20];
|
||||
/* 0x0038 */ OSMesg msgBuff[0x08];
|
||||
@@ -278,10 +278,10 @@ typedef struct GraphicsContext {
|
||||
/* 0x01B4 */ TwoHeadGfxArena work;
|
||||
/* 0x01C4 */ char unk_01C4[0xC0];
|
||||
/* 0x0284 */ OSViMode* viMode;
|
||||
/* 0x0288 */ char unk_0288[0x20];
|
||||
/* 0x02A8 */ TwoHeadGfxArena overlay;
|
||||
/* 0x02B8 */ TwoHeadGfxArena polyOpa;
|
||||
/* 0x02C8 */ TwoHeadGfxArena polyXlu;
|
||||
/* 0x0288 */ char unk_0288[0x20]; // Unused, could this be Zelda 2/3 ?
|
||||
/* 0x02A8 */ TwoHeadGfxArena overlay; // "Zelda 4"
|
||||
/* 0x02B8 */ TwoHeadGfxArena polyOpa; // "Zelda 0"
|
||||
/* 0x02C8 */ TwoHeadGfxArena polyXlu; // "Zelda 1"
|
||||
/* 0x02D8 */ u32 gfxPoolIdx;
|
||||
/* 0x02DC */ u16* curFrameBuffer;
|
||||
/* 0x02E0 */ char unk_2E0[0x04];
|
||||
@@ -910,7 +910,7 @@ typedef struct {
|
||||
/* 0x000A */ u8 mainKeepIndex; // "gameplay_keep" index in bank
|
||||
/* 0x000B */ u8 subKeepIndex; // "gameplay_field_keep" or "gameplay_dangeon_keep" index in bank
|
||||
/* 0x000C */ ObjectStatus status[OBJECT_EXCHANGE_BANK_MAX];
|
||||
} ObjectContext; // size = 0x514
|
||||
} ObjectContext; // size = 0x518
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Gfx* opa;
|
||||
@@ -1497,8 +1497,8 @@ typedef struct {
|
||||
typedef struct {
|
||||
/* 0x00 */ char magic[4]; // Yaz0
|
||||
/* 0x04 */ u32 decSize;
|
||||
/* 0x08 */ u32 compInfoOffset; // only used in yaz0_old.c
|
||||
/* 0x0C */ u32 uncompDataOffset; // only used in yaz0_old.c
|
||||
/* 0x08 */ u32 compInfoOffset; // only used in mio0
|
||||
/* 0x0C */ u32 uncompDataOffset; // only used in mio0
|
||||
/* 0x10 */ u32 data[1];
|
||||
} Yaz0Header; // size = 0x10 ("data" is not part of the header)
|
||||
|
||||
@@ -1706,15 +1706,21 @@ typedef struct {
|
||||
/* 0x20 */ f32 unk_20;
|
||||
} UnkQuakeCalcStruct; // size = 0x24
|
||||
|
||||
|
||||
#define UCODE_NULL 0
|
||||
#define UCODE_F3DZEX 1
|
||||
#define UCODE_UNK 2
|
||||
#define UCODE_S2DEX 3
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 idx;
|
||||
/* 0x00 */ u32 type;
|
||||
/* 0x04 */ void* ptr;
|
||||
} UCodeInfo; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 segments[NUM_SEGMENTS];
|
||||
/* 0x40 */ u32 dlStack[18];
|
||||
/* 0x88 */ u32 dlDepth;
|
||||
/* 0x88 */ s32 dlDepth;
|
||||
/* 0x8C */ u32 dlCnt;
|
||||
/* 0x90 */ u32 vtxCnt;
|
||||
/* 0x94 */ u32 spvtxCnt;
|
||||
@@ -1727,9 +1733,9 @@ typedef struct {
|
||||
/* 0xB0 */ u32 tileSyncRequired;
|
||||
/* 0xB4 */ u32 loadSyncRequired;
|
||||
/* 0xB8 */ u32 syncErr;
|
||||
/* 0xBC */ u32 enableLog;
|
||||
/* 0xC0 */ u32 ucodeInfoIdx;
|
||||
/* 0xC4 */ u32 ucodeInfoCount;
|
||||
/* 0xBC */ s32 enableLog;
|
||||
/* 0xC0 */ s32 ucodeType;
|
||||
/* 0xC4 */ s32 ucodeInfoCount;
|
||||
/* 0xC8 */ UCodeInfo* ucodeInfo;
|
||||
/* 0xCC */ u32 modeH;
|
||||
/* 0xD0 */ u32 modeL;
|
||||
@@ -1867,8 +1873,38 @@ typedef struct {
|
||||
} SpeedMeterTimeEntry; // size = 0x08
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s16 intPart[4][4];
|
||||
/* 0x00 */ u16 intPart[4][4];
|
||||
/* 0x20 */ u16 fracPart[4][4];
|
||||
} MatrixInternal; // size = 0x40
|
||||
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 value;
|
||||
/* 0x04 */ const char* name;
|
||||
} F3dzexConst; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 value;
|
||||
/* 0x04 */ const char* setName;
|
||||
/* 0x08 */ const char* unsetName;
|
||||
} F3dzexFlag; // size = 0x0C
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ const char* name;
|
||||
/* 0x04 */ u32 value;
|
||||
/* 0x08 */ u32 mask;
|
||||
} F3dzexRenderMode; // size = 0x0C
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ const char* name;
|
||||
/* 0x04 */ u32 value;
|
||||
} F3dzexSetModeMacroValue; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ const char* name;
|
||||
/* 0x04 */ u32 shift;
|
||||
/* 0x08 */ u32 len;
|
||||
/* 0x0C */ F3dzexSetModeMacroValue values[4];
|
||||
} F3dzexSetModeMacro; // size = 0x2C
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user