mirror of https://github.com/zeldaret/mm.git
Use variable names from ghidra project. Reorganize some data tables and header files to work easier with it.
This commit is contained in:
parent
e64adeff3e
commit
86ab9c2067
14
Makefile
14
Makefile
|
@ -104,19 +104,19 @@ build/code.bin: build/code.elf
|
|||
build/ovl_title.bin: build/code.elf
|
||||
$(MIPS_BINUTILS)objcopy --dump-section ovl_title=$@ $<
|
||||
|
||||
build/code_pre_dmadata.elf: $(S_O_FILES) $(C_O_FILES) codescript.txt undef.txt
|
||||
$(LD) -r -T codescript.txt -T undef.txt --no-check-sections --accept-unknown-input-arch -o $@
|
||||
build/code_pre_dmadata.elf: $(S_O_FILES) $(C_O_FILES) linker_scripts/code_script.txt undef.txt linker_scripts/object_script.txt
|
||||
$(LD) -r -T linker_scripts/code_script.txt -T undef.txt -T linker_scripts/object_script.txt --no-check-sections --accept-unknown-input-arch -o $@
|
||||
|
||||
build/code.elf: $(S_O_FILES) $(C_O_FILES) codescript.txt undef.txt dmadata_script.txt
|
||||
$(LD) -T codescript.txt -T undef.txt -T dmadata_script.txt --no-check-sections --accept-unknown-input-arch -o $@
|
||||
build/code.elf: $(S_O_FILES) $(C_O_FILES) linker_scripts/code_script.txt undef.txt linker_scripts/object_script.txt linker_scripts/dmadata_script.txt
|
||||
$(LD) -T linker_scripts/code_script.txt -T undef.txt -T linker_scripts/object_script.txt -T linker_scripts/dmadata_script.txt --no-check-sections --accept-unknown-input-arch -o $@
|
||||
|
||||
dmadata_script.txt: $(DECOMP_PRE_DMADATA_FILES) $(BASEROM_PRE_DMADATA_FILES)
|
||||
linker_scripts/dmadata_script.txt: $(DECOMP_PRE_DMADATA_FILES) $(BASEROM_PRE_DMADATA_FILES)
|
||||
# TODO is there a better way to avoid this shuffling?
|
||||
mv build/baserom build/baserom_temp
|
||||
mv build/decomp build/decomp_temp
|
||||
mv build/baserom_pre_dmadata build/baserom
|
||||
mv build/decomp_pre_dmadata build/decomp
|
||||
python3 ./tools/dmadata.py ./tables/dmadata_table.py /dev/null -u -l dmadata_script.txt
|
||||
python3 ./tools/dmadata.py ./tables/dmadata_table.py /dev/null -u -l linker_scripts/dmadata_script.txt
|
||||
mv build/baserom build/baserom_pre_dmadata
|
||||
mv build/decomp build/decomp_pre_dmadata
|
||||
mv build/baserom_temp build/baserom
|
||||
|
@ -151,7 +151,7 @@ build/decomp_pre_dmadata/ovl_title: build/ovl_title_pre_dmadata.bin
|
|||
|
||||
|
||||
disasm:
|
||||
@python3 ./tools/disasm.py -d ./asm -e ./include -u . -l ./tables/files.py -f ./tables/functions.py -o ./tables/objects.py -v ./tables/variables.py
|
||||
@python3 ./tools/disasm.py -d ./asm -e ./include -u . -l ./tables/files.py -f ./tables/functions.py -o ./tables/objects.py -v ./tables/variables.py -v ./tables/vrom_variables.py -v ./tables/object_addr_variables.py -v ./tables/pre_boot_variables.py
|
||||
@while read -r file; do \
|
||||
python3 ./tools/split_asm.py ./asm/$$file.asm ./asm/nonmatching/$$file; \
|
||||
done < ./tables/files_with_nonmatching.txt
|
||||
|
|
|
@ -26,7 +26,7 @@ void Dmamgr_osEPiStartDmaWrapper(OSPiHandle* pihandle, OSIoMesg* mb, s32 directi
|
|||
DmadataEntry* Dmamgr_FindDmaEntry(u32); // func_800808F4
|
||||
s32 Dmamgr_TranslateVromToRom(u32); // func_80080950
|
||||
s32 Dmamgr_FindDmaIndex(u32); // func_800809BC
|
||||
UNK_TYPE* func_800809F4(u32); // func_800809F4
|
||||
char* func_800809F4(u32); // func_800809F4
|
||||
void Dmamgr_HandleRequest(DmaRequest*); // func_80080A08
|
||||
void Dmamgr_ThreadEntry(void*); // func_80080B84
|
||||
s32 Dmamgr_SendRequest(DmaRequest*, UNK_FUN_ARG, UNK_PTR, UNK_TYPE, UNK_TYPE, OSMesgQueue*, UNK_TYPE); // func_80080C04
|
||||
|
@ -6735,10 +6735,6 @@ UNK_RET func_808FC5BC(UNK_ARGS); // func_808FC5BC
|
|||
// UNK_RET func_809038A4(UNK_ARGS);
|
||||
// UNK_RET func_80903C60(UNK_ARGS);
|
||||
// UNK_RET func_80903E20(UNK_ARGS);
|
||||
// UNK_RET func_80908554(UNK_ARGS);
|
||||
// UNK_RET func_80908674(UNK_ARGS);
|
||||
// UNK_RET func_809086B4(UNK_ARGS);
|
||||
// UNK_RET func_80908734(UNK_ARGS);
|
||||
// UNK_RET func_809089B8(UNK_ARGS);
|
||||
// UNK_RET func_80908A64(UNK_ARGS);
|
||||
// UNK_RET func_80908B4C(UNK_ARGS);
|
||||
|
@ -6746,10 +6742,6 @@ UNK_RET func_808FC5BC(UNK_ARGS); // func_808FC5BC
|
|||
// UNK_RET func_80909234(UNK_ARGS);
|
||||
// UNK_RET func_80909AD0(UNK_ARGS);
|
||||
// UNK_RET func_80909CC0(UNK_ARGS);
|
||||
// UNK_RET func_8090AB6C(UNK_ARGS);
|
||||
// UNK_RET func_8090C884(UNK_ARGS);
|
||||
// UNK_RET func_8090C8BC(UNK_ARGS);
|
||||
// UNK_RET func_8090C96C(UNK_ARGS);
|
||||
UNK_RET func_80917290(UNK_ARGS); // func_80917290
|
||||
UNK_RET func_809172E4(UNK_ARGS); // func_809172E4
|
||||
UNK_RET func_8091734C(UNK_ARGS); // func_8091734C
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
#ifndef _SEGMENT_H_
|
||||
#define _SEGMENT_H_
|
||||
|
||||
#include <PR/ultratypes.h>
|
||||
|
||||
extern UNK_TYPE D_060005D0; // D_060005D0
|
||||
extern UNK_TYPE D_06001100; // D_06001100
|
||||
extern UNK_TYPE D_06001228; // D_06001228
|
||||
extern UNK_TYPE D_06002D30; // D_06002D30
|
||||
|
||||
#endif
|
|
@ -6,152 +6,6 @@
|
|||
#include <unk.h>
|
||||
#include <os.h>
|
||||
|
||||
enum EffectSSType {
|
||||
EFFECT_SS2_TYPE_DUST = 0x0,
|
||||
EFFECT_SS2_TYPE_SPARKLE = 0x1,
|
||||
EFFECT_SS2_TYPE_DELETED_2 = 0x2,
|
||||
EFFECT_SS2_TYPE_BOMB2 = 0x3,
|
||||
EFFECT_SS2_TYPE_BLAST = 0x4,
|
||||
EFFECT_SS2_TYPE_G_SPARK = 0x5,
|
||||
EFFECT_SS2_TYPE_DODONGO_FIRE = 0x6,
|
||||
EFFECT_SS2_TYPE_BUBBLE = 0x7,
|
||||
EFFECT_SS2_TYPE_DELETED_8 = 0x8,
|
||||
EFFECT_SS2_TYPE_G_RIPPLE = 0x9,
|
||||
EFFECT_SS2_TYPE_G_SPLASH = 0xA,
|
||||
EFFECT_SS2_TYPE_DELETED_B = 0xB,
|
||||
EFFECT_SS2_TYPE_G_FIRE = 0xC,
|
||||
EFFECT_SS2_TYPE_LIGHTNING = 0xD,
|
||||
EFFECT_SS2_TYPE_BIG_OCTO_BUBBLE = 0xE,
|
||||
EFFECT_SS2_TYPE_FRAGMENT = 0xF,
|
||||
EFFECT_SS2_TYPE_STICK = 0x10,
|
||||
EFFECT_SS2_TYPE_SPLASH = 0x11,
|
||||
EFFECT_SS2_TYPE_DELETED_12 = 0x12,
|
||||
EFFECT_SS2_TYPE_DELETED_13 = 0x13,
|
||||
EFFECT_SS2_TYPE_STONE1 = 0x14,
|
||||
EFFECT_SS2_TYPE_HIT_MARK = 0x15,
|
||||
EFFECT_SS2_TYPE_PHANTOM_GANON_FLASH = 0x16,
|
||||
EFFECT_SS2_TYPE_KAKARIKO_FIRE = 0x17,
|
||||
EFFECT_SS2_TYPE_SOLDIER_SEARCH_BALL = 0x18,
|
||||
EFFECT_SS2_TYPE_SHARD = 0x19,
|
||||
EFFECT_SS2_TYPE_ICE_PIECE = 0x1A,
|
||||
EFFECT_SS2_TYPE_ENEMY_ICE = 0x1B,
|
||||
EFFECT_SS2_TYPE_FIRE_TAIL = 0x1C,
|
||||
EFFECT_SS2_TYPE_ENEMY_FIRE = 0x1D,
|
||||
EFFECT_SS2_TYPE_EXTRA = 0x1E,
|
||||
EFFECT_SS2_TYPE_DELETED_1F = 0x1F,
|
||||
EFFECT_SS2_TYPE_DEAD_DEKU_BABA = 0x20,
|
||||
EFFECT_SS2_TYPE_DEAD_DODONGO = 0x21,
|
||||
EFFECT_SS2_TYPE_DEAD_DEKU_SCRUB = 0x22,
|
||||
EFFECT_SS2_TYPE_DELETED_23 = 0x23,
|
||||
EFFECT_SS2_TYPE_ICE_SMOKE = 0x24,
|
||||
EFFECT_SS2_TYPE_ICE_BLOCK = 0x25,
|
||||
EFFECT_SS2_TYPE_SBN = 0x26,
|
||||
EFFECT_SS2_TYPE_LAST_LABEL = 0x27
|
||||
};
|
||||
|
||||
enum IRQ_MSG_TYPE {
|
||||
IRQ_VERTICAL_RETRACE_MSG = 0x1,
|
||||
IRQ_PRENMI_2_MSG = 0x3,
|
||||
IRQ_PRENMI_1_MSG = 0x4
|
||||
};
|
||||
|
||||
enum IRQ_TYPE {
|
||||
IRQ_VERTICAL_RETRACE = 0x29A,
|
||||
IRQ_SP = 0x29B,
|
||||
IRQ_DP = 0x29C,
|
||||
IRQ_PRENMI_1 = 0x29D,
|
||||
IRQ_PRENMI_2 = 0x29F,
|
||||
IRQ_PRENMI_3 = 0x2A0,
|
||||
IRQ_PRENMI_4 = 0x2A1
|
||||
};
|
||||
|
||||
enum THREAD_STACK_STATUS {
|
||||
THREAD_STACK_STATUS_GOOD = 0x0,
|
||||
THREAD_STACK_STATUS_WARNING = 0x1,
|
||||
THREAD_STACK_STATUS_FULL = 0x2
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ unsigned int inst1;
|
||||
/* 0x4 */ unsigned int inst2;
|
||||
/* 0x8 */ unsigned int inst3;
|
||||
/* 0xC */ unsigned int inst4;
|
||||
} __osExceptionVector;
|
||||
|
||||
typedef void(*func_ptr)(void);
|
||||
|
||||
typedef void(*osCreateThread_func)(void*);
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ OSThread unk0;
|
||||
/* 0x1B0 */ UNK_TYPE1 pad1B0[1536];
|
||||
/* 0x7B0 */ OSMesgQueue unk7B0;
|
||||
/* 0x7C8 */ UNK_TYPE4 unk7C8;
|
||||
/* 0x7CC */ u8 unk7CC;
|
||||
/* 0x7CD */ u8 unk7CD;
|
||||
/* 0x7CE */ u8 unk7CE;
|
||||
/* 0x7CF */ u8 unk7CF;
|
||||
/* 0x7D0 */ UNK_TYPE4 unk7D0;
|
||||
/* 0x7D4 */ func_ptr unk7D4;
|
||||
/* 0x7D8 */ UNK_TYPE4 unk7D8;
|
||||
/* 0x7DC */ UNK_TYPE1 pad7DC[108];
|
||||
} s80083BC4;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ UNK_TYPE4 unk0;
|
||||
/* 0x04 */ UNK_TYPE4 unk4;
|
||||
/* 0x08 */ UNK_TYPE4 unk8;
|
||||
/* 0x0C */ UNK_TYPE1 padC[92];
|
||||
/* 0x68 */ f32 unk68;
|
||||
/* 0x6C */ f32 unk6C;
|
||||
/* 0x70 */ f32 unk70;
|
||||
/* 0x74 */ u16 unk74;
|
||||
/* 0x76 */ u16 unk76;
|
||||
/* 0x78 */ u16 unk78;
|
||||
/* 0x7A */ UNK_TYPE1 pad7A[2];
|
||||
/* 0x7C */ f32 unk7C;
|
||||
/* 0x80 */ f32 unk80;
|
||||
/* 0x84 */ f32 unk84;
|
||||
/* 0x88 */ f32 unk88;
|
||||
/* 0x8C */ f32 unk8C;
|
||||
/* 0x90 */ f32 unk90;
|
||||
/* 0x94 */ u16 unk94;
|
||||
/* 0x96 */ u16 unk96;
|
||||
/* 0x98 */ u16 unk98;
|
||||
/* 0x9A */ UNK_TYPE1 pad9A[2];
|
||||
/* 0x9C */ f32 unk9C;
|
||||
/* 0xA0 */ f32 unkA0;
|
||||
/* 0xA4 */ f32 unkA4;
|
||||
} s800CAAD0;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ UNK_TYPE1 pad0[32];
|
||||
} s800E03A0;
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ OSThread unk0;
|
||||
/* 0x1B0 */ s8 argCount;
|
||||
/* 0x1B1 */ s8 unk1B1;
|
||||
/* 0x1B2 */ UNK_TYPE1 pad1B2[2];
|
||||
/* 0x1B4 */ UNK_TYPE1 func;
|
||||
/* 0x1B5 */ UNK_TYPE1 pad1B5[3];
|
||||
/* 0x1B8 */ s32 arg0;
|
||||
/* 0x1BC */ s32 arg1;
|
||||
} s8018571C;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ int unk0;
|
||||
/* 0x04 */ void* unk4;
|
||||
/* 0x08 */ int unk8;
|
||||
/* 0x0C */ int unkC;
|
||||
/* 0x10 */ int unk10;
|
||||
/* 0x14 */ OSMesgQueue unk14;
|
||||
} s80185D40;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ UNK_TYPE1 pad0[20];
|
||||
} s801FE7C0;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 unk0[32];
|
||||
} ActorDamageChart;
|
||||
|
@ -259,6 +113,49 @@ typedef struct {
|
|||
/* 0xC */ u32 romEnd;
|
||||
} DmadataEntry;
|
||||
|
||||
enum EffectSSType {
|
||||
EFFECT_SS2_TYPE_DUST = 0x0,
|
||||
EFFECT_SS2_TYPE_SPARKLE = 0x1,
|
||||
EFFECT_SS2_TYPE_DELETED_2 = 0x2,
|
||||
EFFECT_SS2_TYPE_BOMB2 = 0x3,
|
||||
EFFECT_SS2_TYPE_BLAST = 0x4,
|
||||
EFFECT_SS2_TYPE_G_SPARK = 0x5,
|
||||
EFFECT_SS2_TYPE_DODONGO_FIRE = 0x6,
|
||||
EFFECT_SS2_TYPE_BUBBLE = 0x7,
|
||||
EFFECT_SS2_TYPE_DELETED_8 = 0x8,
|
||||
EFFECT_SS2_TYPE_G_RIPPLE = 0x9,
|
||||
EFFECT_SS2_TYPE_G_SPLASH = 0xA,
|
||||
EFFECT_SS2_TYPE_DELETED_B = 0xB,
|
||||
EFFECT_SS2_TYPE_G_FIRE = 0xC,
|
||||
EFFECT_SS2_TYPE_LIGHTNING = 0xD,
|
||||
EFFECT_SS2_TYPE_BIG_OCTO_BUBBLE = 0xE,
|
||||
EFFECT_SS2_TYPE_FRAGMENT = 0xF,
|
||||
EFFECT_SS2_TYPE_STICK = 0x10,
|
||||
EFFECT_SS2_TYPE_SPLASH = 0x11,
|
||||
EFFECT_SS2_TYPE_DELETED_12 = 0x12,
|
||||
EFFECT_SS2_TYPE_DELETED_13 = 0x13,
|
||||
EFFECT_SS2_TYPE_STONE1 = 0x14,
|
||||
EFFECT_SS2_TYPE_HIT_MARK = 0x15,
|
||||
EFFECT_SS2_TYPE_PHANTOM_GANON_FLASH = 0x16,
|
||||
EFFECT_SS2_TYPE_KAKARIKO_FIRE = 0x17,
|
||||
EFFECT_SS2_TYPE_SOLDIER_SEARCH_BALL = 0x18,
|
||||
EFFECT_SS2_TYPE_SHARD = 0x19,
|
||||
EFFECT_SS2_TYPE_ICE_PIECE = 0x1A,
|
||||
EFFECT_SS2_TYPE_ENEMY_ICE = 0x1B,
|
||||
EFFECT_SS2_TYPE_FIRE_TAIL = 0x1C,
|
||||
EFFECT_SS2_TYPE_ENEMY_FIRE = 0x1D,
|
||||
EFFECT_SS2_TYPE_EXTRA = 0x1E,
|
||||
EFFECT_SS2_TYPE_DELETED_1F = 0x1F,
|
||||
EFFECT_SS2_TYPE_DEAD_DEKU_BABA = 0x20,
|
||||
EFFECT_SS2_TYPE_DEAD_DODONGO = 0x21,
|
||||
EFFECT_SS2_TYPE_DEAD_DEKU_SCRUB = 0x22,
|
||||
EFFECT_SS2_TYPE_DELETED_23 = 0x23,
|
||||
EFFECT_SS2_TYPE_ICE_SMOKE = 0x24,
|
||||
EFFECT_SS2_TYPE_ICE_BLOCK = 0x25,
|
||||
EFFECT_SS2_TYPE_SBN = 0x26,
|
||||
EFFECT_SS2_TYPE_LAST_LABEL = 0x27
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ s16 x;
|
||||
/* 0x2 */ s16 y;
|
||||
|
@ -292,21 +189,6 @@ typedef struct {
|
|||
/* 0xC */ void* heapAppendEnd;
|
||||
} GameStateHeap;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 ramLocation;
|
||||
/* 0x04 */ u32 vromStart;
|
||||
/* 0x08 */ u32 vromEnd;
|
||||
/* 0x0C */ u32 vramStart;
|
||||
/* 0x10 */ u32 vramEnd;
|
||||
/* 0x14 */ UNK_TYPE4 unk14;
|
||||
/* 0x18 */ func_ptr init;
|
||||
/* 0x1C */ func_ptr fini;
|
||||
/* 0x20 */ UNK_TYPE4 unk20;
|
||||
/* 0x24 */ UNK_TYPE4 unk24;
|
||||
/* 0x28 */ UNK_TYPE4 unk28;
|
||||
/* 0x2C */ u32 size;
|
||||
} GameStateMetaInfo;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s32 unk0;
|
||||
/* 0x04 */ UNK_TYPE1 pad4[64];
|
||||
|
@ -384,6 +266,22 @@ typedef struct {
|
|||
/* 0x2EC */ UNK_TYPE1 pad2EC[4];
|
||||
} GraphicsContext;
|
||||
|
||||
enum IRQ_MSG_TYPE {
|
||||
IRQ_VERTICAL_RETRACE_MSG = 0x1,
|
||||
IRQ_PRENMI_2_MSG = 0x3,
|
||||
IRQ_PRENMI_1_MSG = 0x4
|
||||
};
|
||||
|
||||
enum IRQ_TYPE {
|
||||
IRQ_VERTICAL_RETRACE = 0x29A,
|
||||
IRQ_SP = 0x29B,
|
||||
IRQ_DP = 0x29C,
|
||||
IRQ_PRENMI_1 = 0x29D,
|
||||
IRQ_PRENMI_2 = 0x29F,
|
||||
IRQ_PRENMI_3 = 0x2A0,
|
||||
IRQ_PRENMI_4 = 0x2A1
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u16 buttons;
|
||||
/* 0x2 */ s8 xAxis;
|
||||
|
@ -432,13 +330,6 @@ typedef struct {
|
|||
/* 0x10 */ Light lights[7];
|
||||
} LightMapper;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ f32 x[4];
|
||||
/* 0x10 */ f32 y[4];
|
||||
/* 0x20 */ f32 z[4];
|
||||
/* 0x30 */ f32 w[4];
|
||||
} z_Matrix;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u32 vromStart;
|
||||
/* 0x4 */ u32 vromEnd;
|
||||
|
@ -535,6 +426,12 @@ typedef struct {
|
|||
/* 0x0A7E */ UNK_TYPE1 padA7E[2902];
|
||||
} StaticContext;
|
||||
|
||||
enum THREAD_STACK_STATUS {
|
||||
THREAD_STACK_STATUS_GOOD = 0x0,
|
||||
THREAD_STACK_STATUS_WARNING = 0x1,
|
||||
THREAD_STACK_STATUS_FULL = 0x2
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ s8 unk0;
|
||||
/* 0x1 */ UNK_TYPE1 pad1[1];
|
||||
|
@ -596,9 +493,113 @@ typedef struct {
|
|||
/* 0x10 */ u32 destBufferEnd;
|
||||
} Yaz0DecompState;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ unsigned int inst1;
|
||||
/* 0x4 */ unsigned int inst2;
|
||||
/* 0x8 */ unsigned int inst3;
|
||||
/* 0xC */ unsigned int inst4;
|
||||
} __osExceptionVector;
|
||||
|
||||
typedef unsigned long(*func)(void);
|
||||
|
||||
typedef void(*func_ptr)(void);
|
||||
|
||||
typedef void(*light_map_directional_func)(LightMapper* mapper, void* params, Vector3f* pos);
|
||||
|
||||
typedef void(*light_map_positional_func)(LightMapper* mapper, void* params);
|
||||
typedef void(*osCreateThread_func)(void*);
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ OSThread unk0;
|
||||
/* 0x1B0 */ UNK_TYPE1 pad1B0[1536];
|
||||
/* 0x7B0 */ OSMesgQueue unk7B0;
|
||||
/* 0x7C8 */ UNK_TYPE4 unk7C8;
|
||||
/* 0x7CC */ u8 unk7CC;
|
||||
/* 0x7CD */ u8 unk7CD;
|
||||
/* 0x7CE */ u8 unk7CE;
|
||||
/* 0x7CF */ u8 unk7CF;
|
||||
/* 0x7D0 */ UNK_TYPE4 unk7D0;
|
||||
/* 0x7D4 */ func_ptr unk7D4;
|
||||
/* 0x7D8 */ UNK_TYPE4 unk7D8;
|
||||
/* 0x7DC */ UNK_TYPE1 pad7DC[108];
|
||||
} s80083BC4;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ UNK_TYPE4 unk0;
|
||||
/* 0x04 */ UNK_TYPE4 unk4;
|
||||
/* 0x08 */ UNK_TYPE4 unk8;
|
||||
/* 0x0C */ UNK_TYPE1 padC[92];
|
||||
/* 0x68 */ f32 unk68;
|
||||
/* 0x6C */ f32 unk6C;
|
||||
/* 0x70 */ f32 unk70;
|
||||
/* 0x74 */ u16 unk74;
|
||||
/* 0x76 */ u16 unk76;
|
||||
/* 0x78 */ u16 unk78;
|
||||
/* 0x7A */ UNK_TYPE1 pad7A[2];
|
||||
/* 0x7C */ f32 unk7C;
|
||||
/* 0x80 */ f32 unk80;
|
||||
/* 0x84 */ f32 unk84;
|
||||
/* 0x88 */ f32 unk88;
|
||||
/* 0x8C */ f32 unk8C;
|
||||
/* 0x90 */ f32 unk90;
|
||||
/* 0x94 */ u16 unk94;
|
||||
/* 0x96 */ u16 unk96;
|
||||
/* 0x98 */ u16 unk98;
|
||||
/* 0x9A */ UNK_TYPE1 pad9A[2];
|
||||
/* 0x9C */ f32 unk9C;
|
||||
/* 0xA0 */ f32 unkA0;
|
||||
/* 0xA4 */ f32 unkA4;
|
||||
} s800CAAD0;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ UNK_TYPE1 pad0[32];
|
||||
} s800E03A0;
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ OSThread unk0;
|
||||
/* 0x1B0 */ s8 argCount;
|
||||
/* 0x1B1 */ s8 unk1B1;
|
||||
/* 0x1B2 */ UNK_TYPE1 pad1B2[2];
|
||||
/* 0x1B4 */ UNK_TYPE1 func;
|
||||
/* 0x1B5 */ UNK_TYPE1 pad1B5[3];
|
||||
/* 0x1B8 */ s32 arg0;
|
||||
/* 0x1BC */ s32 arg1;
|
||||
} s8018571C;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ int unk0;
|
||||
/* 0x04 */ void* unk4;
|
||||
/* 0x08 */ int unk8;
|
||||
/* 0x0C */ int unkC;
|
||||
/* 0x10 */ int unk10;
|
||||
/* 0x14 */ OSMesgQueue unk14;
|
||||
} s80185D40;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 unk0;
|
||||
/* 0x04 */ u8 unk4;
|
||||
/* 0x05 */ u8 unk5;
|
||||
/* 0x06 */ u8 unk6;
|
||||
/* 0x07 */ UNK_TYPE1 pad7[2];
|
||||
/* 0x09 */ u8 unk9;
|
||||
/* 0x0A */ UNK_TYPE1 padA[2];
|
||||
/* 0x0C */ u32 unkC;
|
||||
/* 0x10 */ u16 unk10;
|
||||
/* 0x12 */ u16 unk12;
|
||||
/* 0x14 */ u16 unk14;
|
||||
/* 0x16 */ UNK_TYPE1 pad16[2];
|
||||
/* 0x18 */ u32 unk18;
|
||||
/* 0x1C */ u32 unk1C;
|
||||
/* 0x20 */ u32 unk20;
|
||||
/* 0x24 */ u32 unk24;
|
||||
/* 0x28 */ u32 unk28;
|
||||
/* 0x2C */ u32 unk2C;
|
||||
/* 0x30 */ u32 unk30;
|
||||
/* 0x34 */ u32 unk34;
|
||||
} s8018CFAC;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ UNK_TYPE1 pad0[20];
|
||||
} s801FE7C0;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vector3f unk0;
|
||||
|
@ -607,6 +608,13 @@ typedef struct {
|
|||
/* 0x1A */ s16 unk1A;
|
||||
} s80874650;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ f32 x[4];
|
||||
/* 0x10 */ f32 y[4];
|
||||
/* 0x20 */ f32 z[4];
|
||||
/* 0x30 */ f32 w[4];
|
||||
} z_Matrix;
|
||||
|
||||
// Related to collision?
|
||||
typedef struct {
|
||||
/* 0x00 */ ActorDamageChart* damageChart;
|
||||
|
@ -621,7 +629,7 @@ typedef struct {
|
|||
typedef struct {
|
||||
/* 0x00 */ Vector3s rotation;
|
||||
/* 0x08 */ f32 yDisplacement;
|
||||
/* 0x0C */ func_ptr postDrawFunc; // TODO params (Actor*, UNK*, GlobalContext*)
|
||||
/* 0x0C */ func_ptr postDrawFunc; // TODO params (z_Actor*, UNK*, z_GlobalContext*)
|
||||
/* 0x10 */ f32 unk10;
|
||||
/* 0x14 */ s8 unk14;
|
||||
} ActorBC;
|
||||
|
@ -711,6 +719,21 @@ typedef union {
|
|||
/* 0x0 */ F3DVertexNormal normal;
|
||||
} F3DVertex;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 ramLocation;
|
||||
/* 0x04 */ u32 vromStart;
|
||||
/* 0x08 */ u32 vromEnd;
|
||||
/* 0x0C */ u32 vramStart;
|
||||
/* 0x10 */ u32 vramEnd;
|
||||
/* 0x14 */ UNK_TYPE4 unk14;
|
||||
/* 0x18 */ func_ptr init;
|
||||
/* 0x1C */ func_ptr fini;
|
||||
/* 0x20 */ UNK_TYPE4 unk20;
|
||||
/* 0x24 */ UNK_TYPE4 unk24;
|
||||
/* 0x28 */ UNK_TYPE4 unk28;
|
||||
/* 0x2C */ u32 size;
|
||||
} GameStateMetaInfo;
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ View unk0;
|
||||
/* 0x168 */ UNK_TYPE1 pad168[194];
|
||||
|
@ -1023,8 +1046,24 @@ typedef void(*collision_func)(GlobalContext*, CollisionContext*, ColCommon*, Col
|
|||
|
||||
typedef void(*cutscene_update_func)(GlobalContext* ctxt, CutsceneContext* cCtxt);
|
||||
|
||||
typedef void(*draw_func)(GlobalContext* ctxt, s16 index);
|
||||
|
||||
typedef void(*global_context_func)(GlobalContext*);
|
||||
|
||||
typedef void(*light_map_positional_func)(LightMapper* mapper, void* params, GlobalContext* ctxt);
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ draw_func unk0;
|
||||
/* 0x04 */ u32 unk4;
|
||||
/* 0x08 */ u32 unk8;
|
||||
/* 0x0C */ u32 unkC;
|
||||
/* 0x10 */ u32 unk10;
|
||||
/* 0x14 */ u32 unk14;
|
||||
/* 0x18 */ u32 unk18;
|
||||
/* 0x1C */ u32 unk1C;
|
||||
/* 0x20 */ u32 unk20;
|
||||
} s801BB170;
|
||||
|
||||
typedef void(*scene_header_func)(GlobalContext* ctxt, SceneHeaderEntry* entry);
|
||||
|
||||
typedef struct Heap Heap;
|
||||
|
@ -1052,42 +1091,22 @@ typedef struct Irqmgr Irqmgr;
|
|||
|
||||
typedef struct AudioThreadStruct AudioThreadStruct;
|
||||
|
||||
typedef struct z_Light z_Light;
|
||||
typedef struct LightingContext LightingContext;
|
||||
|
||||
struct z_Light {
|
||||
/* 0x0 */ LightInfo* info;
|
||||
/* 0x4 */ z_Light* prev;
|
||||
/* 0x8 */ z_Light* next;
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ z_Light* lightsHead;
|
||||
/* 0x4 */ u8 ambientRed;
|
||||
/* 0x5 */ u8 ambientGreen;
|
||||
/* 0x6 */ u8 ambientBlue;
|
||||
/* 0x7 */ UNK_TYPE1 pad7[3];
|
||||
/* 0xA */ s16 unkA;
|
||||
/* 0xC */ s16 unkC;
|
||||
} LightingContext;
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ int numOccupied;
|
||||
/* 0x004 */ int nextFree;
|
||||
/* 0x008 */ z_Light lights[32];
|
||||
} LightsList;
|
||||
typedef struct LightsList LightsList;
|
||||
|
||||
typedef struct LoadedParticleEntry LoadedParticleEntry;
|
||||
|
||||
typedef void(*effect_func)(GlobalContext* ctxt, u32 index, LoadedParticleEntry* particle);
|
||||
|
||||
typedef void(*effect_init_func)(GlobalContext* ctxt, u32 index, LoadedParticleEntry* particle, void* init);
|
||||
|
||||
struct EffectTableInfo {
|
||||
/* 0x0 */ LoadedParticleEntry* data_table; // Name from debug assert
|
||||
/* 0x4 */ s32 searchIndex;
|
||||
/* 0x8 */ s32 size;
|
||||
};
|
||||
|
||||
typedef void(*effect_func)(GlobalContext* ctxt, u32 index, LoadedParticleEntry* particle);
|
||||
|
||||
typedef void(*effect_init_func)(GlobalContext* ctxt, u32 index, LoadedParticleEntry* particle, void* init);
|
||||
|
||||
struct LoadedParticleEntry {
|
||||
/* 0x00 */ Vector3f position;
|
||||
/* 0x0C */ Vector3f velocity;
|
||||
|
@ -1217,11 +1236,87 @@ struct ThreadInfo {
|
|||
/* 0x18 */ s8* name;
|
||||
};
|
||||
|
||||
typedef struct z_Light z_Light;
|
||||
|
||||
struct LightingContext {
|
||||
/* 0x0 */ z_Light* lightsHead;
|
||||
/* 0x4 */ u8 ambientRed;
|
||||
/* 0x5 */ u8 ambientGreen;
|
||||
/* 0x6 */ u8 ambientBlue;
|
||||
/* 0x7 */ u8 unk7;
|
||||
/* 0x8 */ u8 unk8;
|
||||
/* 0x9 */ u8 unk9;
|
||||
/* 0xA */ s16 unkA;
|
||||
/* 0xC */ s16 unkC;
|
||||
};
|
||||
|
||||
struct z_Light {
|
||||
/* 0x0 */ LightInfo* info;
|
||||
/* 0x4 */ z_Light* prev;
|
||||
/* 0x8 */ z_Light* next;
|
||||
};
|
||||
|
||||
struct LightsList {
|
||||
/* 0x000 */ int numOccupied;
|
||||
/* 0x004 */ int nextFree;
|
||||
/* 0x008 */ z_Light lights[32];
|
||||
};
|
||||
|
||||
typedef struct Actor Actor;
|
||||
|
||||
struct ActorTypeList {
|
||||
/* 0x0 */ s32 length;
|
||||
/* 0x4 */ Actor* head;
|
||||
/* 0x8 */ UNK_TYPE1 pad8[4];
|
||||
};
|
||||
|
||||
struct ColCommon {
|
||||
/* 0x00 */ Actor* actor;
|
||||
/* 0x04 */ Actor* unk4;
|
||||
/* 0x08 */ Actor* unk8;
|
||||
/* 0x0C */ Actor* unkC;
|
||||
/* 0x10 */ u8 unk10;
|
||||
/* 0x11 */ u8 unk11;
|
||||
/* 0x12 */ u8 unk12;
|
||||
/* 0x13 */ u8 unk13;
|
||||
/* 0x14 */ u8 unk14;
|
||||
/* 0x15 */ u8 type;
|
||||
/* 0x16 */ UNK_TYPE1 pad16[2];
|
||||
};
|
||||
|
||||
struct ColCylinder {
|
||||
/* 0x00 */ ColCommon base;
|
||||
/* 0x18 */ ColBodyInfo body;
|
||||
/* 0x40 */ ColCylinderParams params;
|
||||
};
|
||||
|
||||
struct ColQuad {
|
||||
/* 0x00 */ ColCommon base;
|
||||
/* 0x18 */ ColBodyInfo body;
|
||||
/* 0x40 */ ColQuadParams params;
|
||||
};
|
||||
|
||||
struct ColSphere {
|
||||
/* 0x00 */ ColCommon base;
|
||||
/* 0x18 */ ColBodyInfo body;
|
||||
/* 0x40 */ ColSphereParams params;
|
||||
};
|
||||
|
||||
struct ColSphereGroup {
|
||||
/* 0x00 */ ColCommon base;
|
||||
/* 0x18 */ u32 count;
|
||||
/* 0x1C */ ColSphereGroupElement* spheres;
|
||||
};
|
||||
|
||||
struct ColTriGroup {
|
||||
/* 0x00 */ ColCommon base;
|
||||
/* 0x18 */ u32 count;
|
||||
/* 0x1C */ ColTri* tris;
|
||||
};
|
||||
|
||||
typedef void(*actor_func)(Actor* this, GlobalContext* ctxt);
|
||||
|
||||
typedef void(*actor_init_var_func)(Actor*, ActorInitVar*);
|
||||
typedef void(*actor_init_var_func)(u8*, ActorInitVar*);
|
||||
|
||||
struct Actor {
|
||||
/* 0x000 */ s16 id;
|
||||
|
@ -1293,104 +1388,6 @@ struct Actor {
|
|||
/* 0x140 */ ActorOverlayTableEntry* tableEntry;
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ Actor base;
|
||||
/* 0x144 */ UNK_TYPE1 pad144[100];
|
||||
/* 0x1A8 */ u32 displayListAddr;
|
||||
/* 0x1AC */ actor_func updateFunc;
|
||||
} ActorBgIknvObj;
|
||||
|
||||
struct ActorBgMbarChair {
|
||||
/* 0x000 */ Actor base;
|
||||
/* 0x144 */ UNK_TYPE1 pad144[24];
|
||||
};
|
||||
|
||||
struct ActorEnBji01 {
|
||||
/* 0x000 */ Actor base;
|
||||
/* 0x144 */ UNK_TYPE1 pad144[368];
|
||||
};
|
||||
|
||||
struct ActorEnTest {
|
||||
/* 0x000 */ Actor base;
|
||||
/* 0x144 */ UNK_TYPE1 pad144[16];
|
||||
/* 0x154 */ f32 unk154;
|
||||
/* 0x158 */ UNK_TYPE1 pad158[176];
|
||||
/* 0x208 */ u8 unk208;
|
||||
/* 0x209 */ UNK_TYPE1 pad209[1];
|
||||
/* 0x20A */ u8 unk20A;
|
||||
/* 0x20B */ UNK_TYPE1 pad20B[1];
|
||||
/* 0x20C */ ActorEnTest20C unk20C[20];
|
||||
};
|
||||
|
||||
struct ActorInitData {
|
||||
/* 0x00 */ s16 id;
|
||||
/* 0x02 */ u8 type;
|
||||
/* 0x03 */ UNK_TYPE1 pad3[1];
|
||||
/* 0x04 */ s32 flags;
|
||||
/* 0x08 */ s16 objectDependency;
|
||||
/* 0x0A */ UNK_TYPE1 padA[2];
|
||||
/* 0x0C */ u32 instanceSize;
|
||||
/* 0x10 */ actor_func init;
|
||||
/* 0x14 */ actor_func fini;
|
||||
/* 0x18 */ actor_func main;
|
||||
/* 0x1C */ actor_func draw;
|
||||
};
|
||||
|
||||
struct ActorPlayer {
|
||||
/* 0x000 */ Actor base;
|
||||
/* 0x144 */ UNK_TYPE1 pad144[3124];
|
||||
};
|
||||
|
||||
struct ActorTypeList {
|
||||
/* 0x0 */ s32 length;
|
||||
/* 0x4 */ Actor* head;
|
||||
/* 0x8 */ UNK_TYPE1 pad8[4];
|
||||
};
|
||||
|
||||
struct ColCommon {
|
||||
/* 0x00 */ Actor* actor;
|
||||
/* 0x04 */ Actor* unk4;
|
||||
/* 0x08 */ Actor* unk8;
|
||||
/* 0x0C */ Actor* unkC;
|
||||
/* 0x10 */ u8 unk10;
|
||||
/* 0x11 */ u8 unk11;
|
||||
/* 0x12 */ u8 unk12;
|
||||
/* 0x13 */ u8 unk13;
|
||||
/* 0x14 */ u8 unk14;
|
||||
/* 0x15 */ u8 type;
|
||||
/* 0x16 */ UNK_TYPE1 pad16[2];
|
||||
};
|
||||
|
||||
struct ColCylinder {
|
||||
/* 0x00 */ ColCommon base;
|
||||
/* 0x18 */ ColBodyInfo body;
|
||||
/* 0x40 */ ColCylinderParams params;
|
||||
};
|
||||
|
||||
struct ColQuad {
|
||||
/* 0x00 */ ColCommon base;
|
||||
/* 0x18 */ ColBodyInfo body;
|
||||
/* 0x40 */ ColQuadParams params;
|
||||
};
|
||||
|
||||
struct ColSphere {
|
||||
/* 0x00 */ ColCommon base;
|
||||
/* 0x18 */ ColBodyInfo body;
|
||||
/* 0x40 */ ColSphereParams params;
|
||||
};
|
||||
|
||||
struct ColSphereGroup {
|
||||
/* 0x00 */ ColCommon base;
|
||||
/* 0x18 */ u32 count;
|
||||
/* 0x1C */ ColSphereGroupElement* spheres;
|
||||
};
|
||||
|
||||
struct ColTriGroup {
|
||||
/* 0x00 */ ColCommon base;
|
||||
/* 0x18 */ u32 count;
|
||||
/* 0x1C */ ColTri* tris;
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ Actor base;
|
||||
/* 0x144 */ ColQuad unk144;
|
||||
|
@ -1405,6 +1402,18 @@ typedef struct {
|
|||
/* 0x261 */ UNK_TYPE1 pad261[3];
|
||||
} ActorArrowFire;
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ Actor base;
|
||||
/* 0x144 */ UNK_TYPE1 pad144[100];
|
||||
/* 0x1A8 */ u32 displayListAddr;
|
||||
/* 0x1AC */ actor_func updateFunc;
|
||||
} ActorBgIknvObj;
|
||||
|
||||
struct ActorBgMbarChair {
|
||||
/* 0x000 */ Actor base;
|
||||
/* 0x144 */ UNK_TYPE1 pad144[24];
|
||||
};
|
||||
|
||||
struct ActorContext {
|
||||
/* 0x000 */ UNK_TYPE1 pad0[2];
|
||||
/* 0x002 */ u8 unk2;
|
||||
|
@ -1439,6 +1448,11 @@ typedef struct {
|
|||
/* 0x194 */ UNK_TYPE1 pad194[20];
|
||||
} ActorEnAObj;
|
||||
|
||||
struct ActorEnBji01 {
|
||||
/* 0x000 */ Actor base;
|
||||
/* 0x144 */ UNK_TYPE1 pad144[368];
|
||||
};
|
||||
|
||||
struct ActorEnBom {
|
||||
/* 0x000 */ Actor base;
|
||||
/* 0x144 */ ColCylinder unk144;
|
||||
|
@ -1488,6 +1502,32 @@ typedef struct {
|
|||
/* 0x1A4 */ UNK_TYPE1 pad1A4[4];
|
||||
} ActorEnItem00;
|
||||
|
||||
struct ActorEnTest {
|
||||
/* 0x000 */ Actor base;
|
||||
/* 0x144 */ UNK_TYPE1 pad144[16];
|
||||
/* 0x154 */ f32 unk154;
|
||||
/* 0x158 */ UNK_TYPE1 pad158[176];
|
||||
/* 0x208 */ u8 unk208;
|
||||
/* 0x209 */ UNK_TYPE1 pad209[1];
|
||||
/* 0x20A */ u8 unk20A;
|
||||
/* 0x20B */ UNK_TYPE1 pad20B[1];
|
||||
/* 0x20C */ ActorEnTest20C unk20C[20];
|
||||
};
|
||||
|
||||
struct ActorInitData {
|
||||
/* 0x00 */ s16 id;
|
||||
/* 0x02 */ u8 type;
|
||||
/* 0x03 */ UNK_TYPE1 pad3[1];
|
||||
/* 0x04 */ s32 flags;
|
||||
/* 0x08 */ s16 objectDependency;
|
||||
/* 0x0A */ UNK_TYPE1 padA[2];
|
||||
/* 0x0C */ u32 instanceSize;
|
||||
/* 0x10 */ actor_func init;
|
||||
/* 0x14 */ actor_func fini;
|
||||
/* 0x18 */ actor_func main;
|
||||
/* 0x1C */ actor_func draw;
|
||||
};
|
||||
|
||||
struct ActorObjBell {
|
||||
/* 0x000 */ Actor base;
|
||||
/* 0x144 */ UNK_TYPE1 pad144[24];
|
||||
|
@ -1500,6 +1540,11 @@ struct ActorObjBell {
|
|||
/* 0x216 */ UNK_TYPE1 pad216[18];
|
||||
};
|
||||
|
||||
struct ActorPlayer {
|
||||
/* 0x000 */ Actor base;
|
||||
/* 0x144 */ UNK_TYPE1 pad144[3124];
|
||||
};
|
||||
|
||||
struct GlobalContext {
|
||||
/* 0x00000 */ ContextCommon commonVars;
|
||||
/* 0x000A4 */ s16 currentScene;
|
||||
|
@ -1511,7 +1556,6 @@ struct GlobalContext {
|
|||
/* 0x00220 */ GlobalContext220 unk220[4];
|
||||
/* 0x00800 */ UNK_TYPE1 pad800[24];
|
||||
/* 0x00818 */ LightingContext lightsContext;
|
||||
/* 0x00826 */ UNK_TYPE1 pad826[2];
|
||||
/* 0x00828 */ u32 unk828;
|
||||
/* 0x0082C */ UNK_TYPE1 pad82C[5236];
|
||||
/* 0x01CA0 */ ActorContext actorContext;
|
||||
|
@ -1527,7 +1571,7 @@ struct GlobalContext {
|
|||
/* 0x17000 */ u16 unk17000;
|
||||
/* 0x17002 */ UNK_TYPE1 pad17002[2];
|
||||
/* 0x17004 */ KankyoContext kankyoContext;
|
||||
/* 0x170F6 */ UNK_TYPE1 pad170F6[3218];
|
||||
/* 0x170F8 */ UNK_TYPE1 pad170F8[3216];
|
||||
/* 0x17D88 */ SceneContext sceneContext;
|
||||
/* 0x186E0 */ s8 currentRoom;
|
||||
/* 0x186E1 */ UNK_TYPE1 pad186E1[5];
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#define UNK_TYPE1 s8
|
||||
#define UNK_TYPE2 s16
|
||||
#define UNK_TYPE4 s32
|
||||
#define UNK_TYPE8 s64
|
||||
#define UNK_PTR void*
|
||||
#define UNK_RET void
|
||||
#define UNK_FUN_ARG void(*)(void)
|
||||
|
|
28585
include/variables.h
28585
include/variables.h
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,4 @@
|
|||
D_060005D0 = 0x060005D0;
|
||||
D_06001100 = 0x06001100;
|
||||
D_06001228 = 0x06001228;
|
||||
D_06002D30 = 0x06002D30;
|
|
@ -39,7 +39,7 @@ UNK_RET func_80080250(void) {
|
|||
|
||||
v1 = &code_vrom_start;
|
||||
t7 = &code_vrom_end;
|
||||
v0 = &D_80096B50;
|
||||
v0 = &dmamgrChunkSize;
|
||||
sp28 = *v0;
|
||||
*v0 = 0;
|
||||
|
||||
|
@ -48,14 +48,14 @@ UNK_RET func_80080250(void) {
|
|||
func_800801EC();
|
||||
osRecvMesg(&sp30, 0, 1);
|
||||
|
||||
D_80096B50 = sp28;
|
||||
dmamgrChunkSize = sp28;
|
||||
|
||||
func_80080150(&D_801E3FA0, &D_80208EA0);
|
||||
}
|
||||
|
||||
UNK_RET func_80080300(UNK_TYPE a0) {
|
||||
func_80085320(&D_8009A670, &D_8009A170, &D_8009A670_, 0, 256, &D_800981A0);
|
||||
func_80081754(&D_80099EF0, &D_8009A670, 18, 1);
|
||||
func_80085320(&irqmgrThreadInfo, &irqmgrStack, &irqmgrStack[1280], 0, 256, &irqmgrThreadName);
|
||||
func_80081754(&irqmgrContext, &irqmgrThreadInfo, 18, 1);
|
||||
func_80080D0C();
|
||||
func_80080250();
|
||||
func_80174BF0(a0);
|
||||
|
@ -66,9 +66,9 @@ void func_8008038C(void) {
|
|||
u32 i;
|
||||
osCreateViManager(254);
|
||||
|
||||
D_80096B2C = 66;
|
||||
D_80096B30 = 1.0;
|
||||
D_80096B34 = 1.0;
|
||||
viEnabledSpecialFeatures = 66;
|
||||
screenXScale = 1.0;
|
||||
screenYScale = 1.0;
|
||||
|
||||
switch (osTvType) {
|
||||
case 1:
|
||||
|
@ -76,19 +76,19 @@ void func_8008038C(void) {
|
|||
for (i = 0; i < 20; i++) {
|
||||
D_800980E0[i] = D_8009B240[i];
|
||||
}
|
||||
D_80096B34 = D_800981B0;
|
||||
screenYScale = D_800981B0;
|
||||
break;
|
||||
case 2:
|
||||
D_8009B290 = 30;
|
||||
for (i = 0; i < 20; i++) {
|
||||
D_80098010[i] = D_8009B240[i];
|
||||
osViModeMpalLan1[i] = D_8009B240[i];
|
||||
}
|
||||
D_80096B34 = D_800981B0;
|
||||
screenYScale = D_800981B0;
|
||||
break;
|
||||
case 0:
|
||||
D_8009B290 = 44;
|
||||
for (i = 0; i < 20; i++) {
|
||||
D_80097FC0[i] = D_8009B240[i];
|
||||
osViModeNtscLan1[i] = D_8009B240[i];
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -99,9 +99,9 @@ void func_8008038C(void) {
|
|||
void func_80080514(UNK_TYPE a0) {
|
||||
func_8008038C();
|
||||
osCreatePiManager(150, (OSMesgQueue*)&D_8009B228, (OSMesg*)&D_8009B160, 50);
|
||||
func_80085320(&D_8009B140, &D_8009A840, &D_8009B140_, 0, 1024, &D_800981A8);
|
||||
osCreateThread((OSThread*)&D_8009A690, 3, (void (*)(void*))func_80080300, (void*)a0, (void*)&D_8009B140, 12);
|
||||
osStartThread((OSThread*)&D_8009A690);
|
||||
func_80085320(&mainThreadInfo, &mainStack, &mainStack[2304], 0, 1024, &mainThreadName);
|
||||
osCreateThread((OSThread*)&mainOSThread, 3, (void (*)(void*))func_80080300, (void*)a0, (void*)&mainThreadInfo, 12);
|
||||
osStartThread((OSThread*)&mainOSThread);
|
||||
osSetThreadPri(NULL, 0);
|
||||
|
||||
while(1);
|
||||
|
|
|
@ -6,7 +6,7 @@ void func_80085320(ThreadInfo* a0, UNK_PTR a1, UNK_PTR a2, UNK_TYPE a3, UNK_TYPE
|
|||
ThreadInfo* v0;
|
||||
|
||||
if (a0 == NULL) {
|
||||
g_s80085320_ListHead = NULL;
|
||||
ThreadInfoListHead = NULL;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -16,23 +16,23 @@ void func_80085320(ThreadInfo* a0, UNK_PTR a1, UNK_PTR a2, UNK_TYPE a3, UNK_TYPE
|
|||
a0->unk14 = sp10;
|
||||
a0->unk18 = sp14;
|
||||
|
||||
v0 = g_s80085320_ListHead;
|
||||
v0 = ThreadInfoListHead;
|
||||
while (v0 != NULL) {
|
||||
if (v0 == a0) return;
|
||||
v0 = v0->next;
|
||||
}
|
||||
|
||||
a0->prev = g_s80085320_ListTail;
|
||||
a0->prev = ThreadInfoListTail;
|
||||
a0->next = NULL;
|
||||
|
||||
if (g_s80085320_ListTail != NULL) {
|
||||
g_s80085320_ListTail->next = a0;
|
||||
if (ThreadInfoListTail != NULL) {
|
||||
ThreadInfoListTail->next = a0;
|
||||
}
|
||||
|
||||
g_s80085320_ListTail = a0;
|
||||
ThreadInfoListTail = a0;
|
||||
|
||||
if (g_s80085320_ListHead == NULL) {
|
||||
g_s80085320_ListHead = a0;
|
||||
if (ThreadInfoListHead == NULL) {
|
||||
ThreadInfoListHead = a0;
|
||||
}
|
||||
|
||||
if (a0->unk14 != -1) {
|
||||
|
@ -44,16 +44,16 @@ void func_80085320(ThreadInfo* a0, UNK_PTR a1, UNK_PTR a2, UNK_TYPE a3, UNK_TYPE
|
|||
|
||||
UNK_RET func_800853F8(ThreadInfo* a0) {
|
||||
if (a0->prev == NULL) {
|
||||
if (g_s80085320_ListHead == a0) {
|
||||
g_s80085320_ListHead = a0->next;
|
||||
if (ThreadInfoListHead == a0) {
|
||||
ThreadInfoListHead = a0->next;
|
||||
}
|
||||
} else {
|
||||
a0->prev->next = a0->next;
|
||||
}
|
||||
|
||||
if (a0->next == NULL) {
|
||||
if (g_s80085320_ListTail == a0) {
|
||||
g_s80085320_ListTail = a0->prev;
|
||||
if (ThreadInfoListTail == a0) {
|
||||
ThreadInfoListTail = a0->prev;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -83,7 +83,7 @@ UNK_TYPE func_80085468(ThreadInfo* a0) {
|
|||
}
|
||||
|
||||
UNK_TYPE func_800854E0(UNK_ARGS) {
|
||||
ThreadInfo* s0 = g_s80085320_ListHead;
|
||||
ThreadInfo* s0 = ThreadInfoListHead;
|
||||
UNK_TYPE ret = 0;
|
||||
while (s0 != NULL) {
|
||||
if (func_80085468(s0) != 0) {
|
||||
|
|
|
@ -8,54 +8,54 @@ OSPiHandle* func_80092920(void) {
|
|||
u32 temp3;
|
||||
u32 temp4;
|
||||
UNK_TYPE func_ret;
|
||||
|
||||
|
||||
func_8008C1E0();
|
||||
|
||||
|
||||
if (D_800980D0 == 0) {
|
||||
func_8008C224();
|
||||
return &D_8009E610;
|
||||
}
|
||||
|
||||
D_800980D0_ = 0;
|
||||
|
||||
|
||||
D_800980D0 = 0; // TODO volatile?
|
||||
|
||||
D_8009E610.type = 0;
|
||||
D_8009E610.baseAddress = 0xB0000000;
|
||||
D_8009E610.domain = 0;
|
||||
D_8009E610.speed = 0;
|
||||
|
||||
|
||||
func_80089630(&D_8009E624, 96);
|
||||
|
||||
|
||||
while ((*(vu32*)0xA4600010) & 0x3);
|
||||
|
||||
|
||||
temp = *(vu32*)0xA4600014;
|
||||
temp2 = *(vu32*)0xA460001C;
|
||||
temp3 = *(vu32*)0xA4600020;
|
||||
temp4 = *(vu32*)0xA4600018;
|
||||
|
||||
|
||||
*(vu32*)0xA4600014 = 255;
|
||||
*(vu32*)0xA460001C = 0;
|
||||
*(vu32*)0xA4600020 = 3;
|
||||
*(vu32*)0xA4600018 = 255;
|
||||
|
||||
|
||||
v0 = *(u32*)(D_8009E610.baseAddress | 0xA0000000);
|
||||
D_8009E610.pageSize = (v0 >> 16) & 0xF;
|
||||
D_8009E610.relDuration = (v0 >> 20) & 0xF;
|
||||
D_8009E610.pulse = v0 >> 8;
|
||||
D_8009E610.latency = v0;
|
||||
|
||||
|
||||
*(vu32*)0xA4600014 = temp;
|
||||
*(vu32*)0xA460001C = temp2;
|
||||
*(vu32*)0xA4600020 = temp3;
|
||||
*(vu32*)0xA4600018 = temp4;
|
||||
|
||||
|
||||
func_ret = func_80091A60();
|
||||
|
||||
D_8009E610.next = D_80097E8C;
|
||||
D_80097E8C = &D_8009E610;
|
||||
|
||||
|
||||
D_8009E610.next = osPiHandleListHead;
|
||||
osPiHandleListHead = &D_8009E610;
|
||||
|
||||
func_80091AD0(func_ret);
|
||||
|
||||
|
||||
func_8008C224();
|
||||
|
||||
|
||||
return &D_8009E610;
|
||||
}
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
#include <global.h>
|
||||
|
||||
UNK_RET start(void) {
|
||||
thread_info_init(&D_80099500, &D_80099AF0, &D_80099EF0, 0, -1, &D_80098190);
|
||||
thread_info_init(&bootThreadInfo, &bootStack, &irqmgrContext, 0, -1, &bootThreadName);
|
||||
osMemSize = func_8008D350();
|
||||
func_800818F4();
|
||||
osInitialize();
|
||||
osUnmapTLBAll();
|
||||
D_80096B40 = func_80092920();
|
||||
thread_info_init(&D_80099AD0, &D_800996D0, &D_80099AD0_, 0, 256, &D_80098198);
|
||||
osCreateThread(&D_80099520, 1, (void(*)(void*))Idle_ThreadEntry, 0, &D_80099AD0, 12);
|
||||
osStartThread(&D_80099520);
|
||||
thread_info_init(&idleTreadInfo, &idleStack, &idleStack[1024], 0, 256, &idleThreadName);
|
||||
osCreateThread(&idleOSThread, 1, (void(*)(void*))Idle_ThreadEntry, 0, &idleTreadInfo, 12);
|
||||
osStartThread(&idleOSThread);
|
||||
}
|
||||
|
|
|
@ -7,23 +7,23 @@ UNK_RET func_800805E0(UNK_TYPE a0) {
|
|||
if (a0 != 0) {
|
||||
switch (osTvType) {
|
||||
case 2:
|
||||
osViSetMode(&D_80098010);
|
||||
osViSetMode(&osViModeMpalLan1);
|
||||
break;
|
||||
case 0:
|
||||
osViSetMode(&D_80097590);
|
||||
break;
|
||||
case 1:
|
||||
default:
|
||||
osViSetMode(&D_80097FC0);
|
||||
osViSetMode(&osViModeNtscLan1);
|
||||
break;
|
||||
}
|
||||
|
||||
// TODO v0 is used here instead of a0. Is this a 7.1 optimization?
|
||||
if (D_80096B2C != 0) {
|
||||
osViSetSpecialFeatures(D_80096B2C);
|
||||
if (viEnabledSpecialFeatures != 0) {
|
||||
osViSetSpecialFeatures(viEnabledSpecialFeatures);
|
||||
}
|
||||
|
||||
if (D_80096B34 != 1) {
|
||||
if (screenYScale != 1) {
|
||||
osViSetYScale(1);
|
||||
}
|
||||
} else {
|
||||
|
@ -34,16 +34,16 @@ UNK_RET func_800805E0(UNK_TYPE a0) {
|
|||
}
|
||||
|
||||
// TODO v0 is used here instead of a0. Is this a 7.1 optimization?
|
||||
if (D_80096B2C != 0) {
|
||||
osViSetSpecialFeatures(D_80096B2C);
|
||||
if (viEnabledSpecialFeatures != 0) {
|
||||
osViSetSpecialFeatures(viEnabledSpecialFeatures);
|
||||
}
|
||||
|
||||
if (D_80096B30 != 1) {
|
||||
osViSetXScale(D_80096B30);
|
||||
if (screenXScale != 1) {
|
||||
osViSetXScale(screenXScale);
|
||||
}
|
||||
|
||||
if (D_80096B34 != 1) {
|
||||
osViSetYScale(D_80096B34);
|
||||
if (screenYScale != 1) {
|
||||
osViSetYScale(screenYScale);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ s32 Dmamgr_DoDmaTransfer(void* a0, void* a1, s32 a2) {
|
|||
OSMesgQueue sp48;
|
||||
OSMesg sp44;
|
||||
s32 ret;
|
||||
u32 s0 = D_80096B50;
|
||||
u32 s0 = dmamgrChunkSize;
|
||||
|
||||
osInvalDCache(a1, a2);
|
||||
osCreateMesgQueue(&sp48, &sp44, 1);
|
||||
|
@ -89,8 +89,9 @@ s32 Dmamgr_FindDmaIndex(u32 a0) {
|
|||
return -1;
|
||||
}
|
||||
|
||||
UNK_TYPE* func_800809F4(u32 a0) {
|
||||
return &D_800981C0;
|
||||
// TODO this should be a string
|
||||
char* func_800809F4(u32 a0) {
|
||||
return &D_800981C0[0];
|
||||
}
|
||||
|
||||
#ifdef NONMATCHING
|
||||
|
@ -111,10 +112,10 @@ void Dmamgr_HandleRequest(DmaRequest* a0) {
|
|||
|
||||
sp1C = Dmamgr_FindDmaIndex(sp34);
|
||||
|
||||
if ((sp1C >= 0) && (sp1C < D_8009B2BC)) {
|
||||
if ((sp1C >= 0) && (sp1C < numDmaEntries)) {
|
||||
if (dmadata[sp1C].romEnd == 0) {
|
||||
if (dmadata[sp1C].vromEnd < (sp2C + sp34)) {
|
||||
func_80083E4C(&D_800981C4, 499);
|
||||
func_80083E4C(&dmamgrString800981C4, 499);
|
||||
}
|
||||
Dmamgr_DoDmaTransfer((u8*)((dmadata[sp1C].romStart + sp34) - dmadata[sp1C].vromStart), (u8*)sp30, sp2C);
|
||||
return;
|
||||
|
@ -125,18 +126,18 @@ void Dmamgr_HandleRequest(DmaRequest* a0) {
|
|||
sp28 = dmadata[sp1C].romStart;
|
||||
|
||||
if (sp34 != dmadata[sp1C].vromStart) {
|
||||
func_80083E4C(&D_800981D4, 518);
|
||||
func_80083E4C(&dmamgrString800981D4, 518);
|
||||
}
|
||||
|
||||
if (sp2C != (dmadata[sp1C].vromEnd - dmadata[sp1C].vromStart)) {
|
||||
func_80083E4C(&D_800981E4, 525);
|
||||
func_80083E4C(&dmamgrString800981E4, 525);
|
||||
}
|
||||
|
||||
osSetThreadPri(NULL, 10);
|
||||
Yaz0_LoadAndDecompressFile(sp28, sp30, sp24);
|
||||
osSetThreadPri(NULL, 17);
|
||||
} else {
|
||||
func_80083E4C(&D_800981F4, 558);
|
||||
func_80083E4C(&dmamgrString800981F4, 558);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -154,13 +155,13 @@ void Dmamgr_ThreadEntry(void* a0) {
|
|||
DmaRequest* s0;
|
||||
|
||||
for (;;) {
|
||||
osRecvMesg(&D_8009B2C0, (OSMesg)&sp34, 1);
|
||||
osRecvMesg(&dmamgrMsq, (OSMesg)&sp34, 1);
|
||||
if (sp34 == NULL) return;
|
||||
s0 = sp34;
|
||||
Dmamgr_HandleRequest(s0);
|
||||
// TODO a0 isn't being used for this comparison
|
||||
if (s0->unk18 == NULL) continue;
|
||||
osSendMesg(&D_8009B2C0, (OSMesg)s0->unk1C, 0);
|
||||
osSendMesg(&dmamgrMsq, (OSMesg)s0->unk1C, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -173,10 +174,10 @@ GLOBAL_ASM("./asm/nonmatching/z_std_dma/Dmamgr_ThreadEntry.asm")
|
|||
#ifdef NONMATCHING
|
||||
|
||||
s32 Dmamgr_SendRequest(DmaRequest* a0, UNK_FUN_PTR(a1), UNK_PTR a2, UNK_TYPE a3, UNK_TYPE sp30, OSMesgQueue* sp34, UNK_TYPE sp38) {
|
||||
// TODO this isn't correct, it uses a lui, addiu to get the address of D_80096B60, then loads it,
|
||||
// meaning that this is likely just "if (*D_80096B60 >= 2)". However, I can not get it to not
|
||||
// TODO this isn't correct, it uses a lui, addiu to get the address of prenmiStage, then loads it,
|
||||
// meaning that this is likely just "if (*prenmiStage >= 2)". However, I can not get it to not
|
||||
// produce the usual lui, lw combo to load from an address :/
|
||||
if (*D_80096B60 >= 2) {
|
||||
if (*prenmiStage >= 2) {
|
||||
return -2;
|
||||
}
|
||||
|
||||
|
@ -187,7 +188,7 @@ s32 Dmamgr_SendRequest(DmaRequest* a0, UNK_FUN_PTR(a1), UNK_PTR a2, UNK_TYPE a3,
|
|||
a0->unk18 = sp34;
|
||||
a0->unk1C = sp38;
|
||||
|
||||
osSendMesg(&D_8009B2C0, (OSMesg)a0, 1);
|
||||
osSendMesg(&dmamgrMsq, (OSMesg)a0, 1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -227,15 +228,15 @@ void Dmamgr_Start() {
|
|||
|
||||
for (v0 = dmadata, v1 = 0; v0->vromEnd != 0; v0++, v1++);
|
||||
|
||||
D_8009B2BC = (u16)v1;
|
||||
numDmaEntries = (u16)v1;
|
||||
|
||||
osCreateMesgQueue(&D_8009B2C0, (OSMesg)&D_8009B2D8, 32);
|
||||
osCreateMesgQueue(&dmamgrMsq, (OSMesg)&dmamgrMsqMessages, 32);
|
||||
|
||||
thread_info_init(&D_8009B2A0, &D_8009B508, &D_8009BA08, 0, 256, &D_80098204);
|
||||
thread_info_init(&dmamgrThreadInfo, &dmamgrStack, &D_8009BA08, 0, 256, &dmamgrThreadName);
|
||||
|
||||
osCreateThread(&D_8009B358, 18, Dmamgr_ThreadEntry, NULL, &D_8009BA08, 17);
|
||||
osCreateThread(&dmamgrOSThread, 18, Dmamgr_ThreadEntry, NULL, &D_8009BA08, 17);
|
||||
|
||||
osStartThread(&D_8009B358);
|
||||
osStartThread(&dmamgrOSThread);
|
||||
}
|
||||
|
||||
#else
|
||||
|
@ -245,5 +246,5 @@ GLOBAL_ASM("./asm/nonmatching/z_std_dma/Dmamgr_Start.asm")
|
|||
#endif
|
||||
|
||||
void Dmamgr_Stop() {
|
||||
osSendMesg(&D_8009B2C0, NULL, 1);
|
||||
osSendMesg(&dmamgrMsq, NULL, 1);
|
||||
}
|
||||
|
|
|
@ -9,9 +9,9 @@ UNK_RET EnAObj_Init(void* a0, UNK_TYPE a1) {
|
|||
ActorEnAObj* s0 = (ActorEnAObj*)a0;
|
||||
s0->base.textId = ((s0->base.variable >> 8) & 0xFF) | 0x300;
|
||||
s0->base.variable = (s0->base.variable & 0xFF) - 9;
|
||||
Lib_ApplyActorInitVars((Actor*)s0, (ActorInitVar*)&D_801ADEAC);
|
||||
Lib_ApplyActorInitVars((Actor*)s0, (ActorInitVar*)&enAObjInitVar);
|
||||
func_800B3BA4(&s0->base.unkBC, 0, (UNK_PTR)&func_800B3FC0, 12);
|
||||
Collision_InitCylinder(a1, &s0->collision, (Actor*)s0, &D_801ADE80);
|
||||
Collision_InitCylinder(a1, &s0->collision, (Actor*)s0, &enAObjCylinderInit);
|
||||
Collision_CylinderMoveToActor((Actor*)s0, &s0->collision);
|
||||
s0->base.unkA0.unk16 = 255;
|
||||
s0->update = (actor_func)EnAObj_Update1;
|
||||
|
|
|
@ -10,7 +10,7 @@ UNK_RET func_800BF9A0(UNK_TYPE a0, UNK_TYPE a1) {
|
|||
func_800847CC(&D_801DCBB0, D_801B4610);
|
||||
func_800847CC(&D_801DCBC4);
|
||||
|
||||
for (i = 0, s0 = &D_801AEFD0; i < D_801B4610; i++, s0++) {
|
||||
for (i = 0, s0 = &actorOverlayTable[0]; i < D_801B4610; i++, s0++) {
|
||||
v1 = s0->vramEnd - s0->vramStart;
|
||||
if (s0->ramAddr == 0) continue;
|
||||
func_800847CC(&D_801DCBE4, i, s0->ramAddr, s0->ramAddr + v1, s0->clients, &D_801DCBFC);
|
||||
|
@ -19,7 +19,7 @@ UNK_RET func_800BF9A0(UNK_TYPE a0, UNK_TYPE a1) {
|
|||
|
||||
UNK_TYPE func_800BFA78(UNK_TYPE a0, UNK_TYPE a1) {
|
||||
s32 i;
|
||||
ActorOverlayTableEntry* v0 = &D_801AEFD0;
|
||||
ActorOverlayTableEntry* v0 = &actorOverlayTable[0];
|
||||
UNK_TYPE t1;
|
||||
UNK_TYPE a2;
|
||||
UNK_TYPE a0_2 = a0;
|
||||
|
|
|
@ -3,14 +3,14 @@
|
|||
|
||||
s800E03A0* func_800E03A0(s32 a0) {
|
||||
if ((a0 < 0) || (a0 > 22)) return 0;
|
||||
return &((&D_801B9F20)[a0]);
|
||||
return &(D_801B9F20[a0]);
|
||||
}
|
||||
|
||||
// Probably zeroes out a s800E03A0?
|
||||
void func_800E03CC(u8* a0) {
|
||||
s32 i;
|
||||
u8* v1;
|
||||
|
||||
|
||||
for (i = 0, v1 = a0; i < 32; i++) {
|
||||
*v1++ = 0;
|
||||
}
|
||||
|
|
|
@ -421,7 +421,7 @@ UNK_TYPE Lib_PitchVec3f(Vector3f* a0, Vector3f* a1) {
|
|||
|
||||
void Lib_ApplyActorInitVars(Actor* a0, ActorInitVar* a1) {
|
||||
do {
|
||||
D_801BE960[a1->type]((u8*)a0, a1);
|
||||
actorInitVarFuncs[a1->type]((u8*)a0, a1);
|
||||
} while ((a1++)->cont);
|
||||
}
|
||||
|
||||
|
@ -650,7 +650,7 @@ f32 Lib_PushAwayVec3f(Vector3f* a0, Vector3f* a1, f32 a2) {
|
|||
void Lib_Nop801004FC(void) {}
|
||||
|
||||
UNK_TYPE Lib_PtrSegToPhys(u32 a0) {
|
||||
return(D_801F8180[(a0 << 4) >> 28] + (a0 & 0xFFFFFF)) + 0x80000000;
|
||||
return(rspSegmentPhysAddrs[(a0 << 4) >> 28] + (a0 & 0xFFFFFF)) + 0x80000000;
|
||||
}
|
||||
|
||||
UNK_TYPE Lib_PtrSegToPhysNull(u32 a0) {
|
||||
|
@ -658,7 +658,7 @@ UNK_TYPE Lib_PtrSegToPhysNull(u32 a0) {
|
|||
return a0;
|
||||
}
|
||||
|
||||
return(D_801F8180[(a0 << 4) >> 28] + (a0 & 0xFFFFFF)) + 0x80000000;
|
||||
return(rspSegmentPhysAddrs[(a0 << 4) >> 28] + (a0 & 0xFFFFFF)) + 0x80000000;
|
||||
}
|
||||
|
||||
UNK_TYPE Lib_PtrSegToK0(UNK_TYPE a0) {
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
0x800808F4:("Dmamgr_FindDmaEntry","DmadataEntry*","u32"),
|
||||
0x80080950:("Dmamgr_TranslateVromToRom","s32","u32"),
|
||||
0x800809BC:("Dmamgr_FindDmaIndex","s32","u32"),
|
||||
0x800809F4:("func_800809F4","UNK_TYPE*","u32"),
|
||||
0x800809F4:("func_800809F4","char*","u32"),
|
||||
0x80080A08:("Dmamgr_HandleRequest","void","DmaRequest*"),
|
||||
0x80080B84:("Dmamgr_ThreadEntry","void","void*"),
|
||||
0x80080C04:("Dmamgr_SendRequest","s32","DmaRequest*, UNK_FUN_ARG, UNK_PTR, UNK_TYPE, UNK_TYPE, OSMesgQueue*, UNK_TYPE"),
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
# Follows the format of Address:(Name, Type, Array Info)
|
||||
{
|
||||
0x060005D0:("D_060005D0","UNK_TYPE",""),
|
||||
0x06001100:("D_06001100","UNK_TYPE",""),
|
||||
0x06001228:("D_06001228","UNK_TYPE",""),
|
||||
0x06002D30:("D_06002D30","UNK_TYPE",""),
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
# Follows the format of Address:(Name, Type, Array Info)
|
||||
{
|
||||
0x80000300:("osTvType","UNK_TYPE",""),
|
||||
0x80000304:("osRomType","UNK_TYPE",""),
|
||||
0x80000308:("osRomBase","UNK_TYPE",""),
|
||||
0x8000030C:("osResetType","UNK_TYPE",""),
|
||||
0x80000310:("osCicId","UNK_TYPE",""),
|
||||
0x80000314:("osVersion","UNK_TYPE",""),
|
||||
0x80000318:("osMemSize","UNK_TYPE",""),
|
||||
0x8000031C:("D_8000031C","UNK_TYPE",""),
|
||||
0x80000500:("D_80000500","UNK_TYPE",""),
|
||||
0x80025D00:("D_80025D00","UNK_TYPE",""),
|
||||
}
|
15120
tables/variables.py
15120
tables/variables.py
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,68 @@
|
|||
# Follows the format of Address:(Name, Type, Array Info)
|
||||
{
|
||||
# NOTE These symbols could be one of two symbols: the start of a file or the end of a file before it.
|
||||
# The choice for disassembly is arbitrary but in code it should be the one that makes sense.
|
||||
0x0001A500:("dmadata_vrom_start","u32",""), # Start of dmadata
|
||||
0x00020700:("dmadata_vrom_end","u32",""), # Byte immediately after end of dmadata
|
||||
0x00046AF0:("Audioseq_vrom_start","UNK_TYPE",""),
|
||||
0x00097F70:("Audioseq_vrom_end","UNK_TYPE",""),
|
||||
0x0065D000:("link_animetion_vrom_start","UNK_TYPE",""),
|
||||
0x00957000:("","UNK_TYPE",""), # ovl_kaleido_scope uses this. It is the start of vrom for a null entry in dmadata???
|
||||
0x009ECEC0:("","UNK_TYPE",""), # ovl_kaleido_scope uses this. It is the end of vrom for a null entry in dmadata???
|
||||
0x009ED000:("","UNK_TYPE",""), # ovl_kaleido_scope uses this. It is the start of vrom for a null entry in dmadata???
|
||||
0x009F4700:("","UNK_TYPE",""), # ovl_kaleido_scope uses this. It is the end of vrom for a null entry in dmadata???
|
||||
0x009F5000:("icon_item_field_static_vrom_start","UNK_TYPE",""),
|
||||
0x00A09AF0:("icon_item_field_static_vrom_end","UNK_TYPE",""),
|
||||
0x00A0A000:("icon_item_dungeon_static_vrom_start","UNK_TYPE",""),
|
||||
0x00A0EB80:("icon_item_dungeon_static_vrom_end","UNK_TYPE",""),
|
||||
0x00A0F000:("icon_item_gameover_static_vrom_start","UNK_TYPE",""),
|
||||
0x00A12300:("icon_item_gameover_static_vrom_end","UNK_TYPE",""),
|
||||
0x00A13000:("_013_0x00963540_vrom_start","UNK_TYPE",""),
|
||||
0x00A1BA00:("_013_0x00963540_vrom_end","UNK_TYPE",""),
|
||||
0x00A1C000:("_014_0x00967260_vrom_start","UNK_TYPE",""),
|
||||
0x00A1C2E0:("_014_0x00967260_vrom_end","UNK_TYPE",""),
|
||||
0x00A1D000:("map_i_static_vrom_start","UNK_TYPE",""),
|
||||
0x00A1E310:("map_grand_static_vrom_start","UNK_TYPE",""),
|
||||
0x00A27660:("item_name_static_vrom_start","UNK_TYPE",""),
|
||||
0x00A352F0:("map_name_static_vrom_start","UNK_TYPE",""),
|
||||
0x00A36C10:("_019_0x00980f60_vrom_start","UNK_TYPE",""),
|
||||
0x00A7BEE0:("_020_0x009c6230_vrom_start","UNK_TYPE",""),
|
||||
0x00A807A0:("_020_0x009c6230_vrom_end","UNK_TYPE",""),
|
||||
0x00A8C000:("_022_0x009caaf0_vrom_start","UNK_TYPE",""),
|
||||
0x00A92A10:("_023_0x009d1500_vrom_start","UNK_TYPE",""),
|
||||
0x00A990E0:("_023_0x009d1500_vrom_end","UNK_TYPE",""),
|
||||
0x00A9A000:("_024_0x009d3760_vrom_start","UNK_TYPE",""),
|
||||
0x00ABFC00:("_024_0x009d3760_vrom_end","UNK_TYPE",""),
|
||||
0x00AC0000:("do_action_static_vrom_start","UNK_TYPE",""),
|
||||
0x00AC4000:("message_static_vrom_start","UNK_TYPE",""),
|
||||
0x00ACA000:("message_texture_static_vrom_start","UNK_TYPE",""),
|
||||
0x00ACC000:("nes_font_static_vrom_start","UNK_TYPE",""),
|
||||
0x00AD1000:("en_message_data_static_vrom_start","UNK_TYPE",""),
|
||||
0x00B3B000:("staff_message_data_static_vrom_start","UNK_TYPE",""),
|
||||
0x00B3C000:("code_vrom_start","UNK_TYPE",""),
|
||||
0x00C7A4E0:("code_vrom_end","UNK_TYPE",""),
|
||||
0x01E85000:("nintendo_rogo_static_vrom_start","UNK_TYPE",""),
|
||||
0x01E87DC0:("nintendo_rogo_static_vrom_end","UNK_TYPE",""),
|
||||
0x01E88000:("title_static_vrom_start","UNK_TYPE",""),
|
||||
0x01EB9730:("title_static_vrom_end","UNK_TYPE",""),
|
||||
0x01EBA000:("_1124_0x0163f490_vrom_start","UNK_TYPE",""),
|
||||
0x01EBB280:("_1124_0x0163f490_vrom_end","UNK_TYPE",""),
|
||||
0x01EBC000:("_1125_0x0163fc10_vrom_start","UNK_TYPE",""),
|
||||
0x01EBC680:("_1125_0x0163fc10_vrom_end","UNK_TYPE",""),
|
||||
0x01EBD000:("_1126_0x0163ffc0_vrom_start","UNK_TYPE",""),
|
||||
0x01EC8B20:("_1126_0x0163ffc0_vrom_end","UNK_TYPE",""),
|
||||
0x01EC9000:("_1127_0x01643d50_vrom_start","UNK_TYPE",""),
|
||||
0x01EC9F30:("_1127_0x01643d50_vrom_end","UNK_TYPE",""),
|
||||
0x01ECA000:("_1128_0x01644c80_vrom_start","UNK_TYPE",""),
|
||||
0x01ED3B00:("_1128_0x01644c80_vrom_end","UNK_TYPE",""),
|
||||
0x01ED4000:("_1129_0x01646b60_vrom_start","UNK_TYPE",""),
|
||||
0x01EDDB00:("_1129_0x01646b60_vrom_end","UNK_TYPE",""),
|
||||
0x01EDE000:("_1130_0x01649020_vrom_start","UNK_TYPE",""),
|
||||
0x01EE7B00:("_1130_0x01649020_vrom_end","UNK_TYPE",""),
|
||||
0x01EE8000:("_1131_0x0164ad90_vrom_start","UNK_TYPE",""),
|
||||
0x01EF1B00:("_1131_0x0164ad90_vrom_end","UNK_TYPE",""),
|
||||
0x01EF2000:("vr_fine_static_vrom_start","UNK_TYPE",""),
|
||||
0x01EFE000:("vr_cloud_static_vrom_start","UNK_TYPE",""),
|
||||
0x01F0A000:("vr_pal_static_vrom_start","UNK_TYPE",""),
|
||||
0x01F0A200:("vr_pal_static_vrom_end","UNK_TYPE",""),
|
||||
}
|
125
tools/disasm.py
125
tools/disasm.py
|
@ -14,7 +14,6 @@ known_files = {}
|
|||
known_funcs = dict()
|
||||
known_objects = dict()
|
||||
known_vars = dict()
|
||||
extra_vars = {}
|
||||
|
||||
regs = {
|
||||
0:"$zero", 1:"$at", 2:"$v0", 3:"$v1", 4:"$a0", 5:"$a1", 6:"$a2", 7:"$a3",
|
||||
|
@ -178,6 +177,8 @@ class Disassembler:
|
|||
|
||||
self.has_done_first_pass = False
|
||||
|
||||
self.auto_analysis = False
|
||||
|
||||
self.is_data_cache = {}
|
||||
self.is_code_cache = {}
|
||||
self.is_bss_cache = {}
|
||||
|
@ -238,6 +239,9 @@ class Disassembler:
|
|||
self.bss_regions = sorted(self.bss_regions, key = lambda region: region[0])
|
||||
self.reset_cache()
|
||||
|
||||
def set_auto_analysis(self, setting):
|
||||
self.auto_analysis = setting
|
||||
|
||||
def is_in_data(self, addr):
|
||||
if addr in self.is_data_cache:
|
||||
return self.is_data_cache[addr]
|
||||
|
@ -467,13 +471,17 @@ class Disassembler:
|
|||
|
||||
# TODO workaround to avoid classifying loading constants as loading pointers
|
||||
# This unfortunately causes it to not detect object addresses
|
||||
if addr < 0x80000000:
|
||||
if addr <= 0x80000000:
|
||||
return
|
||||
|
||||
if self.auto_analysis:
|
||||
if self.is_in_data_or_undef(addr):
|
||||
self.add_variable(addr)
|
||||
else:
|
||||
self.add_function(addr)
|
||||
elif addr not in self.functions and addr not in self.vars:
|
||||
return
|
||||
|
||||
if self.is_in_data_or_undef(addr):
|
||||
self.add_variable(addr)
|
||||
else:
|
||||
self.add_function(addr)
|
||||
loadHighRefs[pc] = addr
|
||||
loadLowRefs[pc + 4*i] = addr
|
||||
return
|
||||
|
@ -483,14 +491,18 @@ class Disassembler:
|
|||
|
||||
# TODO workaround to avoid classifying loading constants as loading pointers
|
||||
# This unfortunately causes it to not detect object addresses
|
||||
if addr < 0x80000000:
|
||||
if addr <= 0x80000000:
|
||||
return
|
||||
|
||||
if self.auto_analysis:
|
||||
if self.is_in_data_or_undef(addr):
|
||||
self.add_variable(addr)
|
||||
else:
|
||||
print("Warning: Pointer load location is in code 0x%08X" % addr)
|
||||
self.add_variable(addr)
|
||||
elif addr not in self.functions and addr not in self.vars:
|
||||
return
|
||||
|
||||
if self.is_in_data_or_undef(addr):
|
||||
self.add_variable(addr)
|
||||
else:
|
||||
print("Warning: Pointer load location is in code 0x%08X" % addr)
|
||||
self.add_variable(addr)
|
||||
loadHighRefs[pc] = addr
|
||||
loadLowRefs[pc + 4*i] = addr
|
||||
return
|
||||
|
@ -677,9 +689,21 @@ class Disassembler:
|
|||
def generate_headers(self, path):
|
||||
self.first_pass() # find functions and variables
|
||||
with open(path + "/functions.h", 'w', newline='\n') as f:
|
||||
f.write("#ifndef _FUNCTIONS_H_\n#define _FUNCTIONS_H_\n\n")
|
||||
f.write("#ifndef _FUNCTIONS_H_\n"
|
||||
"#define _FUNCTIONS_H_\n"
|
||||
"\n"
|
||||
)
|
||||
|
||||
f.write('#include <PR/ultratypes.h>\n#include <osint.h>\n#include <viint.h>\n#include <guint.h>\n#include <unk.h>\n#include <structs.h>\n#include <stdlib.h>\n#include <xstdio.h>\n\n')
|
||||
f.write("#include <PR/ultratypes.h>\n"
|
||||
"#include <osint.h>\n"
|
||||
"#include <viint.h>\n"
|
||||
"#include <guint.h>\n"
|
||||
"#include <unk.h>\n"
|
||||
"#include <structs.h>\n"
|
||||
"#include <stdlib.h>\n"
|
||||
"#include <xstdio.h>\n"
|
||||
"\n"
|
||||
)
|
||||
|
||||
for addr in sorted(self.functions):
|
||||
if addr in known_funcs:
|
||||
|
@ -690,30 +714,40 @@ class Disassembler:
|
|||
f.write("\n#endif\n")
|
||||
|
||||
with open(path + "/variables.h", 'w', newline='\n') as f:
|
||||
f.write("#ifndef _VARIABLES_H_\n#define _VARIABLES_H_\n\n")
|
||||
f.write("#ifndef _VARIABLES_H_\n"
|
||||
"#define _VARIABLES_H_\n"
|
||||
"\n"
|
||||
)
|
||||
|
||||
f.write('#include <PR/ultratypes.h>\n#include <osint.h>\n#include <viint.h>\n#include <guint.h>\n#include <unk.h>\n#include <structs.h>\n#include <stdlib.h>\n#include <xstdio.h>\n#include <dmadata.h>\n\n')
|
||||
f.write("#include <PR/ultratypes.h>\n"
|
||||
"#include <osint.h>\n"
|
||||
"#include <viint.h>\n"
|
||||
"#include <guint.h>\n"
|
||||
"#include <unk.h>\n"
|
||||
"#include <structs.h>\n"
|
||||
"#include <stdlib.h>\n"
|
||||
"#include <xstdio.h>\n"
|
||||
"#include <dmadata.h>\n"
|
||||
"#include <segment.h>\n"
|
||||
"\n"
|
||||
)
|
||||
|
||||
for addr in sorted(self.vars):
|
||||
if addr < 0x02000000:
|
||||
if addr < 0x80000000:
|
||||
continue # Don't print out symbols of dmadata files' vrom addresses. These will be defined in another file.
|
||||
|
||||
if addr in known_vars:
|
||||
f.write("extern %s %s%s; // D_%08X\n" % (known_vars[addr][1], self.make_load(addr), "[]" if known_vars[addr][2] else "", addr))
|
||||
f.write("extern %s %s%s; // D_%08X\n" % (known_vars[addr][1], self.make_load(addr), known_vars[addr][2], addr))
|
||||
else:
|
||||
f.write("//extern UNK_TYPE %s;\n" % self.make_load(addr))
|
||||
|
||||
f.write("\n// extra variables needed for one reason or another\n\n")
|
||||
for (name, var_type) in extra_vars:
|
||||
f.write("extern %s %s;\n" % (var_type, name))
|
||||
|
||||
f.write("\n#endif\n")
|
||||
|
||||
def generate_undefined(self, path):
|
||||
self.first_pass() # find functions and variables
|
||||
with open(path + "/undef.txt", 'w', newline='\n') as f:
|
||||
for addr in sorted(self.vars):
|
||||
if addr < 0x02000000:
|
||||
if addr < 0x80000000:
|
||||
continue # Don't print out symbols of dmadata files' vrom addresses. These will be defined in another file.
|
||||
|
||||
is_in_bss, region = self.is_in_bss(addr)
|
||||
|
@ -722,45 +756,38 @@ class Disassembler:
|
|||
elif not self.is_in_data(addr):
|
||||
f.write("%s = 0x%08X;\n" % (self.make_load(addr), addr))
|
||||
|
||||
# TODO not hard code
|
||||
f.write('''
|
||||
D_80099AD0_ = 0x80099AD0;'''
|
||||
)
|
||||
|
||||
# TODO -a --analyze flag? Only when its set will new symbols be added, otherwise use only the supplied ones
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('-e', '--export-headers', help='export functions and variables into .h files', metavar='path')
|
||||
parser.add_argument('-u', '--undefined', help='create linker script for undefined symbols', metavar='path')
|
||||
parser.add_argument('-d', '--disassemble', help='disassemble supplied code files', metavar='path')
|
||||
parser.add_argument('-l', '--files', help='list of files to disassemble', metavar='filename')
|
||||
parser.add_argument('-f', '--functions', help='predefined functions', metavar='filename')
|
||||
parser.add_argument('-o', '--objects', help='predefined code objects', metavar='filename')
|
||||
parser.add_argument('-v', '--variables', help='predefined variables', metavar='filename')
|
||||
parser.add_argument('-l', '--files', help='list of files to disassemble', metavar='filename', action='append')
|
||||
parser.add_argument('-f', '--functions', help='predefined functions', metavar='filename', action='append')
|
||||
parser.add_argument('-o', '--objects', help='predefined code objects', metavar='filename', action='append')
|
||||
parser.add_argument('-v', '--variables', help='predefined variables', metavar='filename', action='append')
|
||||
parser.add_argument('-a', '--auto-analysis', help='automatically find pointers and functions', action='store_true', default=False)
|
||||
args = parser.parse_args()
|
||||
|
||||
if args.files != None:
|
||||
with open(args.files, 'r') as f:
|
||||
for files_file in args.files:
|
||||
with open(files_file, 'r') as f:
|
||||
known_files = ast.literal_eval(f.read())
|
||||
if args.functions != None:
|
||||
with open(args.functions, 'r') as f:
|
||||
for function_file in args.functions:
|
||||
with open(function_file, 'r') as f:
|
||||
known_funcs = ast.literal_eval(f.read())
|
||||
if args.objects != None:
|
||||
with open(args.objects, 'r') as f:
|
||||
for object_file in args.objects:
|
||||
with open(object_file, 'r') as f:
|
||||
known_objects = ast.literal_eval(f.read())
|
||||
if args.variables != None:
|
||||
with open(args.variables, 'r') as f:
|
||||
known_vars = ast.literal_eval(f.read())
|
||||
# these are extra variables needed for one reason or another, they should probably be deleted if possible
|
||||
extra_vars = (
|
||||
("D_800980D0_","UNK_PTR"), # needed to match?
|
||||
("D_80099AD0_","UNK_TYPE"), # needed to match?
|
||||
("D_8009A670_","UNK_TYPE"), # needed to match?
|
||||
("D_8009B140_","UNK_TYPE"), # needed to match?
|
||||
("(*D_801BE960[12])(u8*, ActorInitVar*)",""), # TODO better function pointer representation
|
||||
)
|
||||
for var_file in args.variables:
|
||||
with open(var_file, 'r') as f:
|
||||
known_vars.update(ast.literal_eval(f.read()))
|
||||
|
||||
dis = Disassembler()
|
||||
dis.load_defaults() # TODO file loading code should go in here
|
||||
|
||||
if args.auto_analysis:
|
||||
dis.set_auto_analysis(True)
|
||||
|
||||
if args.disassemble != None:
|
||||
os.makedirs(args.disassemble, exist_ok=True)
|
||||
dis.disassemble(args.disassemble)
|
||||
|
|
622
undef.txt
622
undef.txt
|
@ -1,8 +1,3 @@
|
|||
D_060005D0 = 0x060005D0;
|
||||
D_06001100 = 0x06001100;
|
||||
D_06001228 = 0x06001228;
|
||||
D_06002D30 = 0x06002D30;
|
||||
D_80000000 = 0x80000000;
|
||||
osTvType = 0x80000300;
|
||||
osRomType = 0x80000304;
|
||||
osRomBase = 0x80000308;
|
||||
|
@ -13,34 +8,30 @@ osMemSize = 0x80000318;
|
|||
D_8000031C = 0x8000031C;
|
||||
D_80000500 = 0x80000500;
|
||||
D_80025D00 = 0x80025D00;
|
||||
D_80099500 = boot_bss_start + 0x00000000;
|
||||
D_80099520 = boot_bss_start + 0x00000020;
|
||||
D_800996D0 = boot_bss_start + 0x000001D0;
|
||||
D_80099AD0 = boot_bss_start + 0x000005D0;
|
||||
D_80099AF0 = boot_bss_start + 0x000005F0;
|
||||
D_80099EF0 = boot_bss_start + 0x000009F0;
|
||||
D_8009A170 = boot_bss_start + 0x00000C70;
|
||||
D_8009A670 = boot_bss_start + 0x00001170;
|
||||
D_8009A690 = boot_bss_start + 0x00001190;
|
||||
D_8009A840 = boot_bss_start + 0x00001340;
|
||||
D_8009B140 = boot_bss_start + 0x00001C40;
|
||||
bootThreadInfo = boot_bss_start + 0x00000000;
|
||||
idleOSThread = boot_bss_start + 0x00000020;
|
||||
idleStack = boot_bss_start + 0x000001D0;
|
||||
idleTreadInfo = boot_bss_start + 0x000005D0;
|
||||
bootStack = boot_bss_start + 0x000005F0;
|
||||
irqmgrContext = boot_bss_start + 0x000009F0;
|
||||
irqmgrStack = boot_bss_start + 0x00000C70;
|
||||
irqmgrThreadInfo = boot_bss_start + 0x00001170;
|
||||
mainOSThread = boot_bss_start + 0x00001190;
|
||||
mainStack = boot_bss_start + 0x00001340;
|
||||
mainThreadInfo = boot_bss_start + 0x00001C40;
|
||||
D_8009B160 = boot_bss_start + 0x00001C60;
|
||||
D_8009B228 = boot_bss_start + 0x00001D28;
|
||||
D_8009B240 = boot_bss_start + 0x00001D40;
|
||||
D_8009B290 = boot_bss_start + 0x00001D90;
|
||||
D_8009B2A0 = boot_bss_start + 0x00001DA0;
|
||||
D_8009B2BC = boot_bss_start + 0x00001DBC;
|
||||
D_8009B2C0 = boot_bss_start + 0x00001DC0;
|
||||
D_8009B2D8 = boot_bss_start + 0x00001DD8;
|
||||
D_8009B358 = boot_bss_start + 0x00001E58;
|
||||
D_8009B508 = boot_bss_start + 0x00002008;
|
||||
dmamgrThreadInfo = boot_bss_start + 0x00001DA0;
|
||||
numDmaEntries = boot_bss_start + 0x00001DBC;
|
||||
dmamgrMsq = boot_bss_start + 0x00001DC0;
|
||||
dmamgrMsqMessages = boot_bss_start + 0x00001DD8;
|
||||
dmamgrOSThread = boot_bss_start + 0x00001E58;
|
||||
dmamgrStack = boot_bss_start + 0x00002008;
|
||||
D_8009BA08 = boot_bss_start + 0x00002508;
|
||||
D_8009BA10 = boot_bss_start + 0x00002510;
|
||||
D_8009BE10 = boot_bss_start + 0x00002910;
|
||||
D_8009BE14 = boot_bss_start + 0x00002914;
|
||||
D_8009BE18 = boot_bss_start + 0x00002918;
|
||||
D_8009BE1C = boot_bss_start + 0x0000291C;
|
||||
D_8009BE20 = boot_bss_start + 0x00002920;
|
||||
yaz0FileBuffer = boot_bss_start + 0x00002510;
|
||||
yaz0DecompStatus = boot_bss_start + 0x00002910;
|
||||
D_8009BE30 = boot_bss_start + 0x00002930;
|
||||
D_8009BE34 = boot_bss_start + 0x00002934;
|
||||
D_8009BE38 = boot_bss_start + 0x00002938;
|
||||
|
@ -48,21 +39,13 @@ D_8009BE50 = boot_bss_start + 0x00002950;
|
|||
D_8009BE54 = boot_bss_start + 0x00002954;
|
||||
D_8009BE58 = boot_bss_start + 0x00002958;
|
||||
D_8009BE5C = boot_bss_start + 0x0000295C;
|
||||
D_8009BE60 = boot_bss_start + 0x00002960;
|
||||
D_8009C460 = boot_bss_start + 0x00002F60;
|
||||
D_8009CC4D = boot_bss_start + 0x0000374D;
|
||||
faultStack = boot_bss_start + 0x00002960;
|
||||
faultThreadInfo = boot_bss_start + 0x00002F60;
|
||||
D_8009CD10 = boot_bss_start + 0x00003810;
|
||||
D_8009CD20 = boot_bss_start + 0x00003820;
|
||||
D_8009CD50 = boot_bss_start + 0x00003850;
|
||||
D_8009CD60 = boot_bss_start + 0x00003860;
|
||||
startHeap = boot_bss_start + 0x00003820;
|
||||
randLast = boot_bss_start + 0x00003850;
|
||||
heapLockMessageBuffer = boot_bss_start + 0x00003860;
|
||||
tmp_task = boot_bss_start + 0x00003870;
|
||||
D_8009CD80 = boot_bss_start + 0x00003880;
|
||||
D_8009CD88 = boot_bss_start + 0x00003888;
|
||||
D_8009CD90 = boot_bss_start + 0x00003890;
|
||||
D_8009CD98 = boot_bss_start + 0x00003898;
|
||||
D_8009CD9C = boot_bss_start + 0x0000389C;
|
||||
D_8009CDA0 = boot_bss_start + 0x000038A0;
|
||||
D_8009CDA8 = boot_bss_start + 0x000038A8;
|
||||
D_8009CDB0 = boot_bss_start + 0x000038B0;
|
||||
D_8009CEB0 = boot_bss_start + 0x000039B0;
|
||||
__osSiAccessQueue = boot_bss_start + 0x000039B8;
|
||||
|
@ -86,6 +69,7 @@ D_8009D1AE = boot_bss_start + 0x00003CAE;
|
|||
D_8009D1AF = boot_bss_start + 0x00003CAF;
|
||||
D_8009D1B0 = boot_bss_start + 0x00003CB0;
|
||||
D_8009D220 = boot_bss_start + 0x00003D20;
|
||||
piManagerStack = boot_bss_start + 0x00003ED0;
|
||||
D_8009E3D0 = boot_bss_start + 0x00004ED0;
|
||||
D_8009E3E8 = boot_bss_start + 0x00004EE8;
|
||||
D_8009E3F0 = boot_bss_start + 0x00004EF0;
|
||||
|
@ -93,21 +77,19 @@ __osPiAccessQueue = boot_bss_start + 0x00004EF8;
|
|||
D_8009E410 = boot_bss_start + 0x00004F10;
|
||||
__osEventStateTab = boot_bss_start + 0x00005010;
|
||||
__osCurrentTime = boot_bss_start + 0x000050B0;
|
||||
D_8009E5B4 = boot_bss_start + 0x000050B4;
|
||||
__osBaseCounter = boot_bss_start + 0x000050B8;
|
||||
__osViIntrCount = boot_bss_start + 0x000050BC;
|
||||
__osTimerCounter = boot_bss_start + 0x000050C0;
|
||||
D_8009E5D0 = boot_bss_start + 0x000050D0;
|
||||
D_8009E610 = boot_bss_start + 0x00005110;
|
||||
D_8009E624 = boot_bss_start + 0x00005124;
|
||||
D_8009E690 = boot_bss_start + 0x00005190;
|
||||
D_8009F840 = boot_bss_start + 0x00006340;
|
||||
D_8009F858 = boot_bss_start + 0x00006358;
|
||||
D_8009F870 = boot_bss_start + 0x00006370;
|
||||
D_8009F888 = boot_bss_start + 0x00006388;
|
||||
D_8009F8A0 = boot_bss_start + 0x000063A0;
|
||||
viThread = boot_bss_start + 0x00005190;
|
||||
viThreadStack = boot_bss_start + 0x00005340;
|
||||
viEventQueue = boot_bss_start + 0x00006340;
|
||||
viEventBuf = boot_bss_start + 0x00006358;
|
||||
viRetraceMsg = boot_bss_start + 0x00006370;
|
||||
viCounterMsg = boot_bss_start + 0x00006388;
|
||||
vimgrRetrace = boot_bss_start + 0x000063A0;
|
||||
dmadata = boot_bss_start + 0x000063B0;
|
||||
D_800A0004 = boot_bss_start + 0x00006B04;
|
||||
D_801E3FA0 = code_bss_start + 0x00000000;
|
||||
D_801E3FB0 = code_bss_start + 0x00000010;
|
||||
D_801E3FB4 = code_bss_start + 0x00000014;
|
||||
|
@ -254,145 +236,7 @@ D_801EF5C8 = code_bss_start + 0x0000B628;
|
|||
D_801EF600 = code_bss_start + 0x0000B660;
|
||||
D_801EF638 = code_bss_start + 0x0000B698;
|
||||
D_801EF66D = code_bss_start + 0x0000B6CD;
|
||||
D_801EF670 = code_bss_start + 0x0000B6D0;
|
||||
D_801EF674 = code_bss_start + 0x0000B6D4;
|
||||
D_801EF677 = code_bss_start + 0x0000B6D7;
|
||||
D_801EF678 = code_bss_start + 0x0000B6D8;
|
||||
D_801EF67C = code_bss_start + 0x0000B6DC;
|
||||
D_801EF67E = code_bss_start + 0x0000B6DE;
|
||||
D_801EF680 = code_bss_start + 0x0000B6E0;
|
||||
D_801EF682 = code_bss_start + 0x0000B6E2;
|
||||
D_801EF684 = code_bss_start + 0x0000B6E4;
|
||||
D_801EF686 = code_bss_start + 0x0000B6E6;
|
||||
D_801EF688 = code_bss_start + 0x0000B6E8;
|
||||
D_801EF68A = code_bss_start + 0x0000B6EA;
|
||||
D_801EF68B = code_bss_start + 0x0000B6EB;
|
||||
D_801EF68C = code_bss_start + 0x0000B6EC;
|
||||
D_801EF690 = code_bss_start + 0x0000B6F0;
|
||||
D_801EF692 = code_bss_start + 0x0000B6F2;
|
||||
D_801EF693 = code_bss_start + 0x0000B6F3;
|
||||
D_801EF694 = code_bss_start + 0x0000B6F4;
|
||||
D_801EF69B = code_bss_start + 0x0000B6FB;
|
||||
D_801EF69C = code_bss_start + 0x0000B6FC;
|
||||
D_801EF6A6 = code_bss_start + 0x0000B706;
|
||||
D_801EF6A8 = code_bss_start + 0x0000B708;
|
||||
D_801EF6A9 = code_bss_start + 0x0000B709;
|
||||
D_801EF6AA = code_bss_start + 0x0000B70A;
|
||||
D_801EF6AE = code_bss_start + 0x0000B70E;
|
||||
D_801EF6B0 = code_bss_start + 0x0000B710;
|
||||
D_801EF6B6 = code_bss_start + 0x0000B716;
|
||||
D_801EF6BA = code_bss_start + 0x0000B71A;
|
||||
D_801EF6BC = code_bss_start + 0x0000B71C;
|
||||
D_801EF6BD = code_bss_start + 0x0000B71D;
|
||||
D_801EF6BE = code_bss_start + 0x0000B71E;
|
||||
D_801EF6BF = code_bss_start + 0x0000B71F;
|
||||
D_801EF6CD = code_bss_start + 0x0000B72D;
|
||||
D_801EF6CE = code_bss_start + 0x0000B72E;
|
||||
D_801EF6CF = code_bss_start + 0x0000B72F;
|
||||
D_801EF6DC = code_bss_start + 0x0000B73C;
|
||||
D_801EF6E0 = code_bss_start + 0x0000B740;
|
||||
D_801EF6EA = code_bss_start + 0x0000B74A;
|
||||
D_801EF6F2 = code_bss_start + 0x0000B752;
|
||||
D_801EF6F3 = code_bss_start + 0x0000B753;
|
||||
D_801EF710 = code_bss_start + 0x0000B770;
|
||||
D_801EF728 = code_bss_start + 0x0000B788;
|
||||
D_801EF72C = code_bss_start + 0x0000B78C;
|
||||
D_801EF730 = code_bss_start + 0x0000B790;
|
||||
D_801EF73A = code_bss_start + 0x0000B79A;
|
||||
D_801EF743 = code_bss_start + 0x0000B7A3;
|
||||
D_801EF77C = code_bss_start + 0x0000B7DC;
|
||||
D_801EF780 = code_bss_start + 0x0000B7E0;
|
||||
D_801EF8B4 = code_bss_start + 0x0000B914;
|
||||
D_801EF94E = code_bss_start + 0x0000B9AE;
|
||||
D_801EFFD0 = code_bss_start + 0x0000C030;
|
||||
D_801F0020 = code_bss_start + 0x0000C080;
|
||||
D_801F0040 = code_bss_start + 0x0000C0A0;
|
||||
D_801F006C = code_bss_start + 0x0000C0CC;
|
||||
D_801F00F4 = code_bss_start + 0x0000C154;
|
||||
D_801F018E = code_bss_start + 0x0000C1EE;
|
||||
D_801F02CC = code_bss_start + 0x0000C32C;
|
||||
D_801F0390 = code_bss_start + 0x0000C3F0;
|
||||
D_801F04E8 = code_bss_start + 0x0000C548;
|
||||
D_801F04F8 = code_bss_start + 0x0000C558;
|
||||
D_801F0508 = code_bss_start + 0x0000C568;
|
||||
D_801F0514 = code_bss_start + 0x0000C574;
|
||||
D_801F0530 = code_bss_start + 0x0000C590;
|
||||
D_801F0534 = code_bss_start + 0x0000C594;
|
||||
D_801F0540 = code_bss_start + 0x0000C5A0;
|
||||
D_801F0544 = code_bss_start + 0x0000C5A4;
|
||||
D_801F054C = code_bss_start + 0x0000C5AC;
|
||||
D_801F054E = code_bss_start + 0x0000C5AE;
|
||||
D_801F0550 = code_bss_start + 0x0000C5B0;
|
||||
D_801F0554 = code_bss_start + 0x0000C5B4;
|
||||
D_801F0558 = code_bss_start + 0x0000C5B8;
|
||||
D_801F055C = code_bss_start + 0x0000C5BC;
|
||||
D_801F0560 = code_bss_start + 0x0000C5C0;
|
||||
D_801F0564 = code_bss_start + 0x0000C5C4;
|
||||
D_801F0568 = code_bss_start + 0x0000C5C8;
|
||||
D_801F0569 = code_bss_start + 0x0000C5C9;
|
||||
D_801F0570 = code_bss_start + 0x0000C5D0;
|
||||
D_801F0571 = code_bss_start + 0x0000C5D1;
|
||||
D_801F0572 = code_bss_start + 0x0000C5D2;
|
||||
D_801F0574 = code_bss_start + 0x0000C5D4;
|
||||
D_801F0575 = code_bss_start + 0x0000C5D5;
|
||||
D_801F0576 = code_bss_start + 0x0000C5D6;
|
||||
D_801F0578 = code_bss_start + 0x0000C5D8;
|
||||
D_801F0579 = code_bss_start + 0x0000C5D9;
|
||||
D_801F057A = code_bss_start + 0x0000C5DA;
|
||||
D_801F057B = code_bss_start + 0x0000C5DB;
|
||||
D_801F057C = code_bss_start + 0x0000C5DC;
|
||||
D_801F057D = code_bss_start + 0x0000C5DD;
|
||||
D_801F057E = code_bss_start + 0x0000C5DE;
|
||||
D_801F057F = code_bss_start + 0x0000C5DF;
|
||||
D_801F0580 = code_bss_start + 0x0000C5E0;
|
||||
D_801F0581 = code_bss_start + 0x0000C5E1;
|
||||
D_801F0582 = code_bss_start + 0x0000C5E2;
|
||||
D_801F0583 = code_bss_start + 0x0000C5E3;
|
||||
D_801F0584 = code_bss_start + 0x0000C5E4;
|
||||
D_801F0587 = code_bss_start + 0x0000C5E7;
|
||||
D_801F0588 = code_bss_start + 0x0000C5E8;
|
||||
D_801F0589 = code_bss_start + 0x0000C5E9;
|
||||
D_801F058A = code_bss_start + 0x0000C5EA;
|
||||
D_801F058B = code_bss_start + 0x0000C5EB;
|
||||
D_801F0591 = code_bss_start + 0x0000C5F1;
|
||||
D_801F0592 = code_bss_start + 0x0000C5F2;
|
||||
D_801F059A = code_bss_start + 0x0000C5FA;
|
||||
D_801F059B = code_bss_start + 0x0000C5FB;
|
||||
D_801F059C = code_bss_start + 0x0000C5FC;
|
||||
D_801F059D = code_bss_start + 0x0000C5FD;
|
||||
D_801F059E = code_bss_start + 0x0000C5FE;
|
||||
D_801F059F = code_bss_start + 0x0000C5FF;
|
||||
D_801F05A0 = code_bss_start + 0x0000C600;
|
||||
D_801F05A1 = code_bss_start + 0x0000C601;
|
||||
D_801F05A4 = code_bss_start + 0x0000C604;
|
||||
D_801F05A5 = code_bss_start + 0x0000C605;
|
||||
D_801F05A7 = code_bss_start + 0x0000C607;
|
||||
D_801F05A8 = code_bss_start + 0x0000C608;
|
||||
D_801F05B1 = code_bss_start + 0x0000C611;
|
||||
D_801F05B2 = code_bss_start + 0x0000C612;
|
||||
D_801F05B3 = code_bss_start + 0x0000C613;
|
||||
D_801F05B5 = code_bss_start + 0x0000C615;
|
||||
D_801F05B6 = code_bss_start + 0x0000C616;
|
||||
D_801F05B7 = code_bss_start + 0x0000C617;
|
||||
D_801F05B9 = code_bss_start + 0x0000C619;
|
||||
D_801F05BA = code_bss_start + 0x0000C61A;
|
||||
D_801F05BB = code_bss_start + 0x0000C61B;
|
||||
D_801F05BC = code_bss_start + 0x0000C61C;
|
||||
D_801F05BD = code_bss_start + 0x0000C61D;
|
||||
D_801F05BE = code_bss_start + 0x0000C61E;
|
||||
D_801F05BF = code_bss_start + 0x0000C61F;
|
||||
D_801F05C0 = code_bss_start + 0x0000C620;
|
||||
D_801F05C2 = code_bss_start + 0x0000C622;
|
||||
D_801F05C3 = code_bss_start + 0x0000C623;
|
||||
D_801F05C4 = code_bss_start + 0x0000C624;
|
||||
D_801F05C5 = code_bss_start + 0x0000C625;
|
||||
D_801F05D0 = code_bss_start + 0x0000C630;
|
||||
D_801F05D5 = code_bss_start + 0x0000C635;
|
||||
D_801F05D6 = code_bss_start + 0x0000C636;
|
||||
D_801F0656 = code_bss_start + 0x0000C6B6;
|
||||
D_801F0665 = code_bss_start + 0x0000C6C5;
|
||||
D_801F066B = code_bss_start + 0x0000C6CB;
|
||||
D_801F067A = code_bss_start + 0x0000C6DA;
|
||||
saveContext = code_bss_start + 0x0000B6D0;
|
||||
D_801F067C = code_bss_start + 0x0000C6DC;
|
||||
D_801F067D = code_bss_start + 0x0000C6DD;
|
||||
D_801F067E = code_bss_start + 0x0000C6DE;
|
||||
|
@ -574,9 +418,9 @@ D_801F4F58 = code_bss_start + 0x00010FB8;
|
|||
D_801F4F60 = code_bss_start + 0x00010FC0;
|
||||
D_801F4F66 = code_bss_start + 0x00010FC6;
|
||||
D_801F4F6A = code_bss_start + 0x00010FCA;
|
||||
D_801F4F70 = code_bss_start + 0x00010FD0;
|
||||
lightsList = code_bss_start + 0x00010FD0;
|
||||
D_801F4F78 = code_bss_start + 0x00010FD8;
|
||||
D_801F5100 = code_bss_start + 0x00011160;
|
||||
mainHeap = code_bss_start + 0x00011160;
|
||||
D_801F5130 = code_bss_start + 0x00011190;
|
||||
D_801F5270 = code_bss_start + 0x000112D0;
|
||||
D_801F528E = code_bss_start + 0x000112EE;
|
||||
|
@ -657,7 +501,8 @@ D_801F6DFC = code_bss_start + 0x00012E5C;
|
|||
D_801F6DFD = code_bss_start + 0x00012E5D;
|
||||
D_801F6E00 = code_bss_start + 0x00012E60;
|
||||
D_801F6FC0 = code_bss_start + 0x00013020;
|
||||
D_801F6FC8 = code_bss_start + 0x00013028;
|
||||
slowlyThreadInfo = code_bss_start + 0x00013028;
|
||||
slowlyStack = code_bss_start + 0x00013048;
|
||||
D_801F7FE8 = code_bss_start + 0x00014048;
|
||||
D_801F7FF0 = code_bss_start + 0x00014050;
|
||||
D_801F8010 = code_bss_start + 0x00014070;
|
||||
|
@ -668,36 +513,24 @@ D_801F80D0 = code_bss_start + 0x00014130;
|
|||
D_801F80E0 = code_bss_start + 0x00014140;
|
||||
D_801F80F0 = code_bss_start + 0x00014150;
|
||||
D_801F80F8 = code_bss_start + 0x00014158;
|
||||
D_801F8150 = code_bss_start + 0x000141B0;
|
||||
D_801F8154 = code_bss_start + 0x000141B4;
|
||||
D_801F8160 = code_bss_start + 0x000141C0;
|
||||
D_801F8178 = code_bss_start + 0x000141D8;
|
||||
D_801F8180 = code_bss_start + 0x000141E0;
|
||||
D_801F8188 = code_bss_start + 0x000141E8;
|
||||
D_801F818C = code_bss_start + 0x000141EC;
|
||||
D_801F8190 = code_bss_start + 0x000141F0;
|
||||
D_801F8194 = code_bss_start + 0x000141F4;
|
||||
D_801F8198 = code_bss_start + 0x000141F8;
|
||||
D_801F81A0 = code_bss_start + 0x00014200;
|
||||
D_801F81A4 = code_bss_start + 0x00014204;
|
||||
D_801F81A8 = code_bss_start + 0x00014208;
|
||||
D_801F81B8 = code_bss_start + 0x00014218;
|
||||
D_801F81BC = code_bss_start + 0x0001421C;
|
||||
D_801F81C0 = code_bss_start + 0x00014220;
|
||||
D_801F82D8 = code_bss_start + 0x00014338;
|
||||
D_801F84F8 = code_bss_start + 0x00014558;
|
||||
D_801F8500 = code_bss_start + 0x00014560;
|
||||
D_801F8518 = code_bss_start + 0x00014578;
|
||||
D_801F8608 = code_bss_start + 0x00014668;
|
||||
D_801F87B8 = code_bss_start + 0x00014818;
|
||||
D_801F9FB8 = code_bss_start + 0x00016018;
|
||||
D_801FA5B8 = code_bss_start + 0x00016618;
|
||||
D_801FADB8 = code_bss_start + 0x00016E18;
|
||||
D_801FB2B8 = code_bss_start + 0x00017318;
|
||||
D_801FB2D8 = code_bss_start + 0x00017338;
|
||||
D_801FB2F8 = code_bss_start + 0x00017358;
|
||||
D_801FB318 = code_bss_start + 0x00017378;
|
||||
D_801FB338 = code_bss_start + 0x00017398;
|
||||
lastRenderFrameTimestamp = code_bss_start + 0x000141B0;
|
||||
siEventCallbackQueue = code_bss_start + 0x000141C0;
|
||||
siEventCallbackBuffer = code_bss_start + 0x000141D8;
|
||||
rspSegmentPhysAddrs = code_bss_start + 0x000141E0;
|
||||
schedContext = code_bss_start + 0x00014220;
|
||||
mainIrqmgrCallbackNode = code_bss_start + 0x00014558;
|
||||
mainIrqmgrCallbackQueue = code_bss_start + 0x00014560;
|
||||
mainIrqCallbackBuffer = code_bss_start + 0x00014578;
|
||||
graphOSThread = code_bss_start + 0x00014668;
|
||||
graphStack = code_bss_start + 0x00014818;
|
||||
schedStack = code_bss_start + 0x00016018;
|
||||
audioStack = code_bss_start + 0x00016618;
|
||||
padmgrStack = code_bss_start + 0x00016E18;
|
||||
graphThreadInfo = code_bss_start + 0x00017318;
|
||||
schedThreadInfo = code_bss_start + 0x00017338;
|
||||
audioThreadInfo = code_bss_start + 0x00017358;
|
||||
padmgrThreadInfo = code_bss_start + 0x00017378;
|
||||
audioContext = code_bss_start + 0x00017398;
|
||||
D_801FBAA0 = code_bss_start + 0x00017B00;
|
||||
D_801FBAB0 = code_bss_start + 0x00017B10;
|
||||
D_801FBAB4 = code_bss_start + 0x00017B14;
|
||||
|
@ -712,7 +545,7 @@ D_801FBAD4 = code_bss_start + 0x00017B34;
|
|||
D_801FBAE0 = code_bss_start + 0x00017B40;
|
||||
D_801FBAE8 = code_bss_start + 0x00017B48;
|
||||
D_801FBAF0 = code_bss_start + 0x00017B50;
|
||||
D_801FBAF8 = code_bss_start + 0x00017B58;
|
||||
lastRenderFrameDuration = code_bss_start + 0x00017B58;
|
||||
D_801FBB00 = code_bss_start + 0x00017B60;
|
||||
D_801FBB04 = code_bss_start + 0x00017B64;
|
||||
D_801FBB08 = code_bss_start + 0x00017B68;
|
||||
|
@ -730,9 +563,9 @@ D_801FBB94 = code_bss_start + 0x00017BF4;
|
|||
D_801FBB98 = code_bss_start + 0x00017BF8;
|
||||
D_801FBB9C = code_bss_start + 0x00017BFC;
|
||||
D_801FBBA0 = code_bss_start + 0x00017C00;
|
||||
D_801FBBA4 = code_bss_start + 0x00017C04;
|
||||
D_801FBBA8 = code_bss_start + 0x00017C08;
|
||||
D_801FBBAC = code_bss_start + 0x00017C0C;
|
||||
sys_cfb_zbufl = code_bss_start + 0x00017C04;
|
||||
sys_cfb_wbufl = code_bss_start + 0x00017C08;
|
||||
sys_cfb_fifol = code_bss_start + 0x00017C0C;
|
||||
D_801FBBB0 = code_bss_start + 0x00017C10;
|
||||
D_801FBBB4 = code_bss_start + 0x00017C14;
|
||||
D_801FBBB8 = code_bss_start + 0x00017C18;
|
||||
|
@ -747,12 +580,8 @@ D_801FBBD2 = code_bss_start + 0x00017C32;
|
|||
D_801FBBD4 = code_bss_start + 0x00017C34;
|
||||
D_801FBBE0 = code_bss_start + 0x00017C40;
|
||||
D_801FBBF0 = code_bss_start + 0x00017C50;
|
||||
D_801FBBF8 = code_bss_start + 0x00017C58;
|
||||
D_801FBC00 = code_bss_start + 0x00017C60;
|
||||
D_801FBC0C = code_bss_start + 0x00017C6C;
|
||||
D_801FBC18 = code_bss_start + 0x00017C78;
|
||||
D_801FBC1C = code_bss_start + 0x00017C7C;
|
||||
D_801FBC20 = code_bss_start + 0x00017C80;
|
||||
Math3D_ColSphereTri_line = code_bss_start + 0x00017C60;
|
||||
Math3D_ColSphereTri_point = code_bss_start + 0x00017C78;
|
||||
D_801FBC28 = code_bss_start + 0x00017C88;
|
||||
D_801FBC2C = code_bss_start + 0x00017C8C;
|
||||
D_801FBC30 = code_bss_start + 0x00017C90;
|
||||
|
@ -765,8 +594,8 @@ D_801FBC44 = code_bss_start + 0x00017CA4;
|
|||
D_801FBC46 = code_bss_start + 0x00017CA6;
|
||||
D_801FBC48 = code_bss_start + 0x00017CA8;
|
||||
D_801FBC58 = code_bss_start + 0x00017CB8;
|
||||
D_801FBC68 = code_bss_start + 0x00017CC8;
|
||||
D_801FBC78 = code_bss_start + 0x00017CD8;
|
||||
Math3D_NormalVector_temp1 = code_bss_start + 0x00017CC8;
|
||||
Math3D_NormalVector_temp2 = code_bss_start + 0x00017CD8;
|
||||
D_801FBC8C = code_bss_start + 0x00017CEC;
|
||||
D_801FBC90 = code_bss_start + 0x00017CF0;
|
||||
D_801FBC98 = code_bss_start + 0x00017CF8;
|
||||
|
@ -776,7 +605,6 @@ D_801FBCB4 = code_bss_start + 0x00017D14;
|
|||
D_801FBCB8 = code_bss_start + 0x00017D18;
|
||||
D_801FBCBC = code_bss_start + 0x00017D1C;
|
||||
D_801FBCC4 = code_bss_start + 0x00017D24;
|
||||
D_801FBCC8 = code_bss_start + 0x00017D28;
|
||||
D_801FBCCC = code_bss_start + 0x00017D2C;
|
||||
D_801FBCD0 = code_bss_start + 0x00017D30;
|
||||
D_801FBCD4 = code_bss_start + 0x00017D34;
|
||||
|
@ -797,58 +625,30 @@ D_801FBD40 = code_bss_start + 0x00017DA0;
|
|||
D_801FBD48 = code_bss_start + 0x00017DA8;
|
||||
D_801FBD50 = code_bss_start + 0x00017DB0;
|
||||
D_801FBD58 = code_bss_start + 0x00017DB8;
|
||||
D_801FBD60 = code_bss_start + 0x00017DC0;
|
||||
D_801FBD64 = code_bss_start + 0x00017DC4;
|
||||
D_801FBD68 = code_bss_start + 0x00017DC8;
|
||||
Math3D_UnitNormalVector_temp = code_bss_start + 0x00017DC0;
|
||||
D_801FBD70 = code_bss_start + 0x00017DD0;
|
||||
D_801FBD80 = code_bss_start + 0x00017DE0;
|
||||
D_801FBD84 = code_bss_start + 0x00017DE4;
|
||||
D_801FBD88 = code_bss_start + 0x00017DE8;
|
||||
D_801FBD8C = code_bss_start + 0x00017DEC;
|
||||
D_801FBD90 = code_bss_start + 0x00017DF0;
|
||||
D_801FBD94 = code_bss_start + 0x00017DF4;
|
||||
D_801FBD98 = code_bss_start + 0x00017DF8;
|
||||
D_801FBDA4 = code_bss_start + 0x00017E04;
|
||||
D_801FBDA8 = code_bss_start + 0x00017E08;
|
||||
D_801FBDAC = code_bss_start + 0x00017E0C;
|
||||
D_801FBDB0 = code_bss_start + 0x00017E10;
|
||||
D_801FBDC0 = code_bss_start + 0x00017E20;
|
||||
D_801FBDE0 = code_bss_start + 0x00017E40;
|
||||
D_801FBDE8 = code_bss_start + 0x00017E48;
|
||||
D_801FBDF0 = code_bss_start + 0x00017E50;
|
||||
D_801FBE00 = code_bss_start + 0x00017E60;
|
||||
D_801FBE04 = code_bss_start + 0x00017E64;
|
||||
matrixState = code_bss_start + 0x00017E60;
|
||||
matrixCurrentState = code_bss_start + 0x00017E64;
|
||||
D_801FBE10 = code_bss_start + 0x00017E70;
|
||||
D_801FBE28 = code_bss_start + 0x00017E88;
|
||||
D_801FBE2C = code_bss_start + 0x00017E8C;
|
||||
D_801FBE30 = code_bss_start + 0x00017E90;
|
||||
D_801FBE38 = code_bss_start + 0x00017E98;
|
||||
D_801FCE38 = code_bss_start + 0x00018E98;
|
||||
D_801FCE58 = code_bss_start + 0x00018EB8;
|
||||
sys_flashromStack = code_bss_start + 0x00017E98;
|
||||
sys_flashromThreadInfo = code_bss_start + 0x00018E98;
|
||||
sys_flashromOSThread = code_bss_start + 0x00018EB8;
|
||||
D_801FD008 = code_bss_start + 0x00019068;
|
||||
D_801FD00C = code_bss_start + 0x0001906C;
|
||||
D_801FD010 = code_bss_start + 0x00019070;
|
||||
D_801FD01C = code_bss_start + 0x0001907C;
|
||||
D_801FD024 = code_bss_start + 0x00019084;
|
||||
D_801FD02C = code_bss_start + 0x0001908C;
|
||||
D_801FD034 = code_bss_start + 0x00019094;
|
||||
D_801FD040 = code_bss_start + 0x000190A0;
|
||||
D_801FD050 = code_bss_start + 0x000190B0;
|
||||
D_801FD052 = code_bss_start + 0x000190B2;
|
||||
D_801FD054 = code_bss_start + 0x000190B4;
|
||||
D_801FD058 = code_bss_start + 0x000190B8;
|
||||
D_801FD05C = code_bss_start + 0x000190BC;
|
||||
D_801FD060 = code_bss_start + 0x000190C0;
|
||||
D_801FD068 = code_bss_start + 0x000190C8;
|
||||
D_801FD080 = code_bss_start + 0x000190E0;
|
||||
D_801FD084 = code_bss_start + 0x000190E4;
|
||||
D_801FD085 = code_bss_start + 0x000190E5;
|
||||
D_801FD086 = code_bss_start + 0x000190E6;
|
||||
D_801FD087 = code_bss_start + 0x000190E7;
|
||||
D_801FD088 = code_bss_start + 0x000190E8;
|
||||
D_801FD089 = code_bss_start + 0x000190E9;
|
||||
D_801FD08C = code_bss_start + 0x000190EC;
|
||||
D_801FD090 = code_bss_start + 0x000190F0;
|
||||
D_801FD0F4 = code_bss_start + 0x00019154;
|
||||
D_801FD0F8 = code_bss_start + 0x00019158;
|
||||
D_801FD120 = code_bss_start + 0x00019180;
|
||||
|
@ -1077,170 +877,11 @@ D_80208E94 = code_bss_start + 0x00024EF4;
|
|||
D_80208E98 = code_bss_start + 0x00024EF8;
|
||||
D_80208E99 = code_bss_start + 0x00024EF9;
|
||||
D_80208E9C = code_bss_start + 0x00024EFC;
|
||||
D_80208EA0 = code_bss_start + 0x00024F00;
|
||||
D_80209AA0 = code_bss_start + 0x00025B00;
|
||||
D_80209EA0 = code_bss_start + 0x00025F00;
|
||||
D_8024A4C0 = code_bss_start + 0x00066520;
|
||||
D_803824C0 = code_bss_start + 0x0019E520;
|
||||
D_80780000 = code_bss_start + 0x0059C060;
|
||||
D_80784600 = code_bss_start + 0x005A0660;
|
||||
D_807DA800 = code_bss_start + 0x005F6860;
|
||||
D_80814E80 = ovl_file_choose_bss_start + 0x00000000;
|
||||
D_80814E90 = ovl_file_choose_bss_start + 0x00000010;
|
||||
D_8082DA50 = ovl_kaleido_scope_bss_start + 0x00000000;
|
||||
D_8082DA52 = ovl_kaleido_scope_bss_start + 0x00000002;
|
||||
D_8082DA54 = ovl_kaleido_scope_bss_start + 0x00000004;
|
||||
D_8082DA56 = ovl_kaleido_scope_bss_start + 0x00000006;
|
||||
D_8082DA58 = ovl_kaleido_scope_bss_start + 0x00000008;
|
||||
D_8082DA60 = ovl_kaleido_scope_bss_start + 0x00000010;
|
||||
D_8082DA64 = ovl_kaleido_scope_bss_start + 0x00000014;
|
||||
D_8082DA68 = ovl_kaleido_scope_bss_start + 0x00000018;
|
||||
D_8082DA6C = ovl_kaleido_scope_bss_start + 0x0000001C;
|
||||
D_8082DA70 = ovl_kaleido_scope_bss_start + 0x00000020;
|
||||
D_8082DA74 = ovl_kaleido_scope_bss_start + 0x00000024;
|
||||
D_8082DA78 = ovl_kaleido_scope_bss_start + 0x00000028;
|
||||
D_8082DA7C = ovl_kaleido_scope_bss_start + 0x0000002C;
|
||||
D_8082DA80 = ovl_kaleido_scope_bss_start + 0x00000030;
|
||||
D_8082DA82 = ovl_kaleido_scope_bss_start + 0x00000032;
|
||||
D_8082DA84 = ovl_kaleido_scope_bss_start + 0x00000034;
|
||||
D_8082DA86 = ovl_kaleido_scope_bss_start + 0x00000036;
|
||||
func_8084D2FC = 0x8084D2FC;
|
||||
D_80862AF0 = ovl_Player_Actor_bss_start + 0x00000000;
|
||||
D_80862AF4 = ovl_Player_Actor_bss_start + 0x00000004;
|
||||
D_80862AF8 = ovl_Player_Actor_bss_start + 0x00000008;
|
||||
D_80862AFC = ovl_Player_Actor_bss_start + 0x0000000C;
|
||||
D_80862B00 = ovl_Player_Actor_bss_start + 0x00000010;
|
||||
D_80862B02 = ovl_Player_Actor_bss_start + 0x00000012;
|
||||
D_80862B04 = ovl_Player_Actor_bss_start + 0x00000014;
|
||||
D_80862B08 = ovl_Player_Actor_bss_start + 0x00000018;
|
||||
D_80862B0C = ovl_Player_Actor_bss_start + 0x0000001C;
|
||||
D_80862B10 = ovl_Player_Actor_bss_start + 0x00000020;
|
||||
D_80862B14 = ovl_Player_Actor_bss_start + 0x00000024;
|
||||
D_80862B16 = ovl_Player_Actor_bss_start + 0x00000026;
|
||||
D_80862B18 = ovl_Player_Actor_bss_start + 0x00000028;
|
||||
D_80862B1C = ovl_Player_Actor_bss_start + 0x0000002C;
|
||||
D_80862B20 = ovl_Player_Actor_bss_start + 0x00000030;
|
||||
D_80862B24 = ovl_Player_Actor_bss_start + 0x00000034;
|
||||
D_80862B28 = ovl_Player_Actor_bss_start + 0x00000038;
|
||||
D_80862B2C = ovl_Player_Actor_bss_start + 0x0000003C;
|
||||
D_80862B30 = ovl_Player_Actor_bss_start + 0x00000040;
|
||||
D_80862B3C = ovl_Player_Actor_bss_start + 0x0000004C;
|
||||
D_80862B40 = ovl_Player_Actor_bss_start + 0x00000050;
|
||||
D_80862B44 = ovl_Player_Actor_bss_start + 0x00000054;
|
||||
D_80862B48 = ovl_Player_Actor_bss_start + 0x00000058;
|
||||
D_80862B4C = ovl_Player_Actor_bss_start + 0x0000005C;
|
||||
D_80862B50 = ovl_Player_Actor_bss_start + 0x00000060;
|
||||
D_80862B6C = ovl_Player_Actor_bss_start + 0x0000007C;
|
||||
D_80867BC0 = ovl_En_Door_bss_start + 0x00000000;
|
||||
heap = code_bss_start + 0x0019E520;
|
||||
D_80874650 = ovl_En_Bom_bss_start + 0x00000000;
|
||||
D_80874668 = ovl_En_Bom_bss_start + 0x00000018;
|
||||
D_8087466A = ovl_En_Bom_bss_start + 0x0000001A;
|
||||
D_8087466C = ovl_En_Bom_bss_start + 0x0000001C;
|
||||
D_8089F4D0 = ovl_En_Viewer_bss_start + 0x00000000;
|
||||
D_808BC000 = ovl_Door_Warp1_bss_start + 0x00000000;
|
||||
D_808BC004 = ovl_Door_Warp1_bss_start + 0x00000004;
|
||||
D_808BCDE0 = ovl_Obj_Syokudai_bss_start + 0x00000000;
|
||||
D_808C4F70 = ovl_En_Wood02_bss_start + 0x00000000;
|
||||
D_808C4F74 = ovl_En_Wood02_bss_start + 0x00000004;
|
||||
D_808CC250 = ovl_En_Minideath_bss_start + 0x00000000;
|
||||
D_808CC254 = ovl_En_Minideath_bss_start + 0x00000004;
|
||||
D_808CC258 = ovl_En_Minideath_bss_start + 0x00000008;
|
||||
D_808CC25C = ovl_En_Minideath_bss_start + 0x0000000C;
|
||||
D_808DE5B0 = ovl_Object_Kankyo_bss_start + 0x00000000;
|
||||
D_809101B0 = ovl_En_Fishing_bss_start + 0x00000000;
|
||||
D_809101B4 = ovl_En_Fishing_bss_start + 0x00000004;
|
||||
D_809101B8 = ovl_En_Fishing_bss_start + 0x00000008;
|
||||
D_809101BC = ovl_En_Fishing_bss_start + 0x0000000C;
|
||||
D_809101C0 = ovl_En_Fishing_bss_start + 0x00000010;
|
||||
D_809101C4 = ovl_En_Fishing_bss_start + 0x00000014;
|
||||
D_809101C8 = ovl_En_Fishing_bss_start + 0x00000018;
|
||||
D_809101CC = ovl_En_Fishing_bss_start + 0x0000001C;
|
||||
D_809101D0 = ovl_En_Fishing_bss_start + 0x00000020;
|
||||
D_809101D8 = ovl_En_Fishing_bss_start + 0x00000028;
|
||||
D_809101E8 = ovl_En_Fishing_bss_start + 0x00000038;
|
||||
D_80910B3C = ovl_En_Fishing_bss_start + 0x0000098C;
|
||||
D_80910B40 = ovl_En_Fishing_bss_start + 0x00000990;
|
||||
D_80910B44 = ovl_En_Fishing_bss_start + 0x00000994;
|
||||
D_80910B48 = ovl_En_Fishing_bss_start + 0x00000998;
|
||||
D_809114A8 = ovl_En_Fishing_bss_start + 0x000012F8;
|
||||
D_80911E08 = ovl_En_Fishing_bss_start + 0x00001C58;
|
||||
D_80911E14 = ovl_En_Fishing_bss_start + 0x00001C64;
|
||||
D_80911E20 = ovl_En_Fishing_bss_start + 0x00001C70;
|
||||
D_80911E28 = ovl_En_Fishing_bss_start + 0x00001C78;
|
||||
D_80911E30 = ovl_En_Fishing_bss_start + 0x00001C80;
|
||||
D_80911F20 = ovl_En_Fishing_bss_start + 0x00001D70;
|
||||
D_80911F24 = ovl_En_Fishing_bss_start + 0x00001D74;
|
||||
D_80911F28 = ovl_En_Fishing_bss_start + 0x00001D78;
|
||||
D_80911F2C = ovl_En_Fishing_bss_start + 0x00001D7C;
|
||||
D_80911F30 = ovl_En_Fishing_bss_start + 0x00001D80;
|
||||
D_80911F38 = ovl_En_Fishing_bss_start + 0x00001D88;
|
||||
D_80911F3C = ovl_En_Fishing_bss_start + 0x00001D8C;
|
||||
D_80911F40 = ovl_En_Fishing_bss_start + 0x00001D90;
|
||||
D_80911F44 = ovl_En_Fishing_bss_start + 0x00001D94;
|
||||
D_80911F48 = ovl_En_Fishing_bss_start + 0x00001D98;
|
||||
D_80911F4C = ovl_En_Fishing_bss_start + 0x00001D9C;
|
||||
D_80911F50 = ovl_En_Fishing_bss_start + 0x00001DA0;
|
||||
D_80911F58 = ovl_En_Fishing_bss_start + 0x00001DA8;
|
||||
D_80911F64 = ovl_En_Fishing_bss_start + 0x00001DB4;
|
||||
D_80911F68 = ovl_En_Fishing_bss_start + 0x00001DB8;
|
||||
D_80911F6C = ovl_En_Fishing_bss_start + 0x00001DBC;
|
||||
D_80911F70 = ovl_En_Fishing_bss_start + 0x00001DC0;
|
||||
D_80911F78 = ovl_En_Fishing_bss_start + 0x00001DC8;
|
||||
D_80914048 = ovl_En_Fishing_bss_start + 0x00003E98;
|
||||
D_80915128 = ovl_En_Fishing_bss_start + 0x00004F78;
|
||||
D_8091512C = ovl_En_Fishing_bss_start + 0x00004F7C;
|
||||
D_80915130 = ovl_En_Fishing_bss_start + 0x00004F80;
|
||||
D_809171B8 = ovl_En_Fishing_bss_start + 0x00007008;
|
||||
D_809171C4 = ovl_En_Fishing_bss_start + 0x00007014;
|
||||
D_809171C8 = ovl_En_Fishing_bss_start + 0x00007018;
|
||||
D_809171C9 = ovl_En_Fishing_bss_start + 0x00007019;
|
||||
D_809171CA = ovl_En_Fishing_bss_start + 0x0000701A;
|
||||
D_809171CB = ovl_En_Fishing_bss_start + 0x0000701B;
|
||||
D_809171CC = ovl_En_Fishing_bss_start + 0x0000701C;
|
||||
D_809171D0 = ovl_En_Fishing_bss_start + 0x00007020;
|
||||
D_809171D1 = ovl_En_Fishing_bss_start + 0x00007021;
|
||||
D_809171D2 = ovl_En_Fishing_bss_start + 0x00007022;
|
||||
D_809171D4 = ovl_En_Fishing_bss_start + 0x00007024;
|
||||
D_809171D6 = ovl_En_Fishing_bss_start + 0x00007026;
|
||||
D_809171D8 = ovl_En_Fishing_bss_start + 0x00007028;
|
||||
D_809171DA = ovl_En_Fishing_bss_start + 0x0000702A;
|
||||
D_809171DC = ovl_En_Fishing_bss_start + 0x0000702C;
|
||||
D_809171E0 = ovl_En_Fishing_bss_start + 0x00007030;
|
||||
D_809171EC = ovl_En_Fishing_bss_start + 0x0000703C;
|
||||
D_809171EE = ovl_En_Fishing_bss_start + 0x0000703E;
|
||||
D_809171F0 = ovl_En_Fishing_bss_start + 0x00007040;
|
||||
D_809171F2 = ovl_En_Fishing_bss_start + 0x00007042;
|
||||
D_809171F4 = ovl_En_Fishing_bss_start + 0x00007044;
|
||||
D_809171F6 = ovl_En_Fishing_bss_start + 0x00007046;
|
||||
D_809171F8 = ovl_En_Fishing_bss_start + 0x00007048;
|
||||
D_809171FC = ovl_En_Fishing_bss_start + 0x0000704C;
|
||||
D_809171FE = ovl_En_Fishing_bss_start + 0x0000704E;
|
||||
D_80917200 = ovl_En_Fishing_bss_start + 0x00007050;
|
||||
D_80917202 = ovl_En_Fishing_bss_start + 0x00007052;
|
||||
D_80917204 = ovl_En_Fishing_bss_start + 0x00007054;
|
||||
D_80917206 = ovl_En_Fishing_bss_start + 0x00007056;
|
||||
D_80917208 = ovl_En_Fishing_bss_start + 0x00007058;
|
||||
D_8091720C = ovl_En_Fishing_bss_start + 0x0000705C;
|
||||
D_80917210 = ovl_En_Fishing_bss_start + 0x00007060;
|
||||
D_80917218 = ovl_En_Fishing_bss_start + 0x00007068;
|
||||
D_80917228 = ovl_En_Fishing_bss_start + 0x00007078;
|
||||
D_8091722C = ovl_En_Fishing_bss_start + 0x0000707C;
|
||||
D_80917238 = ovl_En_Fishing_bss_start + 0x00007088;
|
||||
D_8091723C = ovl_En_Fishing_bss_start + 0x0000708C;
|
||||
D_80917248 = ovl_En_Fishing_bss_start + 0x00007098;
|
||||
D_80917254 = ovl_En_Fishing_bss_start + 0x000070A4;
|
||||
D_80917258 = ovl_En_Fishing_bss_start + 0x000070A8;
|
||||
D_8091725C = ovl_En_Fishing_bss_start + 0x000070AC;
|
||||
D_80917260 = ovl_En_Fishing_bss_start + 0x000070B0;
|
||||
D_80917264 = ovl_En_Fishing_bss_start + 0x000070B4;
|
||||
D_80917266 = ovl_En_Fishing_bss_start + 0x000070B6;
|
||||
D_80917268 = ovl_En_Fishing_bss_start + 0x000070B8;
|
||||
D_8091726C = ovl_En_Fishing_bss_start + 0x000070BC;
|
||||
D_80917270 = ovl_En_Fishing_bss_start + 0x000070C0;
|
||||
D_80917272 = ovl_En_Fishing_bss_start + 0x000070C2;
|
||||
D_80917274 = ovl_En_Fishing_bss_start + 0x000070C4;
|
||||
D_80917278 = ovl_En_Fishing_bss_start + 0x000070C8;
|
||||
D_8091727C = ovl_En_Fishing_bss_start + 0x000070CC;
|
||||
D_80936AD0 = ovl_En_Kusa_bss_start + 0x00000000;
|
||||
D_80936AD8 = ovl_En_Kusa_bss_start + 0x00000008;
|
||||
D_80936CD8 = ovl_En_Kusa_bss_start + 0x00000208;
|
||||
|
@ -1248,13 +889,7 @@ D_80936CDA = ovl_En_Kusa_bss_start + 0x0000020A;
|
|||
D_80936CDC = ovl_En_Kusa_bss_start + 0x0000020C;
|
||||
D_80936CDE = ovl_En_Kusa_bss_start + 0x0000020E;
|
||||
D_80936CE0 = ovl_En_Kusa_bss_start + 0x00000210;
|
||||
D_8093D3B0 = ovl_Obj_Switch_bss_start + 0x00000000;
|
||||
D_80947EA0 = ovl_En_Sda_bss_start + 0x00000000;
|
||||
D_8096F5D0 = ovl_Bg_F40_Swlift_bss_start + 0x00000000;
|
||||
D_809AADA0 = ovl_Obj_Grass_bss_start + 0x00000020;
|
||||
D_809AADB0 = ovl_Obj_Grass_bss_start + 0x00000030;
|
||||
D_809AADC0 = ovl_Obj_Grass_bss_start + 0x00000040;
|
||||
D_809AAE10 = ovl_Obj_Grass_bss_start + 0x00000090;
|
||||
func_809AAD9C = ovl_Obj_Grass_bss_start + 0x0000001C;
|
||||
D_809BEFD0 = ovl_En_Knight_bss_start + 0x00000000;
|
||||
D_809BEFD4 = ovl_En_Knight_bss_start + 0x00000004;
|
||||
D_809BEFD8 = ovl_En_Knight_bss_start + 0x00000008;
|
||||
|
@ -1299,8 +934,6 @@ D_809EC030 = ovl_Boss_03_bss_start + 0x000027F0;
|
|||
D_809EC034 = ovl_Boss_03_bss_start + 0x000027F4;
|
||||
D_809EC038 = ovl_Boss_03_bss_start + 0x000027F8;
|
||||
D_809EC03C = ovl_Boss_03_bss_start + 0x000027FC;
|
||||
D_809EE4D0 = ovl_Boss_04_bss_start + 0x00000000;
|
||||
D_809F2110 = ovl_Boss_05_bss_start + 0x00000000;
|
||||
D_809F4370 = ovl_Boss_06_bss_start + 0x00000000;
|
||||
D_809F4970 = ovl_Boss_06_bss_start + 0x00000600;
|
||||
D_809F4974 = ovl_Boss_06_bss_start + 0x00000604;
|
||||
|
@ -1329,27 +962,6 @@ D_80A1DA3A = ovl_Obj_Flowerpot_bss_start + 0x0000020A;
|
|||
D_80A1DA3C = ovl_Obj_Flowerpot_bss_start + 0x0000020C;
|
||||
D_80A1DA3E = ovl_Obj_Flowerpot_bss_start + 0x0000020E;
|
||||
D_80A1DA40 = ovl_Obj_Flowerpot_bss_start + 0x00000210;
|
||||
D_80A2BBF0 = ovl_Bg_Dblue_Movebg_bss_start + 0x00000000;
|
||||
D_80A2BBF4 = ovl_Bg_Dblue_Movebg_bss_start + 0x00000004;
|
||||
D_80A2BBF5 = ovl_Bg_Dblue_Movebg_bss_start + 0x00000005;
|
||||
D_80A32200 = ovl_En_Slime_bss_start + 0x00000000;
|
||||
D_80A41D20 = ovl_En_Test3_bss_start + 0x00000000;
|
||||
D_80A41D24 = ovl_En_Test3_bss_start + 0x00000004;
|
||||
D_80A41D28 = ovl_En_Test3_bss_start + 0x00000008;
|
||||
D_80A41D40 = ovl_En_Test3_bss_start + 0x00000020;
|
||||
D_80A41D44 = ovl_En_Test3_bss_start + 0x00000024;
|
||||
D_80A41D48 = ovl_En_Test3_bss_start + 0x00000028;
|
||||
D_80A41D50 = ovl_En_Test3_bss_start + 0x00000030;
|
||||
D_80A41D5C = ovl_En_Test3_bss_start + 0x0000003C;
|
||||
D_80A41D60 = ovl_En_Test3_bss_start + 0x00000040;
|
||||
D_80A41D64 = ovl_En_Test3_bss_start + 0x00000044;
|
||||
D_80A41D68 = ovl_En_Test3_bss_start + 0x00000048;
|
||||
D_80A41D6C = ovl_En_Test3_bss_start + 0x0000004C;
|
||||
D_80A434D0 = ovl_En_Test4_bss_start + 0x00000000;
|
||||
D_80A434D2 = ovl_En_Test4_bss_start + 0x00000002;
|
||||
D_80A434D4 = ovl_En_Test4_bss_start + 0x00000004;
|
||||
D_80A44C70 = ovl_En_Bat_bss_start + 0x00000000;
|
||||
D_80A44C74 = ovl_En_Bat_bss_start + 0x00000004;
|
||||
D_80A5F1C0 = ovl_En_Kusa2_bss_start + 0x00000000;
|
||||
D_80A60900 = ovl_En_Kusa2_bss_start + 0x00001740;
|
||||
D_80A60908 = ovl_En_Kusa2_bss_start + 0x00001748;
|
||||
|
@ -1362,26 +974,14 @@ D_80A6E990 = ovl_En_Fall_bss_start + 0x00000000;
|
|||
D_80A6E9B4 = ovl_En_Fall_bss_start + 0x00000024;
|
||||
D_80A6E9D8 = ovl_En_Fall_bss_start + 0x00000048;
|
||||
D_80A6F098 = ovl_En_Fall_bss_start + 0x00000708;
|
||||
D_80A711B0 = ovl_Bg_Crace_Movebg_bss_start + 0x00000000;
|
||||
D_80A849D0 = ovl_Obj_Mine_bss_start + 0x00000000;
|
||||
D_80A94910 = ovl_En_Test6_bss_start + 0x00000000;
|
||||
D_80A99E80 = ovl_En_Az_bss_start + 0x00000000;
|
||||
D_80A99E8C = ovl_En_Az_bss_start + 0x0000000C;
|
||||
D_80A99E90 = ovl_En_Az_bss_start + 0x00000010;
|
||||
D_80A9DDC0 = ovl_Bg_Hakugin_Post_bss_start + 0x00000000;
|
||||
D_80A9E028 = ovl_Bg_Hakugin_Post_bss_start + 0x00000268;
|
||||
D_80A9E030 = ovl_Bg_Hakugin_Post_bss_start + 0x00000270;
|
||||
D_80A9E2C8 = ovl_Bg_Hakugin_Post_bss_start + 0x00000508;
|
||||
D_80A9F6A8 = ovl_Bg_Hakugin_Post_bss_start + 0x000018E8;
|
||||
D_80A9F94C = ovl_Bg_Hakugin_Post_bss_start + 0x00001B8C;
|
||||
D_80AAAE20 = ovl_Dm_Char01_bss_start + 0x00000000;
|
||||
D_80AAAE22 = ovl_Dm_Char01_bss_start + 0x00000002;
|
||||
D_80AAAE24 = ovl_Dm_Char01_bss_start + 0x00000004;
|
||||
D_80AAAE26 = ovl_Dm_Char01_bss_start + 0x00000006;
|
||||
D_80AC1230 = ovl_En_Twig_bss_start + 0x00000000;
|
||||
D_80AC1234 = ovl_En_Twig_bss_start + 0x00000004;
|
||||
D_80AC1238 = ovl_En_Twig_bss_start + 0x00000008;
|
||||
D_80AC5060 = ovl_Bg_Icefloe_bss_start + 0x00000000;
|
||||
D_80ADA450 = ovl_Obj_Takaraya_Wall_bss_start + 0x00000000;
|
||||
D_80ADA458 = ovl_Obj_Takaraya_Wall_bss_start + 0x00000008;
|
||||
D_80ADA508 = ovl_Obj_Takaraya_Wall_bss_start + 0x000000B8;
|
||||
|
@ -1394,13 +994,6 @@ D_80ADA9A4 = ovl_Obj_Takaraya_Wall_bss_start + 0x00000554;
|
|||
D_80ADAAC8 = ovl_Obj_Takaraya_Wall_bss_start + 0x00000678;
|
||||
D_80ADAACC = ovl_Obj_Takaraya_Wall_bss_start + 0x0000067C;
|
||||
D_80ADAAE8 = ovl_Obj_Takaraya_Wall_bss_start + 0x00000698;
|
||||
D_80AF0050 = ovl_En_Tk_bss_start + 0x00000000;
|
||||
D_80AF38B0 = ovl_En_Test7_bss_start + 0x00000000;
|
||||
D_80AF38F0 = ovl_En_Test7_bss_start + 0x00000040;
|
||||
D_80AF38F4 = ovl_En_Test7_bss_start + 0x00000044;
|
||||
D_80AF38F8 = ovl_En_Test7_bss_start + 0x00000048;
|
||||
D_80AF3900 = ovl_En_Test7_bss_start + 0x00000050;
|
||||
D_80B16AF0 = ovl_Bg_Hakugin_Switch_bss_start + 0x00000000;
|
||||
D_80B502A0 = ovl_En_Invadepoh_bss_start + 0x00000000;
|
||||
D_80B502E0 = ovl_En_Invadepoh_bss_start + 0x00000040;
|
||||
D_80B50320 = ovl_En_Invadepoh_bss_start + 0x00000080;
|
||||
|
@ -1419,81 +1012,8 @@ D_80B50404 = ovl_En_Invadepoh_bss_start + 0x00000164;
|
|||
D_80B50406 = ovl_En_Invadepoh_bss_start + 0x00000166;
|
||||
D_80B5040A = ovl_En_Invadepoh_bss_start + 0x0000016A;
|
||||
D_80B5040C = ovl_En_Invadepoh_bss_start + 0x0000016C;
|
||||
D_80B5E880 = ovl_En_Ot_bss_start + 0x00000000;
|
||||
D_80B5E884 = ovl_En_Ot_bss_start + 0x00000004;
|
||||
D_80B5E888 = ovl_En_Ot_bss_start + 0x00000008;
|
||||
D_80B83C70 = ovl_Bg_Dblue_Balance_bss_start + 0x00000000;
|
||||
D_80B83C74 = ovl_Bg_Dblue_Balance_bss_start + 0x00000004;
|
||||
D_80B95E10 = ovl_En_Zog_bss_start + 0x00000000;
|
||||
D_80B9DED0 = ovl_Obj_Hunsui_bss_start + 0x00000000;
|
||||
D_80B9DED4 = ovl_Obj_Hunsui_bss_start + 0x00000004;
|
||||
D_80B9DED8 = ovl_Obj_Hunsui_bss_start + 0x00000008;
|
||||
D_80B9DEDA = ovl_Obj_Hunsui_bss_start + 0x0000000A;
|
||||
D_80BA36B0 = ovl_Obj_Nozoki_bss_start + 0x00000000;
|
||||
D_80BA36B4 = ovl_Obj_Nozoki_bss_start + 0x00000004;
|
||||
D_80BA36B8 = ovl_Obj_Nozoki_bss_start + 0x00000008;
|
||||
D_80BB8450 = ovl_En_Tanron2_bss_start + 0x00000000;
|
||||
D_80BB8454 = ovl_En_Tanron2_bss_start + 0x00000004;
|
||||
D_80BB8458 = ovl_En_Tanron2_bss_start + 0x00000008;
|
||||
D_80BB845C = ovl_En_Tanron2_bss_start + 0x0000000C;
|
||||
D_80BB8460 = ovl_En_Tanron2_bss_start + 0x00000010;
|
||||
D_80BBAC90 = ovl_Obj_Chan_bss_start + 0x00000000;
|
||||
D_80BC4F20 = ovl_Bg_F40_Switch_bss_start + 0x00000000;
|
||||
D_80BCF1C0 = ovl_Eff_Kamejima_Wave_bss_start + 0x00000000;
|
||||
D_80BCF1C1 = ovl_Eff_Kamejima_Wave_bss_start + 0x00000001;
|
||||
D_80BCF1C4 = ovl_Eff_Kamejima_Wave_bss_start + 0x00000004;
|
||||
D_80BECBD0 = ovl_Bg_Ikana_Dharma_bss_start + 0x00000000;
|
||||
D_80BF5C10 = ovl_En_Rg_bss_start + 0x00000000;
|
||||
D_80C13920 = ovl_En_Thiefbird_bss_start + 0x00000000;
|
||||
D_80C1392C = ovl_En_Thiefbird_bss_start + 0x0000000C;
|
||||
D_80C16470 = ovl_Obj_Yado_bss_start + 0x00000000;
|
||||
D_80C1AD40 = ovl_En_Invadepoh_Demo_bss_start + 0x00000000;
|
||||
D_80C1AD80 = ovl_En_Invadepoh_Demo_bss_start + 0x00000040;
|
||||
D_A0000000 = 0xA0000000;
|
||||
D_A00FFFFC = 0xA00FFFFC;
|
||||
D_A02FB1F4 = 0xA02FB1F4;
|
||||
D_A02FE1C0 = 0xA02FE1C0;
|
||||
D_A4040000 = 0xA4040000;
|
||||
D_A4040004 = 0xA4040004;
|
||||
D_A4040008 = 0xA4040008;
|
||||
D_A404000C = 0xA404000C;
|
||||
D_A4040010 = 0xA4040010;
|
||||
D_A4080000 = 0xA4080000;
|
||||
D_A410000C = 0xA410000C;
|
||||
D_A4300000 = 0xA4300000;
|
||||
D_A4300008 = 0xA4300008;
|
||||
D_A430000C = 0xA430000C;
|
||||
D_A4400004 = 0xA4400004;
|
||||
D_A4400008 = 0xA4400008;
|
||||
D_A4400010 = 0xA4400010;
|
||||
D_A4400014 = 0xA4400014;
|
||||
D_A4400018 = 0xA4400018;
|
||||
D_A4500000 = 0xA4500000;
|
||||
D_A4500004 = 0xA4500004;
|
||||
D_A4500008 = 0xA4500008;
|
||||
D_A450000C = 0xA450000C;
|
||||
D_A4500010 = 0xA4500010;
|
||||
D_A4500014 = 0xA4500014;
|
||||
D_A4600000 = 0xA4600000;
|
||||
D_A4600004 = 0xA4600004;
|
||||
D_A4600008 = 0xA4600008;
|
||||
D_A460000C = 0xA460000C;
|
||||
D_A4600010 = 0xA4600010;
|
||||
D_A4600014 = 0xA4600014;
|
||||
D_A4600018 = 0xA4600018;
|
||||
D_A460001C = 0xA460001C;
|
||||
D_A4600020 = 0xA4600020;
|
||||
D_A4600024 = 0xA4600024;
|
||||
D_A4600028 = 0xA4600028;
|
||||
D_A460002C = 0xA460002C;
|
||||
D_A4600030 = 0xA4600030;
|
||||
D_A4800000 = 0xA4800000;
|
||||
D_A4800004 = 0xA4800004;
|
||||
D_A4800010 = 0xA4800010;
|
||||
D_A4800018 = 0xA4800018;
|
||||
D_C00032B8 = 0xC00032B8;
|
||||
D_C00032BC = 0xC00032BC;
|
||||
D_C1200B34 = 0xC1200B34;
|
||||
D_FC110200 = 0xFC110200;
|
||||
|
||||
D_80099AD0_ = 0x80099AD0;
|
Loading…
Reference in New Issue