fox_map decompiled (#68)

* func_EBFBE0_801A116C

* func_EBFBE0_801A0D14

* put some order

* func_EBFBE0_801A1528

* func_EBFBE0_801A53C8

* func_EBFBE0_801A4FC4

* func_EBFBE0_801A9448

* func_EBFBE0_801A4394

* func_EBFBE0_801A3A00

* func_EBFBE0_801A5834

* func_EBFBE0_801A89BC

* void

* dec

* cleanup

* func_EBFBE0_801A2EB8

* func_EBFBE0_801A1C14

* func_EBFBE0_801AA778

* begin importing data

* func_EBFBE0_801A2B8C

* fix

* fox_map DATA IMPORTED

* ovl_menu rename

* fix

* fix warnings

* fix build

* move symbol addresses
This commit is contained in:
Alejandro Asenjo Nitti
2024-01-04 12:53:38 -03:00
committed by GitHub
parent 50107c8ec3
commit c5d9eb962b
18 changed files with 2744 additions and 301 deletions
+1 -1
View File
@@ -172,7 +172,7 @@ extern UnkStruct_D_EBFBE0_801B9250 D_EBFBE0_801B9400;
extern UnkStruct_D_EBFBE0_801B9250 D_EBFBE0_801B9408;
extern void* D_EBFBE0_801B68B0[];
extern void* D_EBFBE0_801B68D4[];
extern char* D_EBFBE0_801B68D4[];
extern s32 D_EBFBE0_801B81A8[][3];
+1 -1
View File
@@ -182,7 +182,7 @@ DECLARE_SEGMENT(ovl_E16C50);
DECLARE_SEGMENT(ovl_E51970);
DECLARE_SEGMENT(ovl_E6A810);
DECLARE_SEGMENT(ovl_E9F1D0);
DECLARE_SEGMENT(ovl_EBFBE0);
DECLARE_SEGMENT(ovl_menu);
DECLARE_SEGMENT(ovl_EF0260);
DECLARE_SEGMENT(ovl_EFFA40);
+9
View File
@@ -86,4 +86,13 @@ typedef struct {
/* 0x18 */ u16 timer;
} UnkEntity1C; // size = 0x1C
typedef struct {
/* 0x00 */ f32 unk_00;
/* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ f32 unk_14;
} UnkStruct_D_EBFBE0_801B8294; // size = 0x18
#endif
+2 -2
View File
@@ -325,7 +325,7 @@ extern f32 D_801616C8;
extern s32 D_80161704;
extern s32 D_80161708;
extern s32 D_8016170C;
extern s32 D_80161714;
extern s32 gTotalHits; // gTotalGameScore
extern f32 D_80161720;
extern f32 D_80161724;
extern f32 D_80161728;
@@ -835,7 +835,7 @@ extern f32 D_E9F1D0_801A7F68;
extern f32 D_E9F1D0_801A7F70;
extern f32 D_E9F1D0_801A7F78;
// ovl_EBFBE0
// ovl_menu
extern s32 D_EBFBE0_801B8220[]; // total hits ranking? see func_EBFBE0_80197DE4
extern s32 D_EBFBE0_801B8280;
extern s32 D_EBFBE0_801B8284;
-3
View File
@@ -86,9 +86,6 @@ D_800D8570 = 0x800D8570; // force_migration:True
D_800D8594 = 0x800D8594; // force_migration:True
D_800C93EC = 0x800C93EC; // force_migration:True
D_80177BD8 = 0x80177BD8;
D_80177C58 = 0x80177C58;
D_DF4260_8019B1EC = 0x8019B1EC; // force_migration:True segment:ovl_DF4260
D_E16C50_801C171C = 0x801C171C; // force_migration:True segment:ovl_E16C50
D_E16C50_801C1728 = 0x801C1728; // force_migration:True segment:ovl_E16C50
+7 -5
View File
@@ -1,9 +1,10 @@
planet = 0x801AF4A0; // type:Planet segment:ovl_EBFBE0 size:0x38
GetPlanetId = 0x801A6480; // force_migration:True segment:ovl_EBFBE0
D_EBFBE0_801AE638 = 0x801AE638; // type:MenuContext segment:ovl_EBFBE0 size:0x240
D_EBFBE0_801AE99C = 0x801AE99C; // force_migration:True segment:ovl_EBFBE0
planet = 0x801AF4A0; // type:Planet segment:ovl_menu size:0x38
sPlanetNames = 0x801AF9F4; // type:s32 segment:ovl_menu size:0xF
GetPlanetId = 0x801A6480; // force_migration:True segment:ovl_menu
D_EBFBE0_801AE638 = 0x801AE638; // type:MenuContext segment:ovl_menu size:0x240
D_EBFBE0_801AE99C = 0x801AE99C; // force_migration:True segment:ovl_menu
spectrumAnalizerMode = 0x801B9318;
D_EBFBE0_801B6E50 = 0x801B6E50; // force_migration:True segment:ovl_EBFBE0
D_EBFBE0_801B6E50 = 0x801B6E50; // force_migration:True segment:ovl_menu
D_EBFBE0_801B7BA0 = 0x801B7BA0;
D_EBFBE0_801B827C = 0x801B827C;
D_EBFBE0_801B9710 = 0x801B9710;
@@ -105,3 +106,4 @@ D_EBFBE0_801CCC10 = 0x801CCC10;
D_EBFBE0_801CCF10 = 0x801CCF10;
D_EBFBE0_801CD210 = 0x801CD210;
D_EBFBE0_801CD510 = 0x801CD510;
// sPlanetsPositions = 0x801CE960; // force_migration:True segment:ovl_menu
@@ -350,6 +350,8 @@ func_800A25DC = 0x800A25DC;
func_800A26C0 = 0x800A26C0;
func_800A3608 = 0x800A3608;
gTotalHits = 0x80161714;
// sf_hud
gMedalFlashTimer = 0x801617B8;
gMedalStatus = 0x801617B4;
@@ -473,8 +475,10 @@ D_80177B8C = 0x80177B8C;
D_80177B90 = 0x80177B90;
D_80177BB0 = 0x80177BB0;
D_Timer_80177BD0 = 0x80177BD0;
D_80177BD8 = 0x80177BD8;
D_80177C30 = 0x80177C30;
D_80177C50 = 0x80177C50;
D_80177C58 = 0x80177C58;
gSoundMode = 0x80177C74;
gVolumeSettings = 0x80177C80;
D_80177C90 = 0x80177C90;
+14 -14
View File
@@ -14,21 +14,21 @@ D_DF4260_8019A008 = 0x8019A008;
func_E08400_80187B08 = 0x80187B08;
func_E08400_80188A40 = 0x80188A40;
D_E08400_80195D70 = 0x80195D70;
D_EBFBE0_801AE570 = 0x801AE570; // type:f32 size:0x18 force_migration:True segment:ovl_EBFBE0
D_EBFBE0_801AE588 = 0x801AE588; // type:f32 size:0x18 force_migration:True segment:ovl_EBFBE0
D_EBFBE0_801AE5A0 = 0x801AE5A0; // type:f32 size:0x18 force_migration:True segment:ovl_EBFBE0
D_EBFBE0_801AE5B8 = 0x801AE5B8; // type:f32 size:0x18 force_migration:True segment:ovl_EBFBE0
D_EBFBE0_801AE5D0 = 0x801AE5D0; // type:f32 size:0x18 force_migration:True segment:ovl_EBFBE0
D_EBFBE0_801AE570 = 0x801AE570; // type:f32 size:0x18 force_migration:True segment:ovl_menu
D_EBFBE0_801AE588 = 0x801AE588; // type:f32 size:0x18 force_migration:True segment:ovl_menu
D_EBFBE0_801AE5A0 = 0x801AE5A0; // type:f32 size:0x18 force_migration:True segment:ovl_menu
D_EBFBE0_801AE5B8 = 0x801AE5B8; // type:f32 size:0x18 force_migration:True segment:ovl_menu
D_EBFBE0_801AE5D0 = 0x801AE5D0; // type:f32 size:0x18 force_migration:True segment:ovl_menu
D_EBFBE0_801AE9A0 = 0x801AE9A0; // type:f32 size:0x10 force_migration:True segment:ovl_EBFBE0
D_EBFBE0_801AE9B0 = 0x801AE9B0; // type:f32 size:0x10 force_migration:True segment:ovl_EBFBE0
D_EBFBE0_801AE9C0 = 0x801AE9C0; // type:s32 size:0xE0 force_migration:True segment:ovl_EBFBE0
D_EBFBE0_801AEAA0 = 0x801AEAA0; // type:s32 size:0xA8 force_migration:True segment:ovl_EBFBE0
D_EBFBE0_801AEB48 = 0x801AEB48; // type:s32 size:0xA8 force_migration:True segment:ovl_EBFBE0
D_EBFBE0_801AED20 = 0x801AED20; // type:f32 size:0x8 force_migration:True segment:ovl_EBFBE0
D_EBFBE0_801AEE6C = 0x801AEE6C; // type:s32 size:0x58 force_migration:True segment:ovl_EBFBE0
D_EBFBE0_801AF25C = 0x801AF25C; // type:f32 size:0x18 force_migration:True segment:ovl_EBFBE0
D_EBFBE0_801AF274 = 0x801AF274; // type:f32 size:0x18 force_migration:True segment:ovl_EBFBE0
D_EBFBE0_801AE9A0 = 0x801AE9A0; // type:f32 size:0x10 force_migration:True segment:ovl_menu
D_EBFBE0_801AE9B0 = 0x801AE9B0; // type:f32 size:0x10 force_migration:True segment:ovl_menu
D_EBFBE0_801AE9C0 = 0x801AE9C0; // type:s32 size:0xE0 force_migration:True segment:ovl_menu
D_EBFBE0_801AEAA0 = 0x801AEAA0; // type:s32 size:0xA8 force_migration:True segment:ovl_menu
D_EBFBE0_801AEB48 = 0x801AEB48; // type:s32 size:0xA8 force_migration:True segment:ovl_menu
D_EBFBE0_801AED20 = 0x801AED20; // type:f32 size:0x8 force_migration:True segment:ovl_menu
D_EBFBE0_801AEE6C = 0x801AEE6C; // type:s32 size:0x58 force_migration:True segment:ovl_menu
D_EBFBE0_801AF25C = 0x801AF25C; // type:f32 size:0x18 force_migration:True segment:ovl_menu
D_EBFBE0_801AF274 = 0x801AF274; // type:f32 size:0x18 force_migration:True segment:ovl_menu
func_E16C50_80187754 = 0x80187754;
func_E16C50_801932AC = 0x801932AC;
+1 -1
View File
@@ -67,7 +67,7 @@ DmaEntry gDmaTable[90] = {
{ SEGMENT_ROM_START(ovl_E51970), { SEGMENT_ROM_START(ovl_E51970), SEGMENT_ROM_END(ovl_E51970) }, false },
{ SEGMENT_ROM_START(ovl_E6A810), { SEGMENT_ROM_START(ovl_E6A810), SEGMENT_ROM_END(ovl_E6A810) }, false },
{ SEGMENT_ROM_START(ovl_E9F1D0), { SEGMENT_ROM_START(ovl_E9F1D0), SEGMENT_ROM_END(ovl_E9F1D0) }, false },
{ SEGMENT_ROM_START(ovl_EBFBE0), { SEGMENT_ROM_START(ovl_EBFBE0), SEGMENT_ROM_END(ovl_EBFBE0) }, false },
{ SEGMENT_ROM_START(ovl_menu), { SEGMENT_ROM_START(ovl_menu), SEGMENT_ROM_END(ovl_menu) }, false },
{ SEGMENT_ROM_START(ovl_EF0260), { SEGMENT_ROM_START(ovl_EF0260), SEGMENT_ROM_END(ovl_EF0260) }, false },
{ SEGMENT_ROM_START(ovl_EFFA40), { SEGMENT_ROM_START(ovl_EFFA40), SEGMENT_ROM_END(ovl_EFFA40) }, false },
};
+4 -4
View File
@@ -140,7 +140,7 @@ OverlayInit sOvlEF0260_Credits[6] = {
};
OverlayInit sOvlEBFBE0_Title[1] = {
{ OVERLAY_OFFSETS(ovl_EBFBE0),
{ OVERLAY_OFFSETS(ovl_menu),
{ /* 0x1 */ NO_SEGMENT,
/* 0x2 */ NO_SEGMENT,
/* 0x3 */ ROM_SEGMENT(ast_8BFC00),
@@ -159,7 +159,7 @@ OverlayInit sOvlEBFBE0_Title[1] = {
};
OverlayInit sOvlEBFBE0_Menu[1] = {
{ OVERLAY_OFFSETS(ovl_EBFBE0),
{ OVERLAY_OFFSETS(ovl_menu),
{ /* 0x1 */ NO_SEGMENT,
/* 0x2 */ NO_SEGMENT,
/* 0x3 */ NO_SEGMENT,
@@ -178,7 +178,7 @@ OverlayInit sOvlEBFBE0_Menu[1] = {
};
OverlayInit sOvlEBFBE0_Map[1] = {
{ OVERLAY_OFFSETS(ovl_EBFBE0),
{ OVERLAY_OFFSETS(ovl_menu),
{ /* 0x1 */ NO_SEGMENT,
/* 0x2 */ NO_SEGMENT,
/* 0x3 */ ROM_SEGMENT(ast_8BFC00),
@@ -197,7 +197,7 @@ OverlayInit sOvlEBFBE0_Map[1] = {
};
OverlayInit sOvlEBFBE0_State5[1] = {
{ OVERLAY_OFFSETS(ovl_EBFBE0),
{ OVERLAY_OFFSETS(ovl_menu),
{ /* 0x1 */ NO_SEGMENT,
/* 0x2 */ NO_SEGMENT,
/* 0x3 */ NO_SEGMENT,
+1 -1
View File
@@ -4283,7 +4283,7 @@ void func_800B0F50(Player* playerx) {
D_80177CD0[j] = D_80177CF0[j] = 1;
}
gLaserStrength[gPlayerNum] = LASERS_SINGLE;
gGoldRingCount[0] = D_80161A94[0] = D_80161714 = 0;
gGoldRingCount[0] = D_80161A94[0] = gTotalHits = 0;
gLifeCount[gPlayerNum] = 2;
gBombCount[gPlayerNum] = 3;
D_80177B8C = 1;
File diff suppressed because it is too large Load Diff
@@ -17,6 +17,7 @@ typedef enum PlanetId {
/* 12 */ PLANET_FORTUNA,
/* 13 */ PLANET_VENOM,
/* 14 */ PLANET_SOLAR,
/* 15 */ PLANET_MAX,
} PlanetId;
#endif
@@ -2845,7 +2845,7 @@ void func_EBFBE0_80199EA8(void) {
}
// D_EBFBE0_801B9358 needs to be static but belongs to bss section?
#ifdef IMPORT_BSS
#if defined(IMPORT_BSS) || defined(NON_MATCHING)
void func_EBFBE0_80199FA8(void) {
s32 i;
@@ -2872,11 +2872,11 @@ void func_EBFBE0_80199FA8(void) {
func_EBFBE0_8019A080();
}
#else
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_80199FA8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_menu/fox_option/func_EBFBE0_80199FA8.s")
#endif
// D_EBFBE0_801B9380 needs to be static but belongs to bss section?
#ifdef IMPORT_BSS
#if defined(IMPORT_BSS) || defined(NON_MATCHING)
void func_EBFBE0_8019A080(void) {
s32 i;
@@ -2886,7 +2886,7 @@ void func_EBFBE0_8019A080(void) {
}
}
#else
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019A080.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_menu/fox_option/func_EBFBE0_8019A080.s")
#endif
void func_EBFBE0_8019A0B8(void) {
@@ -3209,7 +3209,7 @@ void func_EBFBE0_8019AB30(void) {
// extern f32 D_EBFBE0_801B9338; // in-function
// needs in function static
#ifdef IMPORT_BSS
#if defined(IMPORT_BSS) || defined(NON_MATCHING)
void func_EBFBE0_8019AD84(void) {
static f32 D_EBFBE0_801B9324;
static f32 D_EBFBE0_801B9328;
@@ -3272,11 +3272,11 @@ static f32 D_EBFBE0_801AF274[6] = { 46.0f, 43.0f, 43.0f, 43.0f, 43.0f, 43.0f };
static u8* D_EBFBE0_801AF28C[] = {
(u8*) 0x070024D0, (u8*) 0x07002730, (u8*) 0x07002990, (u8*) 0x07002BF0, (u8*) 0x07002E50,
};
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019AD84.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_menu/fox_option/func_EBFBE0_8019AD84.s")
#endif
// needs in-function static data & bss
#ifdef IMPORT_BSS
#if defined(IMPORT_BSS) || defined(NON_MATCHING)
void func_EBFBE0_8019AFFC(void) {
static f32 D_EBFBE0_801AF2A0 = 101.0f;
static f32 D_EBFBE0_801AF2A4 = 86.0f;
@@ -3306,8 +3306,9 @@ void func_EBFBE0_8019AFFC(void) {
var_v0 = 1;
colorGB = 255;
D_EBFBE0_801B9374--;
if (!D_EBFBE0_801B9374)
if (!D_EBFBE0_801B9374) {
D_EBFBE0_801B91F0 = 1;
}
}
if (gFrameCount & var_v0) {
@@ -3327,7 +3328,7 @@ void func_EBFBE0_8019AFFC(void) {
#else
static f32 D_EBFBE0_801AF2A0 = 101.0f;
static f32 D_EBFBE0_801AF2A4 = 86.0f;
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019AFFC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_menu/fox_option/func_EBFBE0_8019AFFC.s")
#endif
void func_EBFBE0_8019B1F8(void) {
@@ -3846,10 +3847,10 @@ s32 func_EBFBE0_8019C8C4(void) {
ret = -1;
for (i = 0; i < 10; i++) {
if (D_EBFBE0_801B8220[i] <= D_80161714) {
if (D_EBFBE0_801B8220[i] == D_80161714) {
if (D_EBFBE0_801B8220[i] <= gTotalHits) {
if (D_EBFBE0_801B8220[i] == gTotalHits) {
for (j = i; j < 10; j++) {
if (D_EBFBE0_801B8220[j] != D_80161714) {
if (D_EBFBE0_801B8220[j] != gTotalHits) {
ret = j;
break;
}
@@ -3857,7 +3858,7 @@ s32 func_EBFBE0_8019C8C4(void) {
if (temp[j] <= gLifeCount[gPlayerNum]) {
if (temp[j] == gLifeCount[gPlayerNum]) {
for (k = j; k < 10; k++) {
if ((temp[k] != gLifeCount[gPlayerNum]) || (D_EBFBE0_801B8220[k] != D_80161714)) {
if ((temp[k] != gLifeCount[gPlayerNum]) || (D_EBFBE0_801B8220[k] != gTotalHits)) {
ret = k;
break;
}
@@ -4087,8 +4088,8 @@ void func_EBFBE0_8019D118(void) {
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
Graphics_DisplayLargeNumber(D_EBFBE0_801AF30C[3] - ((func_8008BCBC(D_80161714) - 1) * 13), D_EBFBE0_801AF324[3],
D_80161714);
Graphics_DisplayLargeNumber(D_EBFBE0_801AF30C[3] - ((func_8008BCBC(gTotalHits) - 1) * 13), D_EBFBE0_801AF324[3],
gTotalHits);
func_EBFBE0_801A9FD4(1);
@@ -4347,7 +4348,7 @@ void func_EBFBE0_8019DE74(void) {
D_80178410 = 0;
gGameState = GSTATE_INIT;
gLifeCount[0] = 2;
D_80161714 = 0;
gTotalHits = 0;
} else if (D_80161A34 == 8) {
func_800182F4(0x100100FF);
func_800182F4(0x110100FF);
@@ -4380,10 +4381,10 @@ void func_EBFBE0_8019E030(void) {
case 1:
if (D_EBFBE0_801B9178 == 0) {
if (((D_80161714 * 64) >= 50000) && ((D_80161714 * 64) < 70000)) {
if (((gTotalHits * 64) >= 50000) && ((gTotalHits * 64) < 70000)) {
Audio_PlaySfx(0x49000032, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
}
if ((D_80161714 * 64) >= 70000) {
if ((gTotalHits * 64) >= 70000) {
Audio_PlaySfx(0x49000033, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
}
D_EBFBE0_801B9178 = 20;
@@ -4406,7 +4407,7 @@ void func_EBFBE0_8019E030(void) {
gGameState = GSTATE_INIT;
gDrawMode = DRAWMODE_0;
*gLifeCount = 2;
D_80161714 = 0;
gTotalHits = 0;
}
break;
}
@@ -4458,10 +4459,10 @@ void func_EBFBE0_8019E284(void) {
gDPSetPrimColor(gMasterDisp++, 0, 0, 0, 0, 0, 255);
Graphics_DisplayLargeNumber(D_EBFBE0_801AF3D0[6] - ((func_8008BCBC(D_80161714) - 1) * 13), D_EBFBE0_801AF3F0[6],
D_80161714);
Graphics_DisplayLargeNumber(D_EBFBE0_801AF3D0[6] - ((func_8008BCBC(gTotalHits) - 1) * 13), D_EBFBE0_801AF3F0[6],
gTotalHits);
temp_a0 = D_80161714 * 64;
temp_a0 = gTotalHits * 64;
Graphics_DisplayLargeNumber(D_EBFBE0_801AF3D0[7] - ((func_8008BCBC(temp_a0) - 1) * 13), D_EBFBE0_801AF3F0[7],
temp_a0);
@@ -9,15 +9,6 @@ typedef struct {
/* 0x08 */ f32 unk_8;
} UnkStruct_D_EBFBE0_801ADF54; // size = 0xC
typedef struct {
/* 0x00 */ f32 unk_00;
/* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ f32 unk_14;
} UnkStruct_D_EBFBE0_801B8294; // size = 0x18
typedef struct UnkStruct_D_801B8350 {
/* 0x00 */ Vec3f unk_00;
/* 0x0C */ f32 unk_0C;
+7 -7
View File
@@ -128,9 +128,9 @@
- [0xEBFB80, .rodata, EBD210]
- { start: 0xEBFBE0, type: bss, vram: 0x801A7F30, name: ovl_E9F1D0 }
- name: ovl_EBFBE0
- name: ovl_menu
type: code
dir: overlays/ovl_EBFBE0
dir: overlays/ovl_menu
start: 0xEBFBE0
vram: 0x80187520
bss_size: 0x17590
@@ -140,18 +140,18 @@
- [0xEBFBE0, c, EBFBE0]
- [0xEBFCA0, c, fox_title]
- [0xECA1E0, c, fox_option]
- [0xED6EC0, c, ED6EC0]
- [0xED6EC0, c, fox_map]
- [0xEE60B0, .data, fox_title]
- [0xEE6C30, .data, fox_option]
- [0xEE7AE0, data, ED6EC0]
- [0xEE7AE0, .data, fox_map]
- [0xEEF410, .rodata, EBFBE0]
- [0xEEF430, .rodata, fox_title]
- [0xEEF7D0, .rodata, fox_option]
- [0xEEFB80, .rodata, ED6EC0]
# - { start: 0xEF0260, type: bss, vram: 0x801B7BA0, name: ovl_EBFBE0 }
- [0xEEFB80, .rodata, fox_map]
# - { start: 0xEF0260, type: bss, vram: 0x801B7BA0, name: ovl_menu }
- { start: 0xEF0260, type: bss, vram: 0x801B7BA0, name: fox_title }
- { start: 0xEF0260, type: bss, vram: 0x801B9090, name: fox_option }
- { start: 0xEF0260, type: bss, vram: 0x801B9410, name: ED6EC0 }
- { start: 0xEF0260, type: bss, vram: 0x801B9410, name: fox_map }
- name: ovl_EF0260
type: code