mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
z_actor_dlftbls.c OK. Rework a bunch of segment address organization. (#29)
This commit is contained in:
-4611
File diff suppressed because it is too large
Load Diff
+4
-4
@@ -907,10 +907,10 @@ void func_800BE5CC(void); // func_800BE5CC
|
||||
void func_800BE63C(void); // func_800BE63C
|
||||
void func_800BE680(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE1 param_8); // func_800BE680
|
||||
void func_800BF7CC(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7); // func_800BF7CC
|
||||
void func_800BF9A0(s32 a0, s32 a1); // func_800BF9A0
|
||||
s32 func_800BFA78(s32 param_1, s32 param_2); // func_800BFA78
|
||||
void func_800BFAE8(void); // func_800BFAE8
|
||||
void func_800BFB40(void); // func_800BFB40
|
||||
void ActorOverlayTable_FaultPrint(void* arg0, void* arg1); // ActorOverlayTable_FaultPrint
|
||||
void* ActorOverlayTable_FaultAddrConv(void* arg0, void* arg1); // ActorOverlayTable_FaultAddrConv
|
||||
void ActorOverlayTable_Init(void); // ActorOverlayTable_Init
|
||||
void ActorOverlayTable_Cleanup(void); // ActorOverlayTable_Cleanup
|
||||
void BgCheck_PolygonLinkedListNodeInit(BgPolygonLinkedListNode* node, s16* polyIndex, u16 next); // func_800BFB80
|
||||
void BgCheck_PolygonLinkedListResetHead(u16* head); // func_800BFB9C
|
||||
void BgCheck_ScenePolygonListsNodeInsert(BgScenePolygonLists* list, u16* head, s16* polyIndex); // func_800BFBAC
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+6
-6
@@ -2,7 +2,7 @@
|
||||
#define _VARIABLES_H_
|
||||
|
||||
#include <z64.h>
|
||||
#include <dmadata.h>
|
||||
#include <segment_symbols.h>
|
||||
#include <segment.h>
|
||||
#include <section.h>
|
||||
#include <pre_boot_variables.h>
|
||||
@@ -352,11 +352,11 @@ extern DmaEntry dmadata[1568]; // D_8009F8B0
|
||||
extern UNK_TYPE1 D_80186028; // D_80186028
|
||||
extern UNK_TYPE1 D_801AAAB0; // D_801AAAB0
|
||||
extern UNK_TYPE1 D_801AD370; // D_801AD370
|
||||
extern ActorInit enAObjInitData; // D_801ADE60
|
||||
extern ActorInit En_A_Obj_InitVars; // En_A_Obj_InitVars
|
||||
extern ColCylinderInit enAObjCylinderInit; // D_801ADE80
|
||||
extern InitChainEntry enAObjInitVar; // D_801ADEAC
|
||||
extern u32 enAObjDisplayLists[2]; // D_801ADEB0
|
||||
extern ActorInit enItem00InitData; // D_801ADEC0
|
||||
extern ActorInit En_Item00_InitVars; // En_Item00_InitVars
|
||||
extern ColCylinderInit enItem00CylinderInit; // D_801ADEE0
|
||||
extern InitChainEntry enItem00InitVars[1]; // D_801ADF0C
|
||||
extern UNK_TYPE1 D_801ADF10; // D_801ADF10
|
||||
@@ -438,8 +438,8 @@ extern UNK_TYPE1 D_801AEFA8; // D_801AEFA8
|
||||
extern UNK_TYPE1 D_801AEFB8; // D_801AEFB8
|
||||
extern UNK_TYPE1 D_801AEFBC; // D_801AEFBC
|
||||
extern UNK_TYPE1 D_801AEFC0; // D_801AEFC0
|
||||
extern ActorOverlay actorOverlayTable[ACTOR_ID_MAX]; // D_801AEFD0
|
||||
extern UNK_TYPE4 D_801B4610; // D_801B4610
|
||||
extern ActorOverlay gActorOverlayTable[ACTOR_ID_MAX]; // D_801AEFD0
|
||||
extern s32 gMaxActorId; // gMaxActorId
|
||||
extern u32 D_801B4620[32]; // D_801B4620
|
||||
extern u16 D_801B46A0[16]; // D_801B46A0
|
||||
extern u8 D_801B46C0[16]; // D_801B46C0
|
||||
@@ -2253,7 +2253,7 @@ extern UNK_TYPE1 D_801D08D8; // D_801D08D8
|
||||
extern UNK_TYPE1 D_801D08E4; // D_801D08E4
|
||||
extern UNK_TYPE1 D_801D08E8; // D_801D08E8
|
||||
extern UNK_TYPE1 D_801D0900; // D_801D0900
|
||||
extern ActorInit D_801D0B50; // D_801D0B50
|
||||
extern ActorInit Player_InitVars; // Player_InitVars
|
||||
extern UNK_TYPE1 D_801D0B70; // D_801D0B70
|
||||
extern UNK_TYPE1 D_801D0B8C; // D_801D0B8C
|
||||
extern UNK_TYPE4 D_801D0BA8; // D_801D0BA8
|
||||
|
||||
+573
-573
File diff suppressed because it is too large
Load Diff
@@ -70,6 +70,12 @@ typedef struct {
|
||||
/* 0x1C */ ActorFunc draw;
|
||||
} ActorInit; // size = 0x20
|
||||
|
||||
typedef enum {
|
||||
ALLOCTYPE_NORMAL,
|
||||
ALLOCTYPE_ABSOLUTE,
|
||||
ALLOCTYPE_PERMANENT
|
||||
} AllocType;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 vromStart;
|
||||
/* 0x04 */ u32 vromEnd;
|
||||
|
||||
+1310
-72
File diff suppressed because it is too large
Load Diff
+3070
-3070
File diff suppressed because it is too large
Load Diff
@@ -55,7 +55,7 @@ void Idle_InitCodeAndMemory(void) {
|
||||
oldSize = sDmaMgrDmaBuffSize;
|
||||
sDmaMgrDmaBuffSize = 0;
|
||||
|
||||
DmaMgr_SendRequestImpl(&dmaReq, (u32)&code_text_start, (u32)&code_vrom_start, (u32)&code_vrom_end - (u32)&code_vrom_start, 0, &queue, 0);
|
||||
DmaMgr_SendRequestImpl(&dmaReq, (u32)&code_text_start, (u32)_codeSegmentRomStart, (u32)_codeSegmentRomEnd - (u32)_codeSegmentRomStart, 0, &queue, 0);
|
||||
Idle_InitScreen();
|
||||
Idle_InitMemory();
|
||||
osRecvMesg(&queue, 0, 1);
|
||||
|
||||
@@ -200,7 +200,7 @@ s32 DmaMgr_SendRequest0(void* vramStart, u32 vromStart, u32 size) {
|
||||
void Dmamgr_Start() {
|
||||
DmaEntry* v0;
|
||||
u32 v1;
|
||||
DmaMgr_DMARomToRam((u32)&dmadata_vrom_start, dmadata, (u32)&dmadata_vrom_end - (u32)&dmadata_vrom_start);
|
||||
DmaMgr_DMARomToRam((u32)_dmadataSegmentRomStart, dmadata, (u32)_dmadataSegmentRomEnd - (u32)_dmadataSegmentRomStart);
|
||||
|
||||
for (v0 = dmadata, v1 = 0; v0->vromEnd != 0; v0++, v1++);
|
||||
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
#include <ultra64.h>
|
||||
#include <global.h>
|
||||
|
||||
void func_800BF9A0(s32 a0, s32 a1) {
|
||||
s32 i;
|
||||
ActorOverlay* s0;
|
||||
s32 v1;
|
||||
|
||||
func_8008439C(-2, 0);
|
||||
func_800847CC(D_801DCBB0, D_801B4610);
|
||||
func_800847CC(D_801DCBC4);
|
||||
|
||||
for (i = 0, s0 = &actorOverlayTable[0]; i < D_801B4610; i++, s0++) {
|
||||
v1 = (u32)s0->vramEnd - (u32)s0->vramStart;
|
||||
if (s0->loadedRamAddr == NULL) continue;
|
||||
func_800847CC(D_801DCBE4, i, s0->loadedRamAddr, (u32)s0->loadedRamAddr + v1, s0->nbLoaded, &D_801DCBFC);
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_800BFA78(s32 a0, s32 a1) {
|
||||
s32 i;
|
||||
ActorOverlay* v0 = &actorOverlayTable[0];
|
||||
s32 t1;
|
||||
s32 a2;
|
||||
s32 a0_2 = a0;
|
||||
|
||||
for (i = 0; i < D_801B4610; i++, v0++) {
|
||||
t1 = (u32)v0->vramStart - (u32)v0->loadedRamAddr;
|
||||
a2 = (u32)v0->vramEnd - (u32)v0->vramStart;
|
||||
|
||||
if (v0->loadedRamAddr == NULL) continue;
|
||||
if (a0_2 < (u32)v0->loadedRamAddr) continue;
|
||||
|
||||
if (a0_2 < ((u32)v0->loadedRamAddr + a2)) {
|
||||
return a0_2 + t1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void func_800BFAE8(void) {
|
||||
D_801B4610 = ACTOR_ID_MAX;
|
||||
func_800819F0(&D_801ED930, (u32)func_800BF9A0, 0, 0);
|
||||
func_80081BCC(&D_801ED940, (u32)func_800BFA78, 0);
|
||||
}
|
||||
|
||||
void func_800BFB40(void) {
|
||||
func_80081AD4(&D_801ED930);
|
||||
func_80081CA4(&D_801ED940);
|
||||
D_801B4610 = 0;
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -6,13 +6,13 @@ void Kanfont_Nop800F4F40(GlobalContext* ctxt, UNK_TYPE param_2, UNK_TYPE param_3
|
||||
void Kanfont_LoadAsciiChar(GlobalContext* ctxt, u8 character, s32 iParm3) {
|
||||
// UB to convert pointer to u32
|
||||
DmaMgr_SendRequest0((void*)((u32)&ctxt->msgCtx.font.unk0[(ctxt->msgCtx).unk11EF0] + iParm3),
|
||||
(u32)&nes_font_static_vrom_start + character * 0x80 - 0x1000,
|
||||
(u32)_nes_font_staticSegmentRomStart + character * 0x80 - 0x1000,
|
||||
0x80);
|
||||
}
|
||||
|
||||
void Kanfont_LoadMessageBoxEnd(Font* font, u16 type) {
|
||||
// UB to convert pointer to u32
|
||||
DmaMgr_SendRequest0(&font->unk7800[0][0], type * 0x80 + (u32)&message_static_vrom_start + 0x5000, 0x80);
|
||||
DmaMgr_SendRequest0(&font->unk7800[0][0], type * 0x80 + (u32)_message_staticSegmentRomStart + 0x5000, 0x80);
|
||||
}
|
||||
|
||||
void Kanfont_LoadOrderedFont(Font* font) {
|
||||
@@ -27,7 +27,7 @@ void Kanfont_LoadOrderedFont(Font* font) {
|
||||
loadOffset = 0;
|
||||
}
|
||||
// UB to convert pointer to u32
|
||||
DmaMgr_SendRequest0(writeLocation, (u32)&nes_font_static_vrom_start + loadOffset, 0x80);
|
||||
DmaMgr_SendRequest0(writeLocation, (u32)_nes_font_staticSegmentRomStart + loadOffset, 0x80);
|
||||
if (kanfontOrdering[codePointIndex] == 140) break;
|
||||
codePointIndex++;
|
||||
}
|
||||
|
||||
+1
-1
@@ -172,7 +172,7 @@ void Scene_HeaderCommand00(GlobalContext* ctxt, SceneCmd* entry) {
|
||||
ctxt->sceneContext.spawnedObjectCount = loadedCount;
|
||||
unk20 = gSaveContext.perm.unk20;
|
||||
temp16 = D_801C2730[unk20];
|
||||
actorOverlayTable[0].initInfo->objectId = temp16;
|
||||
gActorOverlayTable[0].initInfo->objectId = temp16;
|
||||
Scene_LoadObject(&ctxt->sceneContext, temp16);
|
||||
|
||||
ctxt->sceneContext.objects[ctxt->sceneContext.objectCount].vramAddr = objectVramAddr;
|
||||
|
||||
@@ -904,10 +904,10 @@
|
||||
0x800BE63C:("func_800BE63C",),
|
||||
0x800BE680:("func_800BE680",),
|
||||
0x800BF7CC:("func_800BF7CC",),
|
||||
0x800BF9A0:("func_800BF9A0",),
|
||||
0x800BFA78:("func_800BFA78",),
|
||||
0x800BFAE8:("func_800BFAE8",),
|
||||
0x800BFB40:("func_800BFB40",),
|
||||
0x800BF9A0:("ActorOverlayTable_FaultPrint",),
|
||||
0x800BFA78:("ActorOverlayTable_FaultAddrConv",),
|
||||
0x800BFAE8:("ActorOverlayTable_Init",),
|
||||
0x800BFB40:("ActorOverlayTable_Cleanup",),
|
||||
0x800BFB80:("BgCheck_PolygonLinkedListNodeInit",),
|
||||
0x800BFB9C:("BgCheck_PolygonLinkedListResetHead",),
|
||||
0x800BFBAC:("BgCheck_ScenePolygonListsNodeInsert",),
|
||||
|
||||
+2
-2
@@ -268,7 +268,7 @@
|
||||
0x800B32D0:"flg_set",
|
||||
0x800B3880:"z_DLF",
|
||||
0x800B3AD0:"z_actor",
|
||||
0x800BF9A0:"",
|
||||
0x800BF9A0:"z_actor_dlftbls",
|
||||
0x800BFB80:"z_bgcheck",
|
||||
0x800CAAD0:"",
|
||||
0x800CAE10:"",
|
||||
@@ -402,7 +402,7 @@
|
||||
0x801AE8F0:"code_data_flg_set_table",
|
||||
0x801AEC70:"code_data_flg_set",
|
||||
0x801AEC80:"code_data_z_actor",
|
||||
0x801B4610:"code_data_0x800BF9A0",
|
||||
0x801AEFD0:"code_data_z_actor_dlftbls",
|
||||
0x801B4620:"code_data_z_bgcheck",
|
||||
0x801B4710:"code_data_z_camera",
|
||||
0x801B9F20:"code_data_z_collision_check",
|
||||
|
||||
+562
-562
File diff suppressed because it is too large
Load Diff
+59
-59
@@ -2,67 +2,67 @@
|
||||
{
|
||||
# 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","",0x4), # Start of dmadata
|
||||
0x00020700:("dmadata_vrom_end","u32","",0x4), # Byte immediately after end of dmadata
|
||||
0x00046AF0:("Audioseq_vrom_start","UNK_TYPE","",0x4),
|
||||
0x00097F70:("Audioseq_vrom_end","UNK_TYPE","",0x4),
|
||||
0x0065D000:("link_animetion_vrom_start","UNK_TYPE","",0x4),
|
||||
0x0001A500:("_dmadataSegmentRomStart","u32","",0x4), # Start of dmadata
|
||||
0x00020700:("_dmadataSegmentRomEnd","u32","",0x4), # Byte immediately after end of dmadata
|
||||
0x00046AF0:("_AudioseqSegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x00097F70:("_AudioseqSegmentRomEnd","UNK_TYPE","",0x4),
|
||||
0x0065D000:("_link_animetionSegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x00957000:("","UNK_TYPE","",0x4), # ovl_kaleido_scope uses this. It is the start of vrom for a null entry in dmadata???
|
||||
0x009ECEC0:("","UNK_TYPE","",0x4), # ovl_kaleido_scope uses this. It is the end of vrom for a null entry in dmadata???
|
||||
0x009ED000:("","UNK_TYPE","",0x4), # ovl_kaleido_scope uses this. It is the start of vrom for a null entry in dmadata???
|
||||
0x009F4700:("","UNK_TYPE","",0x4), # 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","",0x4),
|
||||
0x00A09AF0:("icon_item_field_static_vrom_end","UNK_TYPE","",0x4),
|
||||
0x00A0A000:("icon_item_dungeon_static_vrom_start","UNK_TYPE","",0x4),
|
||||
0x00A0EB80:("icon_item_dungeon_static_vrom_end","UNK_TYPE","",0x4),
|
||||
0x00A0F000:("icon_item_gameover_static_vrom_start","UNK_TYPE","",0x4),
|
||||
0x00A12300:("icon_item_gameover_static_vrom_end","UNK_TYPE","",0x4),
|
||||
0x00A13000:("_013_0x00963540_vrom_start","UNK_TYPE","",0x4),
|
||||
0x00A1BA00:("_013_0x00963540_vrom_end","UNK_TYPE","",0x4),
|
||||
0x00A1C000:("_014_0x00967260_vrom_start","UNK_TYPE","",0x4),
|
||||
0x00A1C2E0:("_014_0x00967260_vrom_end","UNK_TYPE","",0x4),
|
||||
0x00A1D000:("map_i_static_vrom_start","UNK_TYPE","",0x4),
|
||||
0x00A1E310:("map_grand_static_vrom_start","UNK_TYPE","",0x4),
|
||||
0x00A27660:("item_name_static_vrom_start","UNK_TYPE","",0x4),
|
||||
0x00A352F0:("map_name_static_vrom_start","UNK_TYPE","",0x4),
|
||||
0x00A36C10:("_019_0x00980f60_vrom_start","UNK_TYPE","",0x4),
|
||||
0x00A7BEE0:("_020_0x009c6230_vrom_start","UNK_TYPE","",0x4),
|
||||
0x00A807A0:("_020_0x009c6230_vrom_end","UNK_TYPE","",0x4),
|
||||
0x00A8C000:("_022_0x009caaf0_vrom_start","UNK_TYPE","",0x4),
|
||||
0x00A92A10:("_023_0x009d1500_vrom_start","UNK_TYPE","",0x4),
|
||||
0x00A990E0:("_023_0x009d1500_vrom_end","UNK_TYPE","",0x4),
|
||||
0x00A9A000:("_024_0x009d3760_vrom_start","UNK_TYPE","",0x4),
|
||||
0x00ABFC00:("_024_0x009d3760_vrom_end","UNK_TYPE","",0x4),
|
||||
0x00AC0000:("do_action_static_vrom_start","UNK_TYPE","",0x4),
|
||||
0x00AC4000:("message_static_vrom_start","UNK_TYPE","",0x4),
|
||||
0x00ACA000:("message_texture_static_vrom_start","UNK_TYPE","",0x4),
|
||||
0x00ACC000:("nes_font_static_vrom_start","UNK_TYPE","",0x4),
|
||||
0x00AD1000:("en_message_data_static_vrom_start","UNK_TYPE","",0x4),
|
||||
0x00B3B000:("staff_message_data_static_vrom_start","UNK_TYPE","",0x4),
|
||||
0x00B3C000:("code_vrom_start","UNK_TYPE","",0x4),
|
||||
0x00C7A4E0:("code_vrom_end","UNK_TYPE","",0x4),
|
||||
0x01E85000:("nintendo_rogo_static_vrom_start","UNK_TYPE","",0x4),
|
||||
0x01E87DC0:("nintendo_rogo_static_vrom_end","UNK_TYPE","",0x4),
|
||||
0x01E88000:("title_static_vrom_start","UNK_TYPE","",0x4),
|
||||
0x01EB9730:("title_static_vrom_end","UNK_TYPE","",0x4),
|
||||
0x01EBA000:("_1124_0x0163f490_vrom_start","UNK_TYPE","",0x4),
|
||||
0x01EBB280:("_1124_0x0163f490_vrom_end","UNK_TYPE","",0x4),
|
||||
0x01EBC000:("_1125_0x0163fc10_vrom_start","UNK_TYPE","",0x4),
|
||||
0x01EBC680:("_1125_0x0163fc10_vrom_end","UNK_TYPE","",0x4),
|
||||
0x01EBD000:("_1126_0x0163ffc0_vrom_start","UNK_TYPE","",0x4),
|
||||
0x01EC8B20:("_1126_0x0163ffc0_vrom_end","UNK_TYPE","",0x4),
|
||||
0x01EC9000:("_1127_0x01643d50_vrom_start","UNK_TYPE","",0x4),
|
||||
0x01EC9F30:("_1127_0x01643d50_vrom_end","UNK_TYPE","",0x4),
|
||||
0x01ECA000:("_1128_0x01644c80_vrom_start","UNK_TYPE","",0x4),
|
||||
0x01ED3B00:("_1128_0x01644c80_vrom_end","UNK_TYPE","",0x4),
|
||||
0x01ED4000:("_1129_0x01646b60_vrom_start","UNK_TYPE","",0x4),
|
||||
0x01EDDB00:("_1129_0x01646b60_vrom_end","UNK_TYPE","",0x4),
|
||||
0x01EDE000:("_1130_0x01649020_vrom_start","UNK_TYPE","",0x4),
|
||||
0x01EE7B00:("_1130_0x01649020_vrom_end","UNK_TYPE","",0x4),
|
||||
0x01EE8000:("_1131_0x0164ad90_vrom_start","UNK_TYPE","",0x4),
|
||||
0x01EF1B00:("_1131_0x0164ad90_vrom_end","UNK_TYPE","",0x4),
|
||||
0x01EF2000:("vr_fine_static_vrom_start","UNK_TYPE","",0x4),
|
||||
0x01EFE000:("vr_cloud_static_vrom_start","UNK_TYPE","",0x4),
|
||||
0x01F0A000:("vr_pal_static_vrom_start","UNK_TYPE","",0x4),
|
||||
0x01F0A200:("vr_pal_static_vrom_end","UNK_TYPE","",0x4),
|
||||
0x009F5000:("_icon_item_field_staticSegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x00A09AF0:("_icon_item_field_staticSegmentRomEnd","UNK_TYPE","",0x4),
|
||||
0x00A0A000:("_icon_item_dungeon_staticSegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x00A0EB80:("_icon_item_dungeon_staticSegmentRomEnd","UNK_TYPE","",0x4),
|
||||
0x00A0F000:("_icon_item_gameover_staticSegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x00A12300:("_icon_item_gameover_staticSegmentRomEnd","UNK_TYPE","",0x4),
|
||||
0x00A13000:("__013_0x00963540SegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x00A1BA00:("__013_0x00963540SegmentRomEnd","UNK_TYPE","",0x4),
|
||||
0x00A1C000:("__014_0x00967260SegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x00A1C2E0:("__014_0x00967260SegmentRomEnd","UNK_TYPE","",0x4),
|
||||
0x00A1D000:("_map_i_staticSegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x00A1E310:("_map_grand_staticSegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x00A27660:("_item_name_staticSegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x00A352F0:("_map_name_staticSegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x00A36C10:("__019_0x00980f60SegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x00A7BEE0:("__020_0x009c6230SegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x00A807A0:("__020_0x009c6230SegmentRomEnd","UNK_TYPE","",0x4),
|
||||
0x00A8C000:("__022_0x009caaf0SegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x00A92A10:("__023_0x009d1500SegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x00A990E0:("__023_0x009d1500SegmentRomEnd","UNK_TYPE","",0x4),
|
||||
0x00A9A000:("__024_0x009d3760SegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x00ABFC00:("__024_0x009d3760SegmentRomEnd","UNK_TYPE","",0x4),
|
||||
0x00AC0000:("_do_action_staticSegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x00AC4000:("_message_staticSegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x00ACA000:("_message_texture_staticSegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x00ACC000:("_nes_font_staticSegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x00AD1000:("_en_message_data_staticSegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x00B3B000:("_staff_message_data_staticSegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x00B3C000:("_codeSegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x00C7A4E0:("_codeSegmentRomEnd","UNK_TYPE","",0x4),
|
||||
0x01E85000:("_nintendo_rogo_staticSegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x01E87DC0:("_nintendo_rogo_staticSegmentRomEnd","UNK_TYPE","",0x4),
|
||||
0x01E88000:("_title_staticSegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x01EB9730:("_title_staticSegmentRomEnd","UNK_TYPE","",0x4),
|
||||
0x01EBA000:("__1124_0x0163f490SegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x01EBB280:("__1124_0x0163f490SegmentRomEnd","UNK_TYPE","",0x4),
|
||||
0x01EBC000:("__1125_0x0163fc10SegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x01EBC680:("__1125_0x0163fc10SegmentRomEnd","UNK_TYPE","",0x4),
|
||||
0x01EBD000:("__1126_0x0163ffc0SegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x01EC8B20:("__1126_0x0163ffc0SegmentRomEnd","UNK_TYPE","",0x4),
|
||||
0x01EC9000:("__1127_0x01643d50SegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x01EC9F30:("__1127_0x01643d50SegmentRomEnd","UNK_TYPE","",0x4),
|
||||
0x01ECA000:("__1128_0x01644c80SegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x01ED3B00:("__1128_0x01644c80SegmentRomEnd","UNK_TYPE","",0x4),
|
||||
0x01ED4000:("__1129_0x01646b60SegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x01EDDB00:("__1129_0x01646b60SegmentRomEnd","UNK_TYPE","",0x4),
|
||||
0x01EDE000:("__1130_0x01649020SegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x01EE7B00:("__1130_0x01649020SegmentRomEnd","UNK_TYPE","",0x4),
|
||||
0x01EE8000:("__1131_0x0164ad90SegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x01EF1B00:("__1131_0x0164ad90SegmentRomEnd","UNK_TYPE","",0x4),
|
||||
0x01EF2000:("_vr_fine_staticSegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x01EFE000:("_vr_cloud_staticSegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x01F0A000:("_vr_pal_staticSegmentRomStart","UNK_TYPE","",0x4),
|
||||
0x01F0A200:("_vr_pal_staticSegmentRomEnd","UNK_TYPE","",0x4),
|
||||
}
|
||||
+2
-2
@@ -89,6 +89,6 @@ if __name__ == "__main__":
|
||||
with open(args.linkscript, 'w') as file:
|
||||
for name, vrom_start, vrom_end in linker_info:
|
||||
formatted_name = '_' + name if name[0].isdigit() else name
|
||||
file.write('{}_vrom_start = 0x{:08X};\n'.format(formatted_name, vrom_start))
|
||||
file.write('{}_vrom_end = 0x{:08X};\n'.format(formatted_name, vrom_end))
|
||||
file.write('_{}SegmentRomStart = 0x{:08X};\n'.format(formatted_name, vrom_start))
|
||||
file.write('_{}SegmentRomEnd = 0x{:08X};\n'.format(formatted_name, vrom_end))
|
||||
file.write('\n')
|
||||
|
||||
Reference in New Issue
Block a user