mirror of
https://github.com/zeldaret/oot.git
synced 2024-11-23 05:49:50 +00:00
[ntsc-1.2] Organize n64dd declarations and convert to 1.0 addresses (#2127)
* Reorganize n64dd declarations * Fix bss * Really fix bss
This commit is contained in:
parent
aa1c7f3155
commit
8153c952f6
@ -5,15 +5,12 @@
|
||||
.set noreorder /* don't insert nops after branches */
|
||||
.set gp=64 /* allow use of 64-bit general purpose registers */
|
||||
|
||||
.section .data
|
||||
.section .text
|
||||
|
||||
.balign 16
|
||||
|
||||
/* Unused.
|
||||
* This appears to be RSP code, however it is not part of
|
||||
* rspboot as rspbootTextEnd is at this symbol.
|
||||
*/
|
||||
glabel D_800093F0
|
||||
/* RSP code for cic6105.c, used only in N64 versions. */
|
||||
glabel cic6105TextStart
|
||||
.word 0xE80C2001 # sqv $v12[0], 0x10($zero)
|
||||
.word 0x34014000 # li $1, 0x4000
|
||||
.word 0x40812000 # mtc0 $1, SP_STATUS
|
||||
@ -22,3 +19,4 @@ glabel D_800093F0
|
||||
.word 0x09000425 # j 0x04001094
|
||||
.word 0x00000000 # nop
|
||||
.word 0x00000000 # nop
|
||||
glabel cic6105TextEnd
|
@ -5,6 +5,7 @@
|
||||
|
||||
extern s32 B_80008EE0;
|
||||
|
||||
void func_800014E8(void);
|
||||
void CIC6105_AddFaultClient(void);
|
||||
void CIC6105_RemoveFaultClient(void);
|
||||
void func_80001640(void);
|
||||
|
@ -91,6 +91,7 @@ s32 __osEPiRawReadIo(OSPiHandle* handle, u32 devAddr, u32* data);
|
||||
void osViSwapBuffer(void* frameBufPtr);
|
||||
s32 __osEPiRawStartDma(OSPiHandle* handle, s32 direction, u32 cartAddr, void* dramAddr, size_t size);
|
||||
OSTime osGetTime(void);
|
||||
void osSetTime(OSTime time);
|
||||
void __osTimerServicesInit(void);
|
||||
void __osTimerInterrupt(void);
|
||||
void __osSetTimerIntr(OSTime time);
|
||||
|
@ -14,19 +14,17 @@ struct SaveContext;
|
||||
struct Scene;
|
||||
|
||||
// TODO Use the specific pointer types instead of void*
|
||||
typedef struct n64ddStruct_800FF4B0_pointers {
|
||||
typedef struct n64ddStruct_800FEE70_pointers {
|
||||
void* unk_00;
|
||||
void* unk_04;
|
||||
struct RegEditor* unk_08;
|
||||
void* unk_0C[31];
|
||||
struct SaveContext* unk_88;
|
||||
void* unk_8C[9];
|
||||
} n64ddStruct_800FF4B0_pointers; // size = 0xB0
|
||||
} n64ddStruct_800FEE70_pointers; // size = 0xB0
|
||||
|
||||
struct n64ddStruct_80121AF0;
|
||||
|
||||
typedef struct n64ddStruct_80121AF0 {
|
||||
void (*unk_00)(n64ddStruct_800FF4B0_pointers*, struct n64ddStruct_80121AF0*);
|
||||
typedef struct n64ddStruct_80121220 {
|
||||
void (*unk_00)(n64ddStruct_800FEE70_pointers*, struct n64ddStruct_80121220*);
|
||||
void (*unk_04)(void);
|
||||
void (*unk_08)(struct PlayState* play, struct RoomContext* roomCtx, s32 roomNum);
|
||||
void (*unk_0C)(struct PlayState* play);
|
||||
@ -46,30 +44,33 @@ typedef struct n64ddStruct_80121AF0 {
|
||||
s32 (*unk_70)(struct DmaRequest* req, void* ram, uintptr_t vrom, size_t size, u32 unk, OSMesgQueue* queue, OSMesg msg);
|
||||
void (*unk_74)(struct GameState*);
|
||||
s32 (*unk_78)(struct PlayState*, void*, void*);
|
||||
} n64ddStruct_80121AF0; // size = ?
|
||||
} n64ddStruct_80121220; // size = ?
|
||||
|
||||
void func_800ADA80(void);
|
||||
void func_800ADAF8(void);
|
||||
n64ddStruct_80121AF0* func_800ADB30(n64ddStruct_80121AF0* arg0);
|
||||
void func_800ADB8C(void);
|
||||
n64ddStruct_800FF4B0_pointers* func_800ADBD0(void);
|
||||
void func_800ADC00(void);
|
||||
void func_800ADC08(s32 arg0, s32 arg1, s32 arg2);
|
||||
void func_800AD410(void);
|
||||
void func_800AD488(void);
|
||||
n64ddStruct_80121220* func_800AD4C0(n64ddStruct_80121220* arg0);
|
||||
void func_800AD51C(void);
|
||||
n64ddStruct_800FEE70_pointers* func_800AD560(void);
|
||||
void func_800AD590(void);
|
||||
void func_800AD598(s32 arg0, s32 arg1, s32 arg2);
|
||||
|
||||
void func_801C8510_unknown(void* dest, s32 offset, s32 size);
|
||||
void func_801C86F0_unknown(void);
|
||||
void func_801C7760_unknown(union Gfx** gfx);
|
||||
u32 func_801C6E80(void);
|
||||
void func_801C6EA0(union Gfx** gfxP);
|
||||
s32 func_801C70FC(void);
|
||||
void func_801C7268(void);
|
||||
s32 func_801C7658(void);
|
||||
s32 func_801C7818(void);
|
||||
void func_801C7C1C(void* dest, s32 offset, s32 size);
|
||||
void func_801C7E78(void);
|
||||
void n64dd_SetDiskVersion(s32 arg0);
|
||||
|
||||
extern n64ddStruct_800FF4B0_pointers D_800FF4B0;
|
||||
extern n64ddStruct_80121AF0* B_80121AF0;
|
||||
extern n64ddStruct_800FEE70_pointers D_800FEE70;
|
||||
extern n64ddStruct_80121220* B_80121220;
|
||||
|
||||
extern u8 B_80121AE0;
|
||||
extern s8 B_80121AE1;
|
||||
extern u8 B_80121AE2;
|
||||
extern vu8 B_80121AE3;
|
||||
extern vu8 B_80121AE4;
|
||||
|
||||
extern char D_801DA410; // type ?
|
||||
extern char D_801E8090; // type ?
|
||||
extern u8 D_80121210;
|
||||
extern u8 D_80121211;
|
||||
extern u8 D_80121212;
|
||||
extern vu8 D_80121213;
|
||||
extern vu8 D_80121214;
|
||||
|
||||
#endif
|
||||
|
@ -84,6 +84,12 @@ DECLARE_SEGMENT(code)
|
||||
DECLARE_ROM_SEGMENT(code)
|
||||
DECLARE_BSS_SEGMENT(code)
|
||||
|
||||
// N64-only, not wrapped in these are not wrapped in an `#if PLATFORM_N64`
|
||||
// so that the N64DD code can always be built.
|
||||
DECLARE_SEGMENT(n64dd)
|
||||
DECLARE_ROM_SEGMENT(n64dd)
|
||||
DECLARE_BSS_SEGMENT(n64dd)
|
||||
|
||||
DECLARE_OVERLAY_SEGMENT(kaleido_scope)
|
||||
DECLARE_OVERLAY_SEGMENT(player_actor)
|
||||
DECLARE_OVERLAY_SEGMENT(map_mark_data)
|
||||
|
@ -38,6 +38,7 @@ typedef struct {
|
||||
/* 0x04 */ void* sp;
|
||||
} __osHwInt; // size = 0x08
|
||||
|
||||
OSIntMask osGetIntMask(void);
|
||||
OSIntMask osSetIntMask(OSIntMask);
|
||||
|
||||
void __osSetHWIntrRoutine(OSHWIntr intr, s32 (*callback)(void), void* sp);
|
||||
|
@ -12,6 +12,8 @@
|
||||
|
||||
extern u64 rspbootTextStart[], rspbootTextEnd[];
|
||||
|
||||
extern u64 cic6105TextStart[], cic6105TextEnd[];
|
||||
|
||||
extern u64 aspMainTextStart[], aspMainTextEnd[];
|
||||
extern u64 aspMainDataStart[], aspMainDataEnd[];
|
||||
|
||||
|
2
spec
2
spec
@ -15,7 +15,6 @@ beginseg
|
||||
name "boot"
|
||||
address 0x80000460
|
||||
include "$(BUILD_DIR)/src/boot/boot_main.o"
|
||||
include "$(BUILD_DIR)/data/unk_800093F0.data.o"
|
||||
include "$(BUILD_DIR)/data/unk_80009410.data.o"
|
||||
include "$(BUILD_DIR)/src/boot/idle.o"
|
||||
include "$(BUILD_DIR)/src/boot/viconfig.o"
|
||||
@ -144,6 +143,7 @@ beginseg
|
||||
#endif
|
||||
include "$(BUILD_DIR)/src/boot/build.o"
|
||||
include "$(BUILD_DIR)/data/rsp_boot.text.o"
|
||||
include "$(BUILD_DIR)/data/cic6105.text.o"
|
||||
#ifdef COMPILER_GCC
|
||||
include "$(BUILD_DIR)/src/libc/memset.o"
|
||||
include "$(BUILD_DIR)/src/libc/memmove.o"
|
||||
|
@ -4,10 +4,8 @@
|
||||
|
||||
s32 func_80001714(void);
|
||||
|
||||
extern u64 cic6105ucodeTextStart[];
|
||||
|
||||
OSTask D_800067C0_unknown = {
|
||||
4, 0, rspbootTextStart, 0x3E8, cic6105ucodeTextStart, 0x20, (u64*)gBuildTeam, 8, NULL, 0, NULL, 0, NULL, 0, NULL, 0,
|
||||
4, 0, rspbootTextStart, 0x3E8, cic6105TextStart, 0x20, (u64*)gBuildTeam, 8, NULL, 0, NULL, 0, NULL, 0, NULL, 0,
|
||||
};
|
||||
|
||||
s32 B_80008EE0;
|
||||
|
@ -197,8 +197,8 @@ s32 DmaMgr_AudioDmaHandler(OSPiHandle* pihandle, OSIoMesg* mb, s32 direction) {
|
||||
ASSERT(mb != NULL, "mb != NULL", "../z_std_dma.c", 532);
|
||||
|
||||
#if PLATFORM_N64
|
||||
if (B_80121AE2) {
|
||||
while (B_80121AE4) {
|
||||
if (D_80121212) {
|
||||
while (D_80121214) {
|
||||
Sleep_Msec(1000);
|
||||
}
|
||||
}
|
||||
@ -543,8 +543,8 @@ s32 DmaMgr_RequestAsync(DmaRequest* req, void* ram, uintptr_t vrom, size_t size,
|
||||
#endif
|
||||
|
||||
#if PLATFORM_N64
|
||||
if ((B_80121AF0 != NULL) && (B_80121AF0->unk_70 != NULL)) {
|
||||
if (B_80121AF0->unk_70(req, ram, vrom, size, unk, queue, msg) != 0) {
|
||||
if ((B_80121220 != NULL) && (B_80121220->unk_70 != NULL)) {
|
||||
if (B_80121220->unk_70(req, ram, vrom, size, unk, queue, msg) != 0) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
@ -3,32 +3,25 @@
|
||||
#include "segment_symbols.h"
|
||||
#include "n64dd.h"
|
||||
|
||||
DECLARE_SEGMENT(n64dd)
|
||||
DECLARE_ROM_SEGMENT(n64dd)
|
||||
DECLARE_BSS_SEGMENT(n64dd)
|
||||
u8 D_80121210;
|
||||
u8 D_80121211;
|
||||
u8 D_80121212;
|
||||
vu8 D_80121213;
|
||||
vu8 D_80121214;
|
||||
|
||||
s8 func_801C7740_unknown(void);
|
||||
|
||||
u8 B_80121AE0;
|
||||
s8 B_80121AE1;
|
||||
u8 B_80121AE2;
|
||||
vu8 B_80121AE3;
|
||||
vu8 B_80121AE4;
|
||||
|
||||
void func_800ADA80(void) {
|
||||
if (!B_80121AE0) {
|
||||
void func_800AD410(void) {
|
||||
if (!D_80121210) {
|
||||
DmaMgr_RequestSync(_n64ddSegmentStart, (uintptr_t)_n64ddSegmentRomStart,
|
||||
_n64ddSegmentRomEnd - _n64ddSegmentRomStart);
|
||||
// TODO use _n64ddSegmentBssStart, _n64ddSegmentBssEnd
|
||||
bzero(&D_801DA410, &D_801E8090 - &D_801DA410);
|
||||
B_80121AE0 = true;
|
||||
B_80121AE1 = func_801C7740_unknown();
|
||||
if (B_80121AE1) {}
|
||||
bzero(_n64ddSegmentBssStart, _n64ddSegmentBssEnd - _n64ddSegmentBssStart);
|
||||
D_80121210 = true;
|
||||
D_80121211 = func_801C6E80();
|
||||
if (D_80121211) {}
|
||||
}
|
||||
}
|
||||
|
||||
void func_800ADAF8(void) {
|
||||
if (B_80121AE0 && (B_80121AE2 == 0)) {
|
||||
B_80121AE0 = false;
|
||||
void func_800AD488(void) {
|
||||
if (D_80121210 && (D_80121212 == 0)) {
|
||||
D_80121210 = false;
|
||||
}
|
||||
}
|
||||
|
@ -2,12 +2,8 @@
|
||||
#include "fault.h"
|
||||
#include "n64dd.h"
|
||||
|
||||
// TODO functions of unknown prototype
|
||||
extern char osGetIntMask[];
|
||||
extern char osSetTime[];
|
||||
|
||||
n64ddStruct_800FF4B0_pointers D_800FF4B0 = {
|
||||
func_801C8510_unknown,
|
||||
n64ddStruct_800FEE70_pointers D_800FEE70 = {
|
||||
func_801C7C1C,
|
||||
NULL,
|
||||
NULL,
|
||||
Fault_RemoveClient,
|
||||
@ -16,7 +12,7 @@ n64ddStruct_800FF4B0_pointers D_800FF4B0 = {
|
||||
Fault_WaitForInput,
|
||||
Fault_AddHungupAndCrashImpl,
|
||||
Fault_AddHungupAndCrash,
|
||||
func_800ADC08,
|
||||
func_800AD598,
|
||||
_Printf,
|
||||
osCreateThread,
|
||||
osDestroyThread,
|
||||
@ -53,34 +49,34 @@ n64ddStruct_800FF4B0_pointers D_800FF4B0 = {
|
||||
NULL,
|
||||
};
|
||||
|
||||
n64ddStruct_80121AF0* B_80121AF0;
|
||||
n64ddStruct_80121220* B_80121220;
|
||||
|
||||
n64ddStruct_80121AF0* func_800ADB30(n64ddStruct_80121AF0* arg0) {
|
||||
n64ddStruct_800FF4B0_pointers* temp_a0 = func_800ADBD0();
|
||||
n64ddStruct_80121220* func_800AD4C0(n64ddStruct_80121220* arg0) {
|
||||
n64ddStruct_800FEE70_pointers* temp_a0 = func_800AD560();
|
||||
|
||||
if (arg0 != NULL && arg0->unk_00 != NULL) {
|
||||
arg0->unk_00(temp_a0, arg0);
|
||||
}
|
||||
B_80121AF0 = arg0;
|
||||
return B_80121AF0;
|
||||
B_80121220 = arg0;
|
||||
return B_80121220;
|
||||
}
|
||||
|
||||
void func_800ADB8C(void) {
|
||||
if ((B_80121AF0 != NULL) && (B_80121AF0->unk_04 != NULL)) {
|
||||
B_80121AF0->unk_04();
|
||||
void func_800AD51C(void) {
|
||||
if ((B_80121220 != NULL) && (B_80121220->unk_04 != NULL)) {
|
||||
B_80121220->unk_04();
|
||||
}
|
||||
B_80121AF0 = NULL;
|
||||
B_80121220 = NULL;
|
||||
}
|
||||
|
||||
n64ddStruct_800FF4B0_pointers* func_800ADBD0(void) {
|
||||
D_800FF4B0.unk_04 = 0;
|
||||
D_800FF4B0.unk_08 = gRegEditor;
|
||||
D_800FF4B0.unk_88 = &gSaveContext;
|
||||
return &D_800FF4B0;
|
||||
n64ddStruct_800FEE70_pointers* func_800AD560(void) {
|
||||
D_800FEE70.unk_04 = 0;
|
||||
D_800FEE70.unk_08 = gRegEditor;
|
||||
D_800FEE70.unk_88 = &gSaveContext;
|
||||
return &D_800FEE70;
|
||||
}
|
||||
|
||||
void func_800ADC00(void) {
|
||||
void func_800AD590(void) {
|
||||
}
|
||||
|
||||
void func_800ADC08(s32 arg0, s32 arg1, s32 arg2) {
|
||||
void func_800AD598(s32 arg0, s32 arg1, s32 arg2) {
|
||||
}
|
||||
|
@ -73,8 +73,8 @@ void GameState_SetFBFilter(Gfx** gfxP) {
|
||||
|
||||
void func_800C4344(GameState* gameState) {
|
||||
#if PLATFORM_N64
|
||||
if (B_80121AE2 != 0) {
|
||||
func_801C86F0_unknown();
|
||||
if (D_80121212 != 0) {
|
||||
func_801C7E78();
|
||||
}
|
||||
#elif OOT_DEBUG
|
||||
Input* selectedInput;
|
||||
@ -245,8 +245,8 @@ void func_800C49F4(GraphicsContext* gfxCtx) {
|
||||
gSPDisplayList(OVERLAY_DISP++, newDlist);
|
||||
|
||||
#if PLATFORM_N64
|
||||
if (B_80121AE2 != 0) {
|
||||
func_801C7760_unknown(&newDlist);
|
||||
if (D_80121212 != 0) {
|
||||
func_801C6EA0(&newDlist);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -271,11 +271,11 @@ void GameState_Update(GameState* gameState) {
|
||||
gameState->main(gameState);
|
||||
|
||||
#if PLATFORM_N64
|
||||
if (B_80121AE2 != 0) {
|
||||
func_801C86F0_unknown();
|
||||
if (D_80121212 != 0) {
|
||||
func_801C7E78();
|
||||
}
|
||||
if ((B_80121AF0 != NULL) && (B_80121AF0->unk_74 != NULL)) {
|
||||
B_80121AF0->unk_74(gameState);
|
||||
if ((B_80121220 != NULL) && (B_80121220->unk_74 != NULL)) {
|
||||
B_80121220->unk_74(gameState);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -60,12 +60,12 @@ void Main(void* arg) {
|
||||
PreNmiBuff_Init(gAppNmiBufferPtr);
|
||||
Fault_Init();
|
||||
#if PLATFORM_N64
|
||||
func_800ADA80();
|
||||
if ((u8)B_80121AE1 != 0) {
|
||||
systemHeapStart = (uintptr_t)&D_801E8090;
|
||||
func_800AD410();
|
||||
if (D_80121211 != 0) {
|
||||
systemHeapStart = (uintptr_t)&_n64ddSegmentEnd;
|
||||
SysCfb_Init(1);
|
||||
} else {
|
||||
func_800ADAF8();
|
||||
func_800AD488();
|
||||
systemHeapStart = (uintptr_t)_buffersSegmentEnd;
|
||||
SysCfb_Init(0);
|
||||
}
|
||||
|
@ -5,7 +5,7 @@
|
||||
#include "macros.h"
|
||||
#include "sys_math3d.h"
|
||||
|
||||
#pragma increment_block_number "gc-eu:108 gc-eu-mq:108 gc-jp:108 gc-jp-ce:108 gc-jp-mq:108 gc-us:108 gc-us-mq:108"
|
||||
#pragma increment_block_number "gc-eu:106 gc-eu-mq:106 gc-jp:106 gc-jp-ce:106 gc-jp-mq:106 gc-us:106 gc-us-mq:106"
|
||||
|
||||
s32 Math3D_LineVsLineClosestTwoPoints(Vec3f* lineAPointA, Vec3f* lineAPointB, Vec3f* lineBPointA, Vec3f* lineBPointB,
|
||||
Vec3f* lineAClosestToB, Vec3f* lineBClosestToA);
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#include "overlays/effects/ovl_Effect_Ss_HitMark/z_eff_ss_hitmark.h"
|
||||
|
||||
#pragma increment_block_number "gc-eu:64 gc-eu-mq:64 gc-jp:64 gc-jp-ce:64 gc-jp-mq:64 gc-us:64 gc-us-mq:64"
|
||||
#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0"
|
||||
|
||||
typedef s32 (*ColChkResetFunc)(PlayState*, Collider*);
|
||||
typedef void (*ColChkApplyFunc)(PlayState*, CollisionCheckContext*, Collider*);
|
||||
|
@ -2423,8 +2423,8 @@ void Cutscene_HandleConditionalTriggers(PlayState* play) {
|
||||
|
||||
void Cutscene_SetScript(PlayState* play, void* script) {
|
||||
#if PLATFORM_N64
|
||||
if ((B_80121AF0 != NULL) && (B_80121AF0->unk_78 != NULL)) {
|
||||
if (B_80121AF0->unk_78(play, script, sCutscenesUnknownList)) {
|
||||
if ((B_80121220 != NULL) && (B_80121220->unk_78 != NULL)) {
|
||||
if (B_80121220->unk_78(play, script, sCutscenesUnknownList)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -177,16 +177,16 @@ void KaleidoSetup_Init(PlayState* play) {
|
||||
View_Init(&pauseCtx->view, play->state.gfxCtx);
|
||||
|
||||
#if PLATFORM_N64
|
||||
if ((B_80121AF0 != NULL) && (B_80121AF0->unk_3C != NULL)) {
|
||||
B_80121AF0->unk_3C();
|
||||
if ((B_80121220 != NULL) && (B_80121220->unk_3C != NULL)) {
|
||||
B_80121220->unk_3C();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void KaleidoSetup_Destroy(PlayState* play) {
|
||||
#if PLATFORM_N64
|
||||
if ((B_80121AF0 != NULL) && (B_80121AF0->unk_40 != NULL)) {
|
||||
B_80121AF0->unk_40();
|
||||
if ((B_80121220 != NULL) && (B_80121220->unk_40 != NULL)) {
|
||||
B_80121220->unk_40();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
@ -243,8 +243,8 @@ void Play_Destroy(GameState* thisx) {
|
||||
ZeldaArena_Cleanup();
|
||||
|
||||
#if PLATFORM_N64
|
||||
if ((B_80121AF0 != NULL) && (B_80121AF0->unk_14 != NULL)) {
|
||||
B_80121AF0->unk_14(this);
|
||||
if ((B_80121220 != NULL) && (B_80121220->unk_14 != NULL)) {
|
||||
B_80121220->unk_14(this);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -279,8 +279,8 @@ void Play_Init(GameState* thisx) {
|
||||
GameState_Realloc(&this->state, 0x1D4790);
|
||||
|
||||
#if PLATFORM_N64
|
||||
if ((B_80121AF0 != NULL) && (B_80121AF0->unk_10 != NULL)) {
|
||||
B_80121AF0->unk_10(this);
|
||||
if ((B_80121220 != NULL) && (B_80121220->unk_10 != NULL)) {
|
||||
B_80121220->unk_10(this);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -388,7 +388,7 @@ void Play_Init(GameState* thisx) {
|
||||
#endif
|
||||
|
||||
#if PLATFORM_N64
|
||||
if ((B_80121AF0 != NULL && B_80121AF0->unk_54 != NULL && B_80121AF0->unk_54(this))) {
|
||||
if ((B_80121220 != NULL && B_80121220->unk_54 != NULL && B_80121220->unk_54(this))) {
|
||||
} else {
|
||||
Cutscene_HandleEntranceTriggers(this);
|
||||
}
|
||||
@ -1499,7 +1499,7 @@ void* Play_LoadFileFromDiskDrive(PlayState* this, RomFile* file) {
|
||||
|
||||
size = file->vromEnd - file->vromStart;
|
||||
allocp = THA_AllocTailAlign16(&this->state.tha, size);
|
||||
func_801C8510_unknown(allocp, file->vromStart, size);
|
||||
func_801C7C1C(allocp, file->vromStart, size);
|
||||
|
||||
return allocp;
|
||||
}
|
||||
@ -1537,8 +1537,8 @@ void Play_SpawnScene(PlayState* this, s32 sceneId, s32 spawn) {
|
||||
u32 size;
|
||||
|
||||
#if PLATFORM_N64
|
||||
if ((B_80121AF0 != NULL) && (B_80121AF0->unk_48 != NULL)) {
|
||||
scene = B_80121AF0->unk_48(sceneId, gSceneTable);
|
||||
if ((B_80121220 != NULL) && (B_80121220->unk_48 != NULL)) {
|
||||
scene = B_80121220->unk_48(sceneId, gSceneTable);
|
||||
} else {
|
||||
scene = &gSceneTable[sceneId];
|
||||
scene->unk_13 = 0;
|
||||
@ -1555,7 +1555,7 @@ void Play_SpawnScene(PlayState* this, s32 sceneId, s32 spawn) {
|
||||
PRINTF("\nSCENE SIZE %fK\n", (scene->sceneFile.vromEnd - scene->sceneFile.vromStart) / 1024.0f);
|
||||
|
||||
#if PLATFORM_N64
|
||||
if ((B_80121AF0 != NULL) && (scene->unk_12 > 0)) {
|
||||
if ((B_80121220 != NULL) && (scene->unk_12 > 0)) {
|
||||
this->sceneSegment = Play_LoadFileFromDiskDrive(this, &scene->sceneFile);
|
||||
scene->unk_13 = 1;
|
||||
} else {
|
||||
@ -1574,8 +1574,8 @@ void Play_SpawnScene(PlayState* this, s32 sceneId, s32 spawn) {
|
||||
Play_InitScene(this, spawn);
|
||||
|
||||
#if PLATFORM_N64
|
||||
if ((B_80121AF0 != NULL) && (B_80121AF0->unk_0C != NULL)) {
|
||||
B_80121AF0->unk_0C(this);
|
||||
if ((B_80121220 != NULL) && (B_80121220->unk_0C != NULL)) {
|
||||
B_80121220->unk_0C(this);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -623,8 +623,8 @@ s32 func_8009728C(PlayState* play, RoomContext* roomCtx, s32 roomNum) {
|
||||
osCreateMesgQueue(&roomCtx->loadQueue, &roomCtx->loadMsg, 1);
|
||||
|
||||
#if PLATFORM_N64
|
||||
if ((B_80121AF0 != NULL) && (B_80121AF0->unk_08 != NULL)) {
|
||||
B_80121AF0->unk_08(play, roomCtx, roomNum);
|
||||
if ((B_80121220 != NULL) && (B_80121220->unk_08 != NULL)) {
|
||||
B_80121220->unk_08(play, roomCtx, roomNum);
|
||||
} else {
|
||||
DMA_REQUEST_ASYNC(&roomCtx->dmaRequest, roomCtx->unk_34, play->roomList[roomNum].vromStart, size, 0,
|
||||
&roomCtx->loadQueue, NULL, "../z_room.c", 1036);
|
||||
|
@ -196,8 +196,8 @@ SceneDrawConfigFunc sSceneDrawConfigs[SDC_MAX] = {
|
||||
};
|
||||
|
||||
void Scene_Draw(PlayState* play) {
|
||||
if ((B_80121AF0 != NULL) && (B_80121AF0->unk_6C != NULL)) {
|
||||
B_80121AF0->unk_6C(play, sSceneDrawConfigs);
|
||||
if ((B_80121220 != NULL) && (B_80121220->unk_6C != NULL)) {
|
||||
B_80121220->unk_6C(play, sSceneDrawConfigs);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -474,11 +474,8 @@ void EnMag_DrawImageRGBA32(Gfx** gfxP, s16 centerX, s16 centerY, u8* source, u32
|
||||
}
|
||||
|
||||
#if PLATFORM_N64
|
||||
// TODO n64dd functions
|
||||
s32 func_801C79BC_unknown(void);
|
||||
|
||||
void func_80AEEA48_unknown(Gfx** gfxP, s16 arg1, s16 arg2, u32 arg3) {
|
||||
if ((B_80121AE2 != 0) && (func_801C79BC_unknown() != 0)) {
|
||||
if ((D_80121212 != 0) && (func_801C70FC() != 0)) {
|
||||
Gfx* gfx = *gfxP;
|
||||
s32 temp_a3 = (arg1 + 0x40) << 2;
|
||||
s32 temp_t0 = (arg2 + 5) << 2;
|
||||
|
@ -14,7 +14,7 @@
|
||||
#include "cic6105.h"
|
||||
#endif
|
||||
|
||||
#pragma increment_block_number "gc-eu:174 gc-eu-mq:174 gc-jp:176 gc-jp-ce:176 gc-jp-mq:176 gc-us:176 gc-us-mq:176"
|
||||
#pragma increment_block_number "gc-eu:166 gc-eu-mq:166 gc-jp:168 gc-jp-ce:168 gc-jp-mq:168 gc-us:168 gc-us-mq:168"
|
||||
|
||||
#define FLAGS ACTOR_FLAG_4
|
||||
|
||||
|
@ -12,8 +12,6 @@
|
||||
|
||||
#if PLATFORM_N64
|
||||
#include "n64dd.h"
|
||||
// TODO n64dd functions
|
||||
void n64dd_SetDiskVersion(s32);
|
||||
#endif
|
||||
|
||||
void MapSelect_LoadTitle(MapSelectState* this) {
|
||||
@ -53,13 +51,13 @@ void MapSelect_LoadGame(MapSelectState* this, s32 entranceIndex) {
|
||||
|
||||
#if PLATFORM_N64
|
||||
void func_80800AD0_unknown(MapSelectState* this, s32 arg1) {
|
||||
if (B_80121AE2 != 0) {
|
||||
if (D_80121212 != 0) {
|
||||
n64dd_SetDiskVersion(1);
|
||||
}
|
||||
}
|
||||
|
||||
void func_80800B08_unknown(MapSelectState* this, s32 arg1) {
|
||||
if (B_80121AE2 != 0) {
|
||||
if (D_80121212 != 0) {
|
||||
n64dd_SetDiskVersion(0);
|
||||
}
|
||||
}
|
||||
|
@ -9,17 +9,12 @@
|
||||
#include "versions.h"
|
||||
|
||||
#if PLATFORM_N64
|
||||
#include "cic6105.h"
|
||||
#include "n64dd.h"
|
||||
#endif
|
||||
|
||||
#include "assets/textures/nintendo_rogo_static/nintendo_rogo_static.h"
|
||||
|
||||
// TODO
|
||||
void func_800014E8_unknown(void);
|
||||
s32 func_801C8090_unknown(void);
|
||||
void func_801C7BC4_unknown(void);
|
||||
s32 func_801C7ED0_unknown(void);
|
||||
|
||||
#if OOT_DEBUG
|
||||
void ConsoleLogo_PrintBuildInfo(Gfx** gfxP) {
|
||||
Gfx* gfx;
|
||||
@ -186,17 +181,17 @@ void ConsoleLogo_Destroy(GameState* thisx) {
|
||||
|
||||
#if PLATFORM_N64
|
||||
if (this->unk_1E0) {
|
||||
if (func_801C8090_unknown() != 0) {
|
||||
if (func_801C7818() != 0) {
|
||||
func_800D31A0();
|
||||
}
|
||||
func_801C7BC4_unknown();
|
||||
func_801C7268();
|
||||
}
|
||||
#endif
|
||||
|
||||
Sram_InitSram(&this->state, &this->sramCtx);
|
||||
|
||||
#if PLATFORM_N64
|
||||
func_800014E8_unknown();
|
||||
func_800014E8();
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -205,8 +200,8 @@ void ConsoleLogo_Init(GameState* thisx) {
|
||||
ConsoleLogoState* this = (ConsoleLogoState*)thisx;
|
||||
|
||||
#if PLATFORM_N64
|
||||
if ((B_80121AE0 != 0) && ((u8)B_80121AE1 != 0) && (B_80121AE2 == 0)) {
|
||||
if (func_801C7ED0_unknown() != 0) {
|
||||
if ((D_80121210 != 0) && (D_80121211 != 0) && (D_80121212 == 0)) {
|
||||
if (func_801C7658() != 0) {
|
||||
func_800D31A0();
|
||||
}
|
||||
this->unk_1E0 = true;
|
||||
|
@ -3077,7 +3077,7 @@ void KaleidoScope_UpdateDungeonMap(PlayState* play) {
|
||||
PRINTF("MAP DMA = %d\n", play->interfaceCtx.mapPaletteIndex);
|
||||
|
||||
#if PLATFORM_N64
|
||||
if (B_80121AF0 != NULL && B_80121AF0->unk_44 != NULL && B_80121AF0->unk_44(play)) {
|
||||
if (B_80121220 != NULL && B_80121220->unk_44 != NULL && B_80121220->unk_44(play)) {
|
||||
|
||||
} else {
|
||||
KaleidoScope_LoadDungeonMap(play);
|
||||
|
@ -31,16 +31,16 @@ void PauseMapMark_Init(PlayState* play) {
|
||||
gBossMarkScale = 1.0f;
|
||||
gLoadedPauseMarkDataTable = gPauseMapMarkDataTable;
|
||||
#if PLATFORM_N64
|
||||
if ((B_80121AF0 != NULL) && (B_80121AF0->unk_34 != NULL)) {
|
||||
B_80121AF0->unk_34(&gLoadedPauseMarkDataTable);
|
||||
if ((B_80121220 != NULL) && (B_80121220->unk_34 != NULL)) {
|
||||
B_80121220->unk_34(&gLoadedPauseMarkDataTable);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void PauseMapMark_Clear(PlayState* play) {
|
||||
#if PLATFORM_N64
|
||||
if ((B_80121AF0 != NULL) && (B_80121AF0->unk_38 != NULL)) {
|
||||
B_80121AF0->unk_38(&gLoadedPauseMarkDataTable);
|
||||
if ((B_80121220 != NULL) && (B_80121220->unk_38 != NULL)) {
|
||||
B_80121220->unk_38(&gLoadedPauseMarkDataTable);
|
||||
}
|
||||
#endif
|
||||
gLoadedPauseMarkDataTable = NULL;
|
||||
|
@ -84,9 +84,9 @@ FD0,80001430,src/boot/z_locale
|
||||
60C0,80006520,src/libultra/os/sethwintrroutine
|
||||
6130,80006590,src/libultra/os/gethwintrroutine
|
||||
6160,800065C0,data/rsp_boot.text
|
||||
62E0,80006740,data/cic6105.text
|
||||
|
||||
offset,vram,.data
|
||||
62E0,80006740,data/unk_80009410.data
|
||||
6310,80006770,src/boot/idle
|
||||
6330,80006790,src/boot/viconfig
|
||||
6340,800067A0,src/boot/z_std_dma
|
||||
|
|
@ -2305,13 +2305,13 @@ IrqMgr_HandlePreNMI500 = 0x800AD808; // type:func
|
||||
IrqMgr_HandleRetrace = 0x800AD82C; // type:func
|
||||
IrqMgr_ThreadEntry = 0x800AD8E4; // type:func
|
||||
IrqMgr_Init = 0x800AD9B8; // type:func
|
||||
func_800ADA80 = 0x800ADA80; // type:func
|
||||
func_800ADAF8 = 0x800ADAF8; // type:func
|
||||
func_800ADB30 = 0x800ADB30; // type:func
|
||||
func_800ADB8C = 0x800ADB8C; // type:func
|
||||
func_800ADBD0 = 0x800ADBD0; // type:func
|
||||
func_800ADC00 = 0x800ADC00; // type:func
|
||||
func_800ADC08 = 0x800ADC08; // type:func
|
||||
func_800AD410 = 0x800ADA80; // type:func
|
||||
func_800AD488 = 0x800ADAF8; // type:func
|
||||
func_800AD4C0 = 0x800ADB30; // type:func
|
||||
func_800AD51C = 0x800ADB8C; // type:func
|
||||
func_800AD560 = 0x800ADBD0; // type:func
|
||||
func_800AD590 = 0x800ADC00; // type:func
|
||||
func_800AD598 = 0x800ADC08; // type:func
|
||||
Fault_SleepImpl = 0x800ADC20; // type:func
|
||||
Fault_WaitForInputImpl = 0x800ADC5C; // type:func
|
||||
Fault_WaitForInput = 0x800ADCD8; // type:func
|
||||
@ -3098,8 +3098,8 @@ Message_Init = 0x800E2660; // type:func
|
||||
Regs_InitDataImpl = 0x800E2704; // type:func
|
||||
Regs_InitData = 0x800E35D0; // type:func
|
||||
njpgdspMainTextStart = 0x800E7200; // type:func
|
||||
func_801C7740_unknown = 0x801C7740; // type:func
|
||||
func_801C8510_unknown = 0x801C8510; // type:func
|
||||
func_801C6E80 = 0x801C7740; // type:func
|
||||
func_801C7C1C = 0x801C8510; // type:func
|
||||
n64dd_SetDiskVersion = 0x801C8808; // type:func
|
||||
ConsoleLogo_Calc = 0x80800000; // type:func
|
||||
ConsoleLogo_SetupView = 0x8080009C; // type:func
|
||||
|
@ -12,16 +12,16 @@ gSaveContext = 0x8011AC80; // size:0x1428 type:SaveContext
|
||||
gRegEditor = 0x8011C0B0; // size:0x4 type:RegEditor*
|
||||
gSegments = 0x80121508; // size:0x40
|
||||
_string_n64dd_c = 0x801D9680; // size:0x1 type:char
|
||||
B_80121AF0 = 0x80121AF0; // size:0x4 type:n64ddStruct_80121AF0*
|
||||
B_80121AE0 = 0x80121AE0; // size:0x1 type:u8
|
||||
B_80121AE1 = 0x80121AE1; // size:0x1 type:s8
|
||||
B_80121AE2 = 0x80121AE2; // size:0x1 type:u8
|
||||
B_80121220 = 0x80121AF0; // size:0x4 type:n64ddStruct_80121220*
|
||||
D_80121210 = 0x80121AE0; // size:0x1 type:u8
|
||||
D_80121211 = 0x80121AE1; // size:0x1 type:s8
|
||||
D_80121212 = 0x80121AE2; // size:0x1 type:u8
|
||||
_n64ddSegmentStart = 0x801C7740;
|
||||
_n64ddSegmentRomStart = 0x00B8ADA0;
|
||||
_n64ddSegmentRomEnd = 0x00B9DA70;
|
||||
D_801DA410 = 0x801DA410;
|
||||
D_801E8090 = 0x801E8090;
|
||||
D_800FF4B0 = 0x800FF4B0; // size:0xB0 type:n64ddStruct_800FF4B0_pointers
|
||||
D_800FEE70 = 0x800FF4B0; // size:0xB0 type:n64ddStruct_800FEE70_pointers
|
||||
gPadMgr = 0x8011DBD0; // size:0x468 type:PadMgr
|
||||
gFaultMgr = 0x80121B60; // size:0x5D8 type:FaultMgr_v1
|
||||
sFaultInputs = 0x80121B00; // size:0x60 type:Input[4]
|
||||
@ -57,6 +57,6 @@ sGraphStack = 0x8011E468;
|
||||
sGraphThread = 0x8011E2B8;
|
||||
rspbootTextStart = 0x800065C0;
|
||||
rspbootTextEnd = 0x80006720;
|
||||
cic6105ucodeTextStart = 0x80006720;
|
||||
cic6105TextStart = 0x80006720;
|
||||
gBuildTeam = 0x80006D30;
|
||||
gBuildDate = 0x80006D3C;
|
||||
|
@ -12,34 +12,25 @@ D_06000000 = 0x06000000;
|
||||
|
||||
#if PLATFORM_N64
|
||||
|
||||
// boot_main.c
|
||||
func_80001720 = 0x80001720;
|
||||
|
||||
// cic6105.c
|
||||
cic6105ucodeTextStart = 0x80006720;
|
||||
|
||||
// code_n64dd_800AD410.c
|
||||
func_800ADCD8_unknown = 0x800ADCD8;
|
||||
func_800AE170_unknown = 0x800AE170;
|
||||
func_801C7740_unknown = 0x801C7740;
|
||||
func_801C8510_unknown = 0x801C8510;
|
||||
func_801C6E80 = 0x801C7740;
|
||||
func_801C7C1C = 0x801C8510;
|
||||
D_801DA410 = 0x801DA410;
|
||||
D_801E8090 = 0x801E8090;
|
||||
|
||||
// game.c
|
||||
func_801C86F0_unknown = 0x801C86F0;
|
||||
func_801C7760_unknown = 0x801C7760;
|
||||
func_801C7E78 = 0x801C86F0;
|
||||
func_801C6EA0 = 0x801C7760;
|
||||
|
||||
// z_en_mag.c
|
||||
func_801C79BC_unknown = 0x801C79BC;
|
||||
func_801C70FC = 0x801C79BC;
|
||||
|
||||
// z_setup.c
|
||||
n64dd_SetDiskVersion = 0x801C8808;
|
||||
|
||||
// z_title.c
|
||||
func_800014E8_unknown = 0x800014E8;
|
||||
func_801C8090_unknown = 0x801C8090;
|
||||
func_801C7BC4_unknown = 0x801C7BC4;
|
||||
func_801C7ED0_unknown = 0x801C7ED0;
|
||||
func_801C7818 = 0x801C8090;
|
||||
func_801C7268 = 0x801C7BC4;
|
||||
func_801C7658 = 0x801C7ED0;
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user