mirror of
https://github.com/zeldaret/mm.git
synced 2024-11-27 14:51:03 +00:00
Split .rodata
This commit is contained in:
parent
1fb72838f0
commit
e64adeff3e
@ -214,6 +214,7 @@ SECTIONS
|
||||
build/asm/code_0x800BF9A0.o(.text)
|
||||
build/asm/z_bgcheck.o(.text)
|
||||
build/asm/code_0x800CAAD0.o(.text)
|
||||
build/asm/code_0x800CAE10.o(.text)
|
||||
build/asm/z_camera.o(.text)
|
||||
build/src/code/code_0x800E03A0.o(.text)
|
||||
. += 0x10; /* XXX pad with NOPs*/
|
||||
@ -306,10 +307,13 @@ SECTIONS
|
||||
build/asm/speed_meter.o(.text)
|
||||
build/asm/sys_cmpdma.o(.text)
|
||||
build/asm/sys_initial_check.o(.text)
|
||||
build/asm/code_0x80179300.o(.text)
|
||||
build/asm/code_0x801795F0.o(.text)
|
||||
build/asm/code_0x8017FEB0.o(.text)
|
||||
build/asm/sys_matrix.o(.text)
|
||||
build/asm/code_0x80182CE0.o(.text)
|
||||
build/src/code/code_0x80183070.o(.text)
|
||||
build/asm/code_0x801830A0.o(.text)
|
||||
build/asm/sys_flashrom.o(.text)
|
||||
build/asm/code_0x80185F90.o(.text)
|
||||
build/asm/code_0x801877D0.o(.text)
|
||||
@ -328,6 +332,86 @@ SECTIONS
|
||||
build/asm/code_0x801AA020.o(.text)
|
||||
build/asm/code_0x801AA610.o(.text)
|
||||
build/asm/code_0x801AAAA0.o(.text)
|
||||
|
||||
build/asm/code_data.o(.text)
|
||||
|
||||
build/asm/code_rodata_z_en_item00.o(.text)
|
||||
build/asm/code_rodata_z_eff_blure.o(.text)
|
||||
build/asm/code_rodata_z_eff_shield_particle.o(.text)
|
||||
build/asm/code_rodata_z_eff_spark.o(.text)
|
||||
build/asm/code_rodata_z_eff_ss_dead.o(.text)
|
||||
build/asm/code_rodata_0x800AF710.o(.text)
|
||||
build/asm/code_rodata_z_effect_soft_sprite_old_init.o(.text)
|
||||
build/asm/code_rodata_flg_set.o(.text)
|
||||
build/asm/code_rodata_z_actor.o(.text)
|
||||
build/asm/code_rodata_0x800BF9A0.o(.text)
|
||||
build/asm/code_rodata_z_bgcheck.o(.text)
|
||||
build/asm/code_rodata_0x800CAE10.o(.text)
|
||||
build/asm/code_rodata_z_camera.o(.text)
|
||||
build/asm/code_rodata_z_collision_check.o(.text)
|
||||
build/asm/code_rodata_0x800E8EA0.o(.text)
|
||||
build/asm/code_rodata_z_debug_mode.o(.text)
|
||||
build/asm/code_rodata_z_draw.o(.text)
|
||||
build/asm/code_rodata_z_eff_footmark.o(.text)
|
||||
build/asm/code_rodata_0x800F1460.o(.text)
|
||||
build/asm/code_rodata_z_fcurve_data_skelanime.o(.text)
|
||||
build/asm/code_rodata_z_fireobj.o(.text)
|
||||
build/asm/code_rodata_z_horse.o(.text)
|
||||
build/asm/code_rodata_z_jpeg.o(.text)
|
||||
build/asm/code_rodata_z_kankyo.o(.text)
|
||||
build/asm/code_rodata_z_lib.o(.text)
|
||||
build/asm/code_rodata_z_lifemeter.o(.text)
|
||||
build/asm/code_rodata_z_lights.o(.text)
|
||||
build/asm/code_rodata_z_map_disp.o(.text)
|
||||
build/asm/code_rodata_0x8010C230.o(.text)
|
||||
build/asm/code_rodata_z_parameter.o(.text)
|
||||
build/asm/code_rodata_z_player_lib.o(.text)
|
||||
build/asm/code_rodata_0x8012A080.o(.text)
|
||||
build/asm/code_rodata_z_room.o(.text)
|
||||
build/asm/code_rodata_z_scene_proc.o(.text)
|
||||
build/asm/code_rodata_z_scene_table.o(.text)
|
||||
build/asm/code_rodata_z_skin.o(.text)
|
||||
build/asm/code_rodata_0x80138BA0.o(.text)
|
||||
build/asm/code_rodata_z_sub_s.o(.text)
|
||||
build/asm/code_rodata_0x8013EC10.o(.text)
|
||||
build/asm/code_rodata_z_view.o(.text)
|
||||
build/asm/code_rodata_z_vimode.o(.text)
|
||||
build/asm/code_rodata_0x80140E80.o(.text)
|
||||
build/asm/code_rodata_z_vr_box.o(.text)
|
||||
build/asm/code_rodata_z_message.o(.text)
|
||||
build/asm/code_rodata_z_message_nes.o(.text)
|
||||
build/asm/code_rodata_z_message_staff.o(.text)
|
||||
build/asm/code_rodata_0x80160A90.o(.text)
|
||||
build/asm/code_rodata_z_kaleido_manager.o(.text)
|
||||
build/asm/code_rodata_z_fbdemo_circle.o(.text)
|
||||
build/asm/code_rodata_z_play.o(.text)
|
||||
build/asm/code_rodata_z_play_hireso.o(.text)
|
||||
build/asm/code_rodata_PreRender.o(.text)
|
||||
build/asm/code_rodata_0x80172BC0.o(.text)
|
||||
build/asm/code_rodata_0x80172C30.o(.text)
|
||||
build/asm/code_rodata_game.o(.text)
|
||||
build/asm/code_rodata_graph.o(.text)
|
||||
build/asm/code_rodata_main.o(.text)
|
||||
build/asm/code_rodata_padmgr.o(.text)
|
||||
build/asm/code_rodata_sched.o(.text)
|
||||
build/asm/code_rodata_0x80179300.o(.text)
|
||||
build/asm/code_rodata_0x801795F0.o(.text)
|
||||
build/asm/code_rodata_0x8017FEB0.o(.text)
|
||||
build/asm/code_rodata_sys_matrix.o(.text)
|
||||
build/asm/code_rodata_0x801830A0.o(.text)
|
||||
build/asm/code_rodata_sys_flashrom.o(.text)
|
||||
build/asm/code_rodata_0x801877D0.o(.text)
|
||||
build/asm/code_rodata_0x8018B0F0.o(.text)
|
||||
build/asm/code_rodata_0x8018EB60.o(.text)
|
||||
build/asm/code_rodata_0x80192BE0.o(.text)
|
||||
build/asm/code_rodata_0x80194930.o(.text)
|
||||
build/asm/code_rodata_0x801974D0.o(.text)
|
||||
build/asm/code_rodata_0x8019AF00.o(.text)
|
||||
build/asm/code_rodata_0x801A51F0.o(.text)
|
||||
build/asm/code_rodata_0x801A5BD0.o(.text)
|
||||
build/asm/code_rodata_0x801A7B10.o(.text)
|
||||
build/asm/code_rodata_0x801AA610.o(.text)
|
||||
|
||||
code_bss_start = .;
|
||||
}
|
||||
|
||||
|
@ -120,7 +120,8 @@
|
||||
0x800B3880:"z_DLF",
|
||||
0x800B3AD0:"z_actor",
|
||||
0x800BFB80:"z_bgcheck",
|
||||
0x800CAE10:"z_camera",
|
||||
0x800CAE10:"",
|
||||
0x800CB210:"z_camera",
|
||||
0x800E0410:"z_collision_check",
|
||||
0x800E93E0:"z_debug",
|
||||
0x800E9470:"z_debug_display",
|
||||
@ -182,6 +183,86 @@
|
||||
0x80177390:"speed_meter",
|
||||
0x80178750:"sys_cmpdma",
|
||||
0x80178F30:"sys_initial_check",
|
||||
0x80179300:"",
|
||||
0x8017FEB0:"",
|
||||
0x80180160:"sys_matrix",
|
||||
0x801830A0:"sys_flashrom"
|
||||
0x801830A0:"",
|
||||
0x801857C0:"sys_flashrom",
|
||||
0x801AAAB0:"code_data",
|
||||
0x801DBDF0:"code_rodata_z_en_item00",
|
||||
0x801DC080:"code_rodata_z_eff_blure",
|
||||
0x801DC0B0:"code_rodata_z_eff_shield_particle",
|
||||
0x801DC0C0:"code_rodata_z_eff_spark",
|
||||
0x801DC0D0:"code_rodata_z_eff_ss_dead",
|
||||
0x801DC0E0:"code_rodata_0x800AF710",
|
||||
0x801DC100:"code_rodata_z_effect_soft_sprite_old_init",
|
||||
0x801DC120:"code_rodata_flg_set",
|
||||
0x801DC9D0:"code_rodata_z_actor",
|
||||
0x801DCBB0:"code_rodata_0x800BF9A0",
|
||||
0x801DCC00:"code_rodata_z_bgcheck",
|
||||
0x801DCDB0:"code_rodata_0x800CAE10",
|
||||
0x801DCDC0:"code_rodata_z_camera",
|
||||
0x801DD5C0:"code_rodata_z_collision_check",
|
||||
0x801DD600:"code_rodata_0x800E8EA0",
|
||||
0x801DD610:"code_rodata_z_debug_mode",
|
||||
0x801DD770:"code_rodata_z_draw",
|
||||
0x801DD780:"code_rodata_z_eff_footmark",
|
||||
0x801DD790:"code_rodata_0x800F1460",
|
||||
0x801DD7C0:"code_rodata_z_fcurve_data_skelanime",
|
||||
0x801DD7D0:"code_rodata_z_fireobj",
|
||||
0x801DD7E0:"code_rodata_z_horse",
|
||||
0x801DD7F0:"code_rodata_z_jpeg",
|
||||
0x801DD880:"code_rodata_z_kankyo",
|
||||
0x801DDA80:"code_rodata_z_lib",
|
||||
0x801DDA90:"code_rodata_z_lifemeter",
|
||||
0x801DDAB0:"code_rodata_z_lights",
|
||||
0x801DDAC0:"code_rodata_z_map_disp",
|
||||
0x801DDAE0:"code_rodata_0x8010C230",
|
||||
0x801DDB00:"code_rodata_z_parameter",
|
||||
0x801DDD20:"code_rodata_z_player_lib",
|
||||
0x801DDE10:"code_rodata_0x8012A080",
|
||||
0x801DDFA0:"code_rodata_z_room",
|
||||
0x801DDFF0:"code_rodata_z_scene_proc",
|
||||
0x801DE020:"code_rodata_z_scene_table",
|
||||
0x801DE5C0:"code_rodata_z_skin",
|
||||
0x801DE5D0:"code_rodata_0x80138BA0",
|
||||
0x801DE5E0:"code_rodata_z_sub_s",
|
||||
0x801DF090:"code_rodata_0x8013EC10",
|
||||
0x801DF0A0:"code_rodata_z_view",
|
||||
0x801DF0B0:"code_rodata_z_vimode",
|
||||
0x801DF120:"code_rodata_0x80140E80",
|
||||
0x801DF130:"code_rodata_z_vr_box",
|
||||
0x801DF150:"code_rodata_z_message",
|
||||
0x801DF730:"code_rodata_z_message_nes",
|
||||
0x801DF860:"code_rodata_z_message_staff",
|
||||
0x801DF900:"code_rodata_0x80160A90",
|
||||
0x801DF9C0:"code_rodata_z_kaleido_manager",
|
||||
0x801DF9E0:"code_rodata_z_fbdemo_circle",
|
||||
0x801DFA00:"code_rodata_z_play",
|
||||
0x801DFC50:"code_rodata_z_play_hireso",
|
||||
0x801DFC60:"code_rodata_PreRender",
|
||||
0x801DFC70:"code_rodata_0x80172BC0",
|
||||
0x801DFC80:"code_rodata_0x80172C30",
|
||||
0x801DFCC0:"code_rodata_game",
|
||||
0x801DFCE0:"code_rodata_graph",
|
||||
0x801DFD70:"code_rodata_main",
|
||||
0x801DFD90:"code_rodata_padmgr",
|
||||
0x801DFDE0:"code_rodata_sched",
|
||||
0x801E0120:"code_rodata_0x80179300",
|
||||
0x801E0130:"code_rodata_0x801795F0",
|
||||
0x801E01E0:"code_rodata_0x8017FEB0",
|
||||
0x801E01F0:"code_rodata_sys_matrix",
|
||||
0x801E0200:"code_rodata_0x801830A0",
|
||||
0x801E0230:"code_rodata_sys_flashrom",
|
||||
0x801E0280:"code_rodata_0x801877D0",
|
||||
0x801E02B0:"code_rodata_0x8018B0F0",
|
||||
0x801E0300:"code_rodata_0x8018EB60",
|
||||
0x801E0390:"code_rodata_0x80192BE0",
|
||||
0x801E04E0:"code_rodata_0x80194930",
|
||||
0x801E0540:"code_rodata_0x801974D0",
|
||||
0x801E0BD0:"code_rodata_0x8019AF00",
|
||||
0x801E0EC0:"code_rodata_0x801A51F0",
|
||||
0x801E1050:"code_rodata_0x801A5BD0",
|
||||
0x801E1070:"code_rodata_0x801A7B10",
|
||||
0x801E1120:"code_rodata_0x801AA610",
|
||||
}
|
||||
|
@ -197,7 +197,8 @@ class Disassembler:
|
||||
|
||||
for addr in known_objects:
|
||||
self.add_object(addr)
|
||||
self.add_function(addr) # assume every object starts with a function
|
||||
if self.is_in_code(addr):
|
||||
self.add_function(addr) # assume every object starts with a function
|
||||
|
||||
for addr in known_vars:
|
||||
self.add_variable(addr)
|
||||
@ -209,6 +210,7 @@ class Disassembler:
|
||||
|
||||
def add_file(self, path, name, vaddr):
|
||||
self.files.append(self.File(name, read_file(path + '/' + name), vaddr))
|
||||
self.files = sorted(self.files, key = lambda file: file.vaddr)
|
||||
self.reset_cache()
|
||||
|
||||
def add_object(self, addr):
|
||||
@ -228,10 +230,12 @@ class Disassembler:
|
||||
|
||||
def add_data_region(self, start, end, file_name):
|
||||
self.data_regions.append((start, end, file_name))
|
||||
self.data_regions = sorted(self.data_regions, key = lambda region: region[0])
|
||||
self.reset_cache()
|
||||
|
||||
def add_bss_region(self, start, end, file_name):
|
||||
self.bss_regions.append((start, end, file_name))
|
||||
self.bss_regions = sorted(self.bss_regions, key = lambda region: region[0])
|
||||
self.reset_cache()
|
||||
|
||||
def is_in_data(self, addr):
|
||||
@ -364,11 +368,6 @@ class Disassembler:
|
||||
if self.has_done_first_pass == True:
|
||||
return
|
||||
|
||||
# TODO keep sorted
|
||||
self.files = sorted(self.files, key = lambda file: file.vaddr)
|
||||
self.data_regions = sorted(self.data_regions, key = lambda region: region[0])
|
||||
self.bss_regions = sorted(self.bss_regions, key = lambda region: region[0])
|
||||
|
||||
for file in self.files:
|
||||
for i in range(0, file.size // 4):
|
||||
inst = file.get_inst(i)
|
||||
|
Loading…
Reference in New Issue
Block a user