summaryrefslogtreecommitdiff
path: root/yamls
diff options
context:
space:
mode:
authorAlejandro Asenjo Nitti <96613413+sonicdcer@users.noreply.github.com>2024-09-13 00:59:33 -0300
committerGitHub <noreply@github.com>2024-09-13 00:59:33 -0300
commit53363d66192a83996b9c2c874ff7f18e69068311 (patch)
treef9460e8bcb87ea77ba4e64737e9a22cc4bd38d08 /yamls
parentbfe2cd1c20638a93f61f787cbe666c38f5c66c96 (diff)
Hud, Title, Map & Option Docs (#272)
* hud title and option docs * hud docs * aspMain vram comment * more hud docs * HUD docs * Hud_ -> HUD_ consistency * ActorMissileSeekModes * fox_option docs * more option docs * more option docs * more option docs * fox_title docs * more fox_title docs * fox_map docs * fix map TLUTs * more fox_map docs * jp1 explore * explore us rev0 * SETUPDL comments * format * fox_map docs * more fox_map docs
Diffstat (limited to 'yamls')
-rw-r--r--yamls/jp/rev1/assets.yaml444
-rw-r--r--yamls/jp/rev1/header.yaml70
-rw-r--r--yamls/jp/rev1/main.yaml37
-rw-r--r--yamls/jp/rev1/overlays.yaml234
-rw-r--r--yamls/us/rev0/assets.yaml453
-rw-r--r--yamls/us/rev0/header.yaml77
-rw-r--r--yamls/us/rev0/main.yaml168
-rw-r--r--yamls/us/rev0/overlays.yaml139
-rw-r--r--yamls/us/rev1/main.yaml2
9 files changed, 1623 insertions, 1 deletions
diff --git a/yamls/jp/rev1/assets.yaml b/yamls/jp/rev1/assets.yaml
new file mode 100644
index 00000000..89e749c1
--- /dev/null
+++ b/yamls/jp/rev1/assets.yaml
@@ -0,0 +1,444 @@
+ - name: audio_seq
+ type: bin
+ start: 0xE9950
+
+ - name: audio_bank
+ type: bin
+ start: 0x124920
+
+ - name: audio_table
+ type: bin
+ start: 0x143A40
+
+ - name: ast_common
+ exclusive_ram_id: segment_01
+ type: code
+ dir: assets
+ start: 0x844660
+ vram: 0x01000000
+ subsegments:
+ - [0x844660, bin, ast_common/ast_common]
+
+ - name: ast_bg_space
+ exclusive_ram_id: segment_02
+ type: code
+ dir: assets
+ start: 0x8763F0
+ vram: 0x02000000
+ subsegments:
+ - [0x8763F0, bin, ast_bg_space/ast_bg_space]
+
+ - name: ast_bg_planet
+ exclusive_ram_id: segment_02
+ type: code
+ dir: assets
+ start: 0x87DBD0
+ vram: 0x02000000
+ subsegments:
+ - [0x87DBD0, bin, ast_bg_planet/ast_bg_planet]
+
+ - name: ast_arwing
+ exclusive_ram_id: segment_03
+ type: code
+ dir: assets
+ start: 0x88F730
+ vram: 0x03000000
+ subsegments:
+ - [0x88F730, bin, ast_arwing/ast_arwing]
+
+ - name: ast_landmaster
+ exclusive_ram_id: segment_03
+ type: code
+ dir: assets
+ start: 0x8A9520
+ vram: 0x03000000
+ subsegments:
+ - [0x8A9520, bin, ast_landmaster/ast_landmaster]
+
+ - name: ast_blue_marine
+ exclusive_ram_id: segment_03
+ type: code
+ dir: assets
+ start: 0x8B1AB0
+ vram: 0x03000000
+ subsegments:
+ - [0x8B1AB0, bin, ast_blue_marine/ast_blue_marine]
+
+ - name: ast_versus
+ exclusive_ram_id: segment_03
+ type: code
+ dir: assets
+ start: 0x8B8E00
+ vram: 0x03000000
+ subsegments:
+ - [0x8B8E00, bin, ast_versus/ast_versus]
+
+ - name: ast_enmy_planet
+ exclusive_ram_id: segment_04
+ type: code
+ dir: assets
+ start: 0x8E8AE0
+ vram: 0x04000000
+ subsegments:
+ - [0x8E8AE0, bin, ast_enmy_planet/ast_enmy_planet]
+
+ - name: ast_enmy_space
+ exclusive_ram_id: segment_04
+ type: code
+ dir: assets
+ start: 0x8F2DE0
+ vram: 0x04000000
+ subsegments:
+ - [0x8F2DE0, bin, ast_enmy_space/ast_enmy_space]
+
+ - name: ast_great_fox
+ exclusive_ram_id: segment_0E
+ type: code
+ dir: assets
+ start: 0x8FF2F0
+ vram: 0x0E000000
+ subsegments:
+ - [0x8FF2F0, bin, ast_great_fox/ast_great_fox]
+
+ - name: ast_star_wolf
+ exclusive_ram_id: segment_0F
+ type: code
+ dir: assets
+ start: 0x911000
+ vram: 0x0F000000
+ subsegments:
+ - [0x911000, bin, ast_star_wolf/ast_star_wolf]
+
+ - name: ast_allies
+ exclusive_ram_id: segment_0D
+ type: code
+ dir: assets
+ start: 0x9257A0
+ vram: 0x0D000000
+ subsegments:
+ - [0x9257A0, bin, ast_allies/ast_allies]
+
+ - name: ast_corneria
+ exclusive_ram_id: segment_06
+ type: code
+ dir: assets
+ start: 0x932200
+ vram: 0x06000000
+ subsegments:
+ - [0x932200, bin, ast_corneria/ast_corneria]
+
+ - name: ast_meteo
+ exclusive_ram_id: segment_06
+ type: code
+ dir: assets
+ start: 0x971980
+ vram: 0x06000000
+ subsegments:
+ - [0x971980, bin, ast_meteo/ast_meteo]
+
+ - name: ast_titania
+ exclusive_ram_id: segment_06
+ type: code
+ dir: assets
+ vram: 0x06000000
+ start: 0x9A3370
+ subsegments:
+ - [0x9A3370, bin, ast_titania/ast_titania]
+
+ - name: ast_7_ti_2
+ exclusive_ram_id: segment_07
+ type: code
+ dir: assets
+ vram: 0x07000000
+ start: 0x9AD730
+ subsegments:
+ - [0x9AD730, bin, ast_7_ti_2/ast_7_ti_2]
+
+ - name: ast_8_ti
+ exclusive_ram_id: segment_08
+ type: code
+ dir: assets
+ start: 0x9BB980
+ vram: 0x08000000
+ subsegments:
+ - [0x9BB980, bin, ast_8_ti/ast_8_ti]
+
+ - name: ast_9_ti
+ exclusive_ram_id: segment_09
+ type: code
+ dir: assets
+ start: 0x9C4C20
+ vram: 0x09000000
+ subsegments:
+ - [0x9C4C20, bin, ast_9_ti/ast_9_ti]
+
+ - name: ast_A_ti
+ type: code
+ dir: assets
+ exclusive_ram_id: segment_0A
+ start: 0x9D4D40
+ vram: 0x0A000000
+ subsegments:
+ - [0x9D4D40, bin, ast_A_ti/ast_A_ti]
+
+ - name: ast_7_ti_1
+ exclusive_ram_id: segment_07
+ type: code
+ dir: assets
+ start: 0x9DE6E0
+ vram: 0x07000000
+ subsegments:
+ - [0x9DE6E0, bin, ast_7_ti_1/ast_7_ti_1]
+
+ - name: ast_sector_x
+ exclusive_ram_id: segment_06
+ type: code
+ dir: assets
+ start: 0x9ED490
+ vram: 0x06000000
+ subsegments:
+ - [0x9ED490, bin, ast_sector_x/ast_sector_x]
+
+ - name: ast_sector_z
+ exclusive_ram_id: segment_06
+ type: code
+ dir: assets
+ start: 0xA1FCD0
+ vram: 0x06000000
+ subsegments:
+ - [0xA1FCD0, bin, ast_sector_z/ast_sector_z]
+
+ - name: ast_aquas
+ exclusive_ram_id: segment_06
+ type: code
+ dir: assets
+ start: 0xA28E60
+ vram: 0x06000000
+ subsegments:
+ - [0xA28E60, bin, ast_aquas/ast_aquas]
+
+ - name: ast_area_6
+ exclusive_ram_id: segment_06
+ type: code
+ dir: assets
+ start: 0xA5B8F0
+ vram: 0x06000000
+ subsegments:
+ - [0xA5B8F0, bin, ast_area_6/ast_area_6]
+
+ - name: ast_venom_1
+ exclusive_ram_id: segment_06
+ type: code
+ dir: assets
+ start: 0xA84390
+ vram: 0x06000000
+ subsegments:
+ - [0xA84390, bin, ast_venom_1/ast_venom_1]
+
+ - name: ast_venom_2
+ exclusive_ram_id: segment_06
+ type: code
+ dir: assets
+ start: 0xA9E570
+ vram: 0x06000000
+ subsegments:
+ - [0xA9E570, bin, ast_venom_2/ast_venom_2]
+
+ - name: ast_ve1_boss
+ # exclusive_ram_id: segment_06
+ exclusive_ram_id: segment_09
+ type: code
+ dir: assets
+ start: 0xAB36F0
+ vram: 0x09000000
+ subsegments:
+ - [0xAB36F0, bin, ast_ve1_boss/ast_ve1_boss]
+
+ - name: ast_bolse
+ exclusive_ram_id: segment_06
+ type: code
+ dir: assets
+ start: 0xAD8050
+ vram: 0x06000000
+ subsegments:
+ - [0xAD8050, bin, ast_bolse/ast_bolse]
+
+ - name: ast_fortuna
+ exclusive_ram_id: segment_06
+ type: code
+ dir: assets
+ start: 0xAE9DC0
+ vram: 0x06000000
+ subsegments:
+ - [0xAE9DC0, bin, ast_fortuna/ast_fortuna]
+
+ - name: ast_sector_y
+ exclusive_ram_id: segment_06
+ type: code
+ dir: assets
+ start: 0xAF9DC0
+ vram: 0x06000000
+ subsegments:
+ - [0xAF9DC0, bin, ast_sector_y/ast_sector_y]
+
+ - name: ast_solar
+ exclusive_ram_id: segment_06
+ type: code
+ dir: assets
+ start: 0xB2E3F0
+ vram: 0x06000000
+ subsegments:
+ - [0xB2E3F0, bin, ast_solar/ast_solar]
+
+ - name: ast_zoness
+ exclusive_ram_id: segment_06
+ type: code
+ dir: assets
+ start: 0xB51670
+ vram: 0x06000000
+ subsegments:
+ - [0xB51670, bin, ast_zoness/ast_zoness]
+
+ - name: ast_katina
+ exclusive_ram_id: segment_06
+ type: code
+ dir: assets
+ start: 0xB7E0B0
+ vram: 0x06000000
+ subsegments:
+ - [0xB7E0B0, bin, ast_katina/ast_katina]
+
+ - name: ast_macbeth
+ exclusive_ram_id: segment_06
+ type: code
+ dir: assets
+ vram: 0x06000000
+ start: 0xB8F2B0
+ subsegments:
+ - [0xB8F2B0, bin, ast_macbeth/ast_macbeth]
+
+ - name: ast_warp_zone
+ exclusive_ram_id: segment_07
+ type: code
+ dir: assets
+ start: 0xBC7460
+ vram: 0x07000000
+ subsegments:
+ - [0xBC7460, bin, ast_warp_zone/ast_warp_zone]
+
+ - name: ast_title
+ exclusive_ram_id: segment_06
+ type: code
+ dir: assets
+ vram: 0x06000000
+ start: 0xBC9230
+ subsegments:
+ - [0xBC9230, bin, ast_title/ast_title]
+
+ - name: ast_map
+ exclusive_ram_id: segment_06
+ type: code
+ dir: assets
+ start: 0xC12690
+ vram: 0x06000000
+ subsegments:
+ - [0xC12690, bin, ast_map/ast_map]
+
+ - name: ast_option
+ exclusive_ram_id: segment_08
+ type: code
+ dir: assets
+ start: 0xC6FA00
+ vram: 0x08000000
+ subsegments:
+ - [0xC6FA00, bin, ast_option/ast_option]
+
+ - name: ast_vs_menu
+ exclusive_ram_id: segment_07
+ type: code
+ dir: assets
+ start: 0xC83960
+ vram: 0x07000000
+ subsegments:
+ - [0xC83960, bin, ast_vs_menu/ast_vs_menu]
+
+ - name: ast_text
+ exclusive_ram_id: segment_05
+ type: code
+ dir: assets
+ vram: 0x05000000
+ start: 0xC98590
+ subsegments:
+ - [0xC98590, bin, ast_text/ast_text]
+
+ - name: ast_font_3d
+ exclusive_ram_id: segment_09
+ type: code
+ dir: assets
+ vram: 0x09000000
+ start: 0xCA2860
+ subsegments:
+ - [0xCA2860, bin, ast_font_3d/ast_font_3d]
+
+ - name: ast_andross
+ exclusive_ram_id: segment_0C
+ type: code
+ dir: assets
+ vram: 0x0C000000
+ start: 0xCAEA30
+ subsegments:
+ - [0xCAEA30, bin, ast_andross/ast_andross]
+
+ - name: ast_logo
+ exclusive_ram_id: segment_0F
+ type: code
+ dir: assets
+ start: 0xCE8EC0
+ vram: 0x0F000000
+ subsegments:
+ - [0xCE8EC0, bin, ast_logo/ast_logo]
+
+ - name: ast_ending
+ exclusive_ram_id: segment_07
+ type: code
+ dir: assets
+ start: 0xCEB3C0
+ vram: 0x07000000
+ subsegments:
+ - [0xCEB3C0, bin, ast_ending/ast_ending]
+
+ - name: ast_ending_award_front
+ exclusive_ram_id: segment_08
+ type: code
+ dir: assets
+ start: 0xD071C0
+ vram: 0x08000000
+ subsegments:
+ - [0xD071C0, bin, ast_ending_award_front/ast_ending_award_front]
+
+ - name: ast_ending_award_back
+ exclusive_ram_id: segment_08
+ type: code
+ dir: assets
+ start: 0xD2C240
+ vram: 0x08000000
+ subsegments:
+ - [0xD2C240, bin, ast_ending_award_back/ast_ending_award_back]
+
+ - name: ast_ending_expert
+ exclusive_ram_id: segment_08
+ type: code
+ dir: assets
+ start: 0xD55CD0
+ vram: 0x08000000
+ subsegments:
+ - [0xD55CD0, bin, ast_ending_expert/ast_ending_expert]
+
+ - name: ast_training
+ exclusive_ram_id: segment_06
+ type: code
+ dir: assets
+ start: 0xD9FDD0
+ vram: 0x06000000
+ subsegments:
+ - [0xD9FDD0, bin, ast_training/ast_training]
diff --git a/yamls/jp/rev1/header.yaml b/yamls/jp/rev1/header.yaml
new file mode 100644
index 00000000..a501bfeb
--- /dev/null
+++ b/yamls/jp/rev1/header.yaml
@@ -0,0 +1,70 @@
+name: Starfox64 JAP REV 1 (v1.1)
+sha1: af2875bb8c0ef8135cae75f55e98b6ae44ec7925
+options:
+ basename: starfox64
+ target_path: baserom.jp.rev1.uncompressed.z64
+ elf_path: build/starfox64.jp.rev1.elf
+ ld_script_path: linker_scripts/jp/rev1/starfox64.ld
+ base_path: .
+ compiler: IDO
+ find_file_boundaries: True
+ header_encoding: ASCII
+ platform: n64
+ undefined_funcs_auto_path: linker_scripts/jp/rev1/auto/undefined_funcs_auto.ld
+ undefined_syms_auto_path: linker_scripts/jp/rev1/auto/undefined_syms_auto.ld
+
+ symbol_addrs_path:
+ - linker_scripts/jp/rev1/symbol_addrs.txt
+ - linker_scripts/jp/rev1/symbol_addrs_fix.txt
+ - linker_scripts/jp/rev1/symbol_addrs_assets.txt
+
+ asm_path: asm/jp/rev1
+ src_path: srcjp
+ asset_path: bin/jp/rev1
+
+ build_path: build
+
+ extensions_path: tools/splat_ext
+ mips_abi_float_regs: o32
+ create_asm_dependencies: True
+ do_c_func_detection: True
+ o_as_suffix: True
+ gfx_ucode: f3dex
+ mnemonic_ljust: 12
+ rom_address_padding: True
+ dump_symbols: True
+ include_macro_inc: False
+ libultra_symbols: True
+ hardware_regs: True
+
+ ld_dependencies: True
+
+
+ use_legacy_include_asm: False
+
+ asm_function_macro: glabel
+ asm_jtbl_label_macro: jlabel
+ asm_data_macro: dlabel
+
+ ld_legacy_generation: True
+ check_consecutive_segment_types: False
+
+ # section_order: [".text", ".data", ".rodata", ".bss"]
+ # auto_all_sections: [".data", ".rodata", ".bss"]
+
+
+
+
+ mips_abi_float_regs: o32
+
+
+ disasm_unknown: True
+ # string_encoding: ASCII
+ # data_string_encoding: ASCII
+ rodata_string_guesser_level: 2
+ data_string_guesser_level: 2
+ # libultra_symbols: True
+ # hardware_regs: True
+ # gfx_ucode: # one of [f3d, f3db, f3dex, f3dexb, f3dex2]
+segments:
+
diff --git a/yamls/jp/rev1/main.yaml b/yamls/jp/rev1/main.yaml
new file mode 100644
index 00000000..fe89dba5
--- /dev/null
+++ b/yamls/jp/rev1/main.yaml
@@ -0,0 +1,37 @@
+ - name: makerom
+ type: code
+ start: 0x0
+ subsegments:
+ - {start: 0x0, type: header, name: header}
+ - {start: 0x40, type: textbin, name: ipl3}
+ - {start: 0x1000, type: asm, vram: 0x80000400, name: entry}
+
+ - name: main
+ type: code
+ start: 0x1050
+ vram: 0x80000450
+ bss_size: 0x95A50
+ subsegments:
+ # Microcode
+ - [0x01050, textbin, rspboot]
+ - [0x01120, textbin, aspmain]
+ - [0x02020, textbin, f3dex]
+
+ # Nintendo libraries
+ - [0x03450, asm]
+
+ - name: dma_table
+ type: code
+ start: 0xE93C0
+ vram: 0x8017E210
+ follows_vram: main
+ subsegments:
+ - [0xE93C0, .data, dmatable]
+
+ - name: buffers
+ exclusive_ram_id: buffer
+ type: code
+ vram: 0x80281000
+ bss_size: 0x17F000
+ subsegments:
+ - { type: .bss, vram: 0x80281000, name: buffers }
diff --git a/yamls/jp/rev1/overlays.yaml b/yamls/jp/rev1/overlays.yaml
new file mode 100644
index 00000000..925cc2db
--- /dev/null
+++ b/yamls/jp/rev1/overlays.yaml
@@ -0,0 +1,234 @@
+ - name: ovl_i1
+ exclusive_ram_id: overlay
+ type: code
+ dir: overlays/ovl_i1
+ start: 0xDA9680
+ vram: 0x8017E7A0
+ follows_vram: dma_table
+ bss_size: 0xA10
+ symbol_name_format: i1_$VRAM
+ subsegments:
+ - [0xDA9680, c, fox_i1]
+ - [0xDA9690, c, fox_co]
+ - [0xDB4240, c, fox_ve1]
+ - [0xDBAA40, c, fox_tr]
+ - [0xDBADB0, c, fox_tr360]
+ - [0xDBB930, data, fox_i1]
+ - [0xDBB940, data, fox_co]
+ - [0xDBBCA0, data, fox_ve1]
+ - [0xDBCFB0, data, fox_tr360]
+ - [0xDBD050, .rodata, fox_co]
+ - [0xDBD410, .rodata, fox_ve1]
+ - [0xDBD7A0, .rodata, fox_tr]
+ - [0xDBD7E0, .rodata, fox_tr360]
+ - { type: bss, vram: 0x80192940, name: fox_i1 }
+ - { type: bss, vram: 0x80192950, name: fox_co }
+ - { type: bss, vram: 0x80192A70, name: fox_ve1 }
+
+ - name: ovl_i2
+ exclusive_ram_id: overlay
+ type: code
+ dir: overlays/ovl_i2
+ start: 0xDBD820
+ vram: 0x8017E7A0
+ follows_vram: dma_table
+ bss_size: 0x30
+ symbol_name_format: i2_$VRAM
+ subsegments:
+ - [0xDBD820, c, fox_i2]
+ - [0xDBD830, c, fox_me]
+ - [0xDC52D0, c, fox_sx]
+ - [0xDCB6D0, data, fox_i2]
+ - [0xDCB6E0, data, fox_me]
+ - [0xDCB8F0, data, fox_sx]
+ - [0xDCBA40, .rodata, fox_me]
+ - [0xDCBD00, .rodata, fox_sx]
+ - { type: bss, vram: 0x8018CFA0, name: fox_i2 }
+ - { type: bss, vram: 0x8018CFB0, name: fox_sx }
+
+ - name: ovl_i3
+ exclusive_ram_id: overlay
+ type: code
+ dir: overlays/ovl_i3
+ start: 0xDCC020
+ vram: 0x8017E7A0
+ follows_vram: dma_table
+ bss_size: 0x2220
+ symbol_name_format: i3_$VRAM
+ subsegments:
+ - [0xDCC020, c, fox_i3]
+ - [0xDCC030, c, fox_a6]
+ - [0xDD4A50, c, fox_zo]
+ - [0xDE3300, c, fox_so]
+ - [0xDED940, c, fox_aq]
+ - [0xE037D0, data, fox_i3]
+ - [0xE037E0, data, fox_a6]
+ - [0xE04090, data, fox_zo]
+ - [0xE04410, data, fox_so]
+ - [0xE04690, data, fox_aq]
+ - [0xE05430, .rodata, fox_a6]
+ - [0xE058E0, .rodata, fox_zo]
+ - [0xE06000, .rodata, fox_so]
+ - [0xE06560, .rodata, fox_aq]
+ - { type: bss, vram: 0x801B94F0, name: fox_i3 }
+ - { type: bss, vram: 0x801B9500, name: fox_a6 }
+ - { type: bss, vram: 0x801B95E0, name: fox_zo }
+ - { type: bss, vram: 0x801B99F0, name: fox_so }
+ - { type: bss, vram: 0x801B9A70, name: fox_aq }
+
+
+ - name: ovl_i4
+ exclusive_ram_id: overlay
+ type: code
+ dir: overlays/ovl_i4
+ start: 0xE06D70
+ vram: 0x8017E7A0
+ follows_vram: dma_table
+ bss_size: 0x1B0
+ symbol_name_format: i4_$VRAM
+ subsegments:
+ - [0xE06D70, c, fox_i4]
+ - [0xE06E40, c, fox_fo]
+ - [0xE0B580, c, fox_bo]
+ - [0xE11FD0, c, fox_ka]
+ - [0xE18DD0, c, fox_sz]
+ - [0xE1E2A0, data, fox_i4]
+ - [0xE1E2B0, data, fox_fo]
+ - [0xE1E350, data, fox_bo]
+ - [0xE1E5C0, data, fox_ka]
+ - [0xE1E980, data, fox_sz]
+ - [0xE1EBA0, .rodata, fox_i4]
+ - [0xE1EBE0, .rodata, fox_fo]
+ - [0xE1EDE0, .rodata, fox_bo]
+ - [0xE1F1E0, .rodata, fox_ka]
+ - [0xE1F570, .rodata, fox_sz]
+ - { type: bss, vram: 0x801972A0, name: fox_i4 }
+ - { type: bss, vram: 0x801972B0, name: fox_bo }
+ - { type: bss, vram: 0x80197420, name: fox_ka }
+ - { type: bss, vram: 0x80197440, name: fox_sz }
+
+
+ - name: ovl_i5
+ exclusive_ram_id: overlay
+ type: code
+ dir: overlays/ovl_i5
+ start: 0xE1F870
+ vram: 0x8017E7A0
+ follows_vram: dma_table
+ bss_size: 0xAF70
+ symbol_name_format: i5_$VRAM
+ subsegments:
+ - [0xE1F870, c, fox_i5]
+ - [0xE1F880, c, fox_ti_cs]
+ - [0xE21280, c, fox_ti]
+ - [0xE31C90, c, fox_ma]
+ - [0xE4CDB0, c, fox_ground]
+ - [0xE4F670, data, fox_i5]
+ - [0xE4F680, data, fox_ti_cs]
+ - [0xE4F740, data, fox_ti]
+ - [0xE51230, data, fox_ma]
+ - [0xE52CF0, data, fox_ground]
+ - [0xE52DC0, .rodata, fox_i5]
+ - [0xE52DD0, .rodata, fox_ti_cs]
+ - [0xE52E30, .rodata, fox_ti]
+ - [0xE53690, .rodata, fox_ma]
+ - [0xE541D0, .rodata, fox_ground]
+ - { type: bss, vram: 0x801B31F0, name: fox_i5 }
+ - { type: bss, vram: 0x801B3200, name: fox_ti }
+ - { type: bss, vram: 0x801B5540, name: fox_ma }
+ - { type: bss, vram: 0x801B5A40, name: fox_ground }
+
+
+ - name: ovl_i6
+ exclusive_ram_id: overlay
+ type: code
+ dir: overlays/ovl_i6
+ start: 0xE542C0
+ vram: 0x8017E7A0
+ follows_vram: dma_table
+ bss_size: 0x520
+ symbol_name_format: i6_$VRAM
+ subsegments:
+ - [0xE542C0, c, fox_i6]
+ - [0xE542D0, c, fox_andross]
+ - [0xE62FF0, c, fox_ve2]
+ - [0xE648F0, c, fox_sy]
+ - [0xE72330, c, fox_turret]
+ - [0xE73520, data, fox_i6]
+ - [0xE73530, data, fox_andross]
+ - [0xE73680, data, fox_ve2]
+ - [0xE736E0, data, fox_sy]
+ - [0xE73950, data, fox_turret]
+ - [0xE73960, .rodata, fox_i6]
+ - [0xE73970, .rodata, fox_andross]
+ - [0xE74210, .rodata, fox_ve2]
+ - [0xE74250, .rodata, fox_sy]
+ - [0xE74CA0, .rodata, fox_turret]
+ - { type: bss, vram: 0x8019F1E0, name: fox_i6 }
+ - { type: bss, vram: 0x8019F1F0, name: fox_andross }
+ - { type: bss, vram: 0x8019F6E0, name: fox_sy }
+
+
+ - name: ovl_menu
+ exclusive_ram_id: overlay
+ type: code
+ dir: overlays/ovl_menu
+ start: 0xE74D00
+ vram: 0x8017E7A0
+ follows_vram: dma_table
+ bss_size: 0x17570
+ symbol_name_format: menu_$VRAM
+ subsegments:
+ - [0xE74D00, c, fox_i_menu]
+ - [0xE74DC0, c, fox_title]
+ - [0xE7F410, c, fox_option]
+ - [0xE8C1E0, c, fox_map]
+ - [0xE9B3E0, data, fox_i_menu]
+ - [0xE9B3F0, data, fox_title]
+ - [0xE9BF60, data, fox_option]
+ - [0xE9CE00, data, fox_map]
+ - [0xEA4740, .rodata, fox_i_menu]
+ - [0xEA4760, .rodata, fox_title]
+ - [0xEA4B00, .rodata, fox_option]
+ - [0xEA4F00, .rodata, fox_map]
+ - { type: bss, vram: 0x801AF0B0, name: fox_menu }
+ - { type: bss, vram: 0x801AF0C0, name: fox_title }
+ - { type: bss, vram: 0x801B05A0, name: fox_option }
+ - { type: bss, vram: 0x801B0910, name: fox_map }
+
+
+ - name: ovl_ending
+ exclusive_ram_id: overlay
+ type: code
+ dir: overlays/ovl_ending
+ start: 0xEA5610
+ vram: 0x8017E7A0
+ follows_vram: dma_table
+ bss_size: 0x2710
+ symbol_name_format: ending_$VRAM
+ subsegments:
+ - [0xEA5610, c, fox_end1]
+ - [0xEAAF10, c, fox_end2]
+ - [0xEB0800, data, fox_end1]
+ - [0xEB0E50, data, fox_end2]
+ - [0xEB41A0, .rodata, fox_end1]
+ - [0xEB45A0, .rodata, fox_end2]
+ - { type: bss, vram: 0x8018DD90, name: fox_end1 }
+ - { type: bss, vram: 0x8018F620, name: fox_end2 }
+
+
+ - name: ovl_unused
+ exclusive_ram_id: overlay
+ type: code
+ dir: overlays/ovl_unused
+ start: 0xEB4C00
+ vram: 0x8017E7A0
+ follows_vram: dma_table
+ bss_size: 0x10
+ symbol_name_format: unused_$VRAM
+ subsegments:
+ - [0xEB4C00, c, fox_unused]
+ - [0xEB4C10, data, fox_unused]
+ - { type: bss, vram: 0x8017E840, name: fox_unused }
+
+ - [0xEB4CA0] \ No newline at end of file
diff --git a/yamls/us/rev0/assets.yaml b/yamls/us/rev0/assets.yaml
new file mode 100644
index 00000000..1bacd757
--- /dev/null
+++ b/yamls/us/rev0/assets.yaml
@@ -0,0 +1,453 @@
+
+ - name: audio_seq
+ type: bin
+ start: 0xDA030
+
+# - name: audio_bank
+# type: bin
+# start: 0x114D20
+#
+# - name: audio_table
+# type: bin
+# start: 0x132D40
+#
+# - name: ast_common
+# type: bin
+# start: 0x86F2C0
+#
+# - name: assets_in_between # start of ast_bg_space
+# type: bin
+# start: 0x8A1ED0
+
+# - name: ast_bg_space
+# exclusive_ram_id: segment_02
+# type: code
+# dir: assets
+# start: 0x8A1ED0
+# vram: 0x02000000
+# subsegments:
+# - [0x8A68C0, .data, ast_bg_space/ast_bg_space]
+#
+# - name: ast_bg_planet
+# exclusive_ram_id: segment_02
+# type: code
+# dir: assets
+# start: 0x8AE0A0
+# vram: 0x02000000
+# subsegments:
+# - [0x8AE0A0, .data, ast_bg_planet/ast_bg_planet]
+#
+# - name: ast_arwing
+# exclusive_ram_id: segment_03
+# type: code
+# dir: assets
+# start: 0x8BFC00
+# vram: 0x03000000
+# subsegments:
+# - [0x8BFC00, .data, ast_arwing/ast_arwing]
+#
+# - name: ast_landmaster
+# exclusive_ram_id: segment_03
+# type: code
+# dir: assets
+# start: 0x8D99F0
+# vram: 0x03000000
+# subsegments:
+# - [0x8D99F0, .data, ast_landmaster/ast_landmaster]
+#
+# - name: ast_blue_marine
+# exclusive_ram_id: segment_03
+# type: code
+# dir: assets
+# start: 0x8E1F80
+# vram: 0x03000000
+# subsegments:
+# - [0x8E1F80, .data, ast_blue_marine/ast_blue_marine]
+#
+# - name: ast_versus
+# exclusive_ram_id: segment_03
+# type: code
+# dir: assets
+# start: 0x8E92D0
+# vram: 0x03000000
+# subsegments:
+# - [0x8E92D0, .data, ast_versus/ast_versus]
+#
+# - name: ast_enmy_planet
+# exclusive_ram_id: segment_04
+# type: code
+# dir: assets
+# start: 0x918430
+# vram: 0x04000000
+# subsegments:
+# - [0x918430, .data, ast_enmy_planet/ast_enmy_planet]
+#
+# - name: ast_enmy_space
+# exclusive_ram_id: segment_04
+# type: code
+# dir: assets
+# start: 0x922730
+# vram: 0x04000000
+# subsegments:
+# - [0x922730, .data, ast_enmy_space/ast_enmy_space]
+#
+# - name: ast_great_fox
+# exclusive_ram_id: segment_0E
+# type: code
+# dir: assets
+# start: 0x92EC40
+# vram: 0x0E000000
+# subsegments:
+# - [0x92EC40, .data, ast_great_fox/ast_great_fox]
+#
+# - name: ast_star_wolf
+# exclusive_ram_id: segment_0F
+# type: code
+# dir: assets
+# start: 0x940AD0
+# vram: 0x0F000000
+# subsegments:
+# - [0x940AD0, .data, ast_star_wolf/ast_star_wolf]
+#
+# - name: ast_allies
+# exclusive_ram_id: segment_0D
+# type: code
+# dir: assets
+# start: 0x955270
+# vram: 0x0D000000
+# subsegments:
+# - [0x955270, .data, ast_allies/ast_allies]
+#
+# - name: ast_corneria
+# exclusive_ram_id: segment_06
+# type: code
+# dir: assets
+# start: 0x961CE0
+# vram: 0x06000000
+# subsegments:
+# - [0x961CE0, .data, ast_corneria/ast_corneria]
+#
+# - name: ast_meteo
+# exclusive_ram_id: segment_06
+# type: code
+# dir: assets
+# start: 0x9A1460
+# vram: 0x06000000
+# subsegments:
+# - [0x9A1460, .data, ast_meteo/ast_meteo]
+#
+# - name: ast_titania
+# exclusive_ram_id: segment_06
+# type: code
+# dir: assets
+# vram: 0x06000000
+# start: 0x9D2FD0
+# subsegments:
+# - [0x9D2FD0, .data, ast_titania/ast_titania]
+#
+# - name: ast_7_ti_2
+# exclusive_ram_id: segment_07
+# type: code
+# dir: assets
+# vram: 0x07000000
+# start: 0x9DD390
+# subsegments:
+# - [0x9DD390, .data, ast_7_ti_2/ast_7_ti_2]
+#
+# - name: ast_8_ti
+# exclusive_ram_id: segment_08
+# type: code
+# dir: assets
+# start: 0x9EB5E0
+# vram: 0x08000000
+# subsegments:
+# - [0x9EB5E0, .data, ast_8_ti/ast_8_ti]
+#
+# - name: ast_9_ti
+# exclusive_ram_id: segment_09
+# type: code
+# dir: assets
+# start: 0x9F4880
+# vram: 0x09000000
+# subsegments:
+# - [0x9F4880, .data, ast_9_ti/ast_9_ti]
+#
+# - name: ast_A_ti
+# type: code
+# dir: assets
+# exclusive_ram_id: segment_0A
+# start: 0xA049A0
+# vram: 0x0A000000
+# subsegments:
+# - [0xA049A0, .data, ast_A_ti/ast_A_ti]
+#
+# - name: ast_7_ti_1
+# exclusive_ram_id: segment_07
+# type: code
+# dir: assets
+# start: 0xA0E340
+# vram: 0x07000000
+# subsegments:
+# - [0xA0E340, .data, ast_7_ti_1/ast_7_ti_1]
+#
+# - name: ast_sector_x
+# exclusive_ram_id: segment_06
+# type: code
+# dir: assets
+# start: 0xA1D0F0
+# vram: 0x06000000
+# subsegments:
+# - [0xA1D0F0, .data, ast_sector_x/ast_sector_x]
+#
+# - name: ast_sector_z
+# exclusive_ram_id: segment_06
+# type: code
+# dir: assets
+# start: 0xA4FBB0
+# vram: 0x06000000
+# subsegments:
+# - [0xA4FBB0, .data, ast_sector_z/ast_sector_z]
+#
+# - name: ast_aquas
+# exclusive_ram_id: segment_06
+# type: code
+# dir: assets
+# start: 0xA58F60
+# vram: 0x06000000
+# subsegments:
+# - [0xA58F60, .data, ast_aquas/ast_aquas]
+#
+# - name: ast_area_6
+# exclusive_ram_id: segment_06
+# type: code
+# dir: assets
+# start: 0xA8B470
+# vram: 0x06000000
+# subsegments:
+# - [0xA8B470, .data, ast_area_6/ast_area_6]
+#
+# - name: ast_venom_1
+# exclusive_ram_id: segment_06
+# type: code
+# dir: assets
+# start: 0xAB4000
+# vram: 0x06000000
+# subsegments:
+# - [0xA4FBB0, .data, ast_venom_1/ast_venom_1]
+#
+# - name: ast_venom_2
+# exclusive_ram_id: segment_06
+# type: code
+# dir: assets
+# start: 0xACF960
+# vram: 0x06000000
+# subsegments:
+# - [0xA4FBB0, .data, ast_venom_2/ast_venom_2]
+#
+# - name: ast_ve1_boss
+# # exclusive_ram_id: segment_06
+# exclusive_ram_id: segment_09
+# type: code
+# dir: assets
+# start: 0xAE60A0
+# vram: 0x09000000
+# subsegments:
+# - [0xAE60A0, .data, ast_ve1_boss/ast_ve1_boss]
+#
+# - name: ast_bolse
+# exclusive_ram_id: segment_06
+# type: code
+# dir: assets
+# start: 0xB0AA00
+# vram: 0x06000000
+# subsegments:
+# - [0xB0AA00, .data, ast_bolse/ast_bolse]
+#
+# - name: ast_fortuna
+# exclusive_ram_id: segment_06
+# type: code
+# dir: assets
+# start: 0xB1CA50
+# vram: 0x06000000
+# subsegments:
+# - [0xB1CA50, .data, ast_fortuna/ast_fortuna]
+#
+# - name: ast_sector_y
+# exclusive_ram_id: segment_06
+# type: code
+# dir: assets
+# start: 0xB2CA50
+# vram: 0x06000000
+# subsegments:
+# - [0xB2CA50, .data, ast_sector_y/ast_sector_y]
+#
+# - name: ast_solar
+# exclusive_ram_id: segment_06
+# type: code
+# dir: assets
+# start: 0xB612E0
+# vram: 0x06000000
+# subsegments:
+# - [0xB612E0, .data, ast_solar/ast_solar]
+#
+# - name: ast_zoness
+# exclusive_ram_id: segment_06
+# type: code
+# dir: assets
+# start: 0xB84560
+# vram: 0x06000000
+# subsegments:
+# - [0xB84560, .data, ast_zoness/ast_zoness]
+#
+# - name: ast_katina
+# exclusive_ram_id: segment_06
+# type: code
+# dir: assets
+# start: 0xBB11D0
+# vram: 0x06000000
+# subsegments:
+# - [0xBB11D0, .data, ast_katina/ast_katina]
+#
+# - name: ast_macbeth
+# exclusive_ram_id: segment_06
+# type: code
+# dir: assets
+# vram: 0x06000000
+# start: 0xBC23D0
+# subsegments:
+# - [0xBC23D0, .data, ast_macbeth/ast_macbeth]
+#
+# - name: ast_warp_zone
+# exclusive_ram_id: segment_07
+# type: code
+# dir: assets
+# start: 0xBFA740
+# vram: 0x07000000
+# subsegments:
+# - [0xBFA740, .data, ast_warp_zone/ast_warp_zone]
+#
+# - name: ast_title
+# exclusive_ram_id: segment_06
+# type: code
+# dir: assets
+# vram: 0x06000000
+# start: 0xBFC510
+# subsegments:
+# - [0xBFC510, .data, ast_title/ast_title]
+#
+# - name: ast_map
+# exclusive_ram_id: segment_06
+# type: code
+# dir: assets
+# start: 0xC48F40
+# vram: 0x06000000
+# subsegments:
+# - [0xC48F40, .data, ast_map/ast_map]
+#
+# - name: ast_option
+# exclusive_ram_id: segment_08
+# type: code
+# dir: assets
+# start: 0xCA9DE0
+# vram: 0x08000000
+# subsegments:
+# - [0xCA9DE0, .data, ast_option/ast_option]
+#
+# - name: ast_vs_menu
+# exclusive_ram_id: segment_07
+# type: code
+# dir: assets
+# start: 0xCBFE70
+# vram: 0x07000000
+# subsegments:
+# - [0xCBFE70, .data, ast_vs_menu/ast_vs_menu]
+#
+# - name: ast_text
+# exclusive_ram_id: segment_05
+# type: code
+# dir: assets
+# vram: 0x05000000
+# start: 0xCD2410
+# subsegments:
+# - [0xCD2410, .data, ast_text/ast_text]
+#
+# - name: ast_font_3d
+# exclusive_ram_id: segment_09
+# type: code
+# dir: assets
+# vram: 0x09000000
+# start: 0xCDDCA0
+# subsegments:
+# - [0xCDDCA0, .data, ast_font_3d/ast_font_3d]
+#
+# - name: ast_andross
+# exclusive_ram_id: segment_0C
+# type: code
+# dir: assets
+# vram: 0x0C000000
+# start: 0xCE9E70
+# subsegments:
+# - [0xCE9E70, .data, ast_andross/ast_andross]
+#
+# - name: ast_logo
+# exclusive_ram_id: segment_0F
+# type: code
+# dir: assets
+# start: 0xD25100
+# vram: 0x0F000000
+# subsegments:
+# - [0xD25100, .data, ast_logo/ast_logo]
+#
+# - name: ast_ending
+# exclusive_ram_id: segment_07
+# type: code
+# dir: assets
+# start: 0xD27600
+# vram: 0x07000000
+# subsegments:
+# - [0xD27600, .data, ast_ending/ast_ending]
+#
+# - name: ast_ending_award_front
+# exclusive_ram_id: segment_08
+# type: code
+# dir: assets
+# start: 0xD43400
+# vram: 0x08000000
+# subsegments:
+# - [0xD43400, .data, ast_ending_award_front/ast_ending_award_front]
+#
+# - name: ast_ending_award_back
+# exclusive_ram_id: segment_08
+# type: code
+# dir: assets
+# start: 0xD68480
+# vram: 0x08000000
+# subsegments:
+# - [0xD68480, .data, ast_ending_award_back/ast_ending_award_back]
+#
+# - name: ast_ending_expert
+# exclusive_ram_id: segment_08
+# type: code
+# dir: assets
+# start: 0xD91F10
+# vram: 0x08000000
+# subsegments:
+# - [0xD91F10, .data, ast_ending_expert/ast_ending_expert]
+#
+# - name: ast_training
+# exclusive_ram_id: segment_06
+# type: code
+# dir: assets
+# start: 0xDDC010
+# vram: 0x06000000
+# subsegments:
+# - [0xDDC010, .data, ast_training/ast_training]
+#
+# - name: ast_radio
+# type: code
+# dir: assets
+# start: 0xDE5D50
+# vram: 0x80179010
+# follows_vram: dma_table
+# subsegments:
+# - [0xDE5D50, .data, ast_radio/ast_radio]
diff --git a/yamls/us/rev0/header.yaml b/yamls/us/rev0/header.yaml
new file mode 100644
index 00000000..a616da0a
--- /dev/null
+++ b/yamls/us/rev0/header.yaml
@@ -0,0 +1,77 @@
+name: Starfox64 US REV 0 (v1.0)
+sha1: 63b69f0ef36306257481afc250f9bc304c7162b2
+options:
+ basename: starfox64
+ target_path: baserom.us.rev0.uncompressed.z64
+ elf_path: build/starfox64.us.rev0.elf
+ ld_script_path: linker_scripts/us/rev0/starfox64.ld
+ base_path: .
+ compiler: IDO
+ find_file_boundaries: True
+ header_encoding: ASCII
+ platform: n64
+ undefined_funcs_auto_path: linker_scripts/us/rev0/auto/undefined_funcs_auto.ld
+ undefined_syms_auto_path: linker_scripts/us/rev0/auto/undefined_syms_auto.ld
+
+ symbol_addrs_path:
+ - linker_scripts/us/rev0/symbol_addrs.txt
+ - linker_scripts/us/rev0/symbol_addrs_engine.txt
+ - linker_scripts/us/rev0/symbol_addrs_libultra.txt
+ - linker_scripts/us/rev0/symbol_addrs_nlib_funcs.txt
+ - linker_scripts/us/rev0/symbol_addrs_nlib_vars.txt
+ - linker_scripts/us/rev0/symbol_addrs_assets.txt
+ - linker_scripts/us/rev0/symbol_addrs_mesg.txt
+ - linker_scripts/us/rev0/symbol_addrs_audio.txt
+ - linker_scripts/us/rev0/symbol_addrs_overlays.txt
+ - linker_scripts/us/rev0/symbol_addrs_EBFBE0.txt
+ - linker_scripts/us/rev0/ignored_addresses.txt
+
+ asm_path: asm/us/rev0
+ src_path: srcusrev0
+ asset_path: bin/us/rev0
+
+ build_path: build
+
+ extensions_path: tools/splat_ext
+ mips_abi_float_regs: o32
+ create_asm_dependencies: True
+ do_c_func_detection: True
+ o_as_suffix: True
+ gfx_ucode: f3dex
+ mnemonic_ljust: 12
+ rom_address_padding: True
+ dump_symbols: True
+ include_macro_inc: False
+ libultra_symbols: True
+ hardware_regs: True
+
+ ld_dependencies: True
+
+
+ use_legacy_include_asm: False
+
+ asm_function_macro: glabel
+ asm_jtbl_label_macro: jlabel
+ asm_data_macro: dlabel
+
+ ld_legacy_generation: True
+ check_consecutive_segment_types: False
+
+ # section_order: [".text", ".data", ".rodata", ".bss", "bin"]
+ # auto_all_sections: [".data", ".rodata", ".bss"]
+
+ asm_emit_size_directive: True # REC
+
+
+ mips_abi_float_regs: o32
+
+
+ disasm_unknown: True
+ # string_encoding: ASCII
+ # data_string_encoding: ASCII
+ rodata_string_guesser_level: 2
+ data_string_guesser_level: 2
+ # libultra_symbols: True
+ # hardware_regs: True
+ # gfx_ucode: # one of [f3d, f3db, f3dex, f3dexb, f3dex2]
+segments:
diff --git a/yamls/us/rev0/main.yaml b/yamls/us/rev0/main.yaml
new file mode 100644
index 00000000..653bb608
--- /dev/null
+++ b/yamls/us/rev0/main.yaml
@@ -0,0 +1,168 @@
+ - name: makerom
+ type: code
+ start: 0x0
+ subsegments:
+ - {start: 0x0, type: header, name: header}
+ - {start: 0x40, type: textbin, name: ipl3}
+ - {start: 0x1000, type: asm, vram: 0x80000400, name: entry}
+
+ - name: main
+ type: code
+ start: 0x1050
+ vram: 0x80000450
+ bss_size: 0x9B1F0
+ subsegments:
+ # Microcode
+ - [0x01050, textbin, rspboot]
+ - [0x01120, textbin, aspmain] # vram: 0x04001080
+ - [0x02010, textbin, f3dex]
+
+ # Nintendo libraries
+ - [0x03440, asm]
+ - [0x3A80, asm]
+ - [0x41D0, asm]
+ - [0x4650, asm]
+ - [0x5A20, asm]
+ - [0x7B20, asm]
+ - [0x7D30, asm]
+ - [0x7FC0, asm]
+ - [0x8CC0, asm]
+ - [0xC870, asm]
+ - [0xF0A0, asm]
+ - [0x12490, asm]
+ - [0x14AA0, asm]
+ - [0x17650, asm]
+ - [0x1EB50, asm]
+ - [0x1FA60, asm]
+ - [0x1FA70, asm]
+ - [0x1FB10, asm]
+ - [0x205E0, asm]
+ - [0x206B0, asm]
+ - [0x20A60, asm]
+ - [0x20F80, asm]
+ - [0x211E0, asm]
+ - [0x21320, asm]
+ - [0x21470, asm]
+ - [0x21520, asm]
+ - [0x21B40, asm]
+ - [0x21DD0, asm]
+ - [0x222C0, asm]
+ - [0x22340, asm]
+ - [0x223F0, asm]
+ - [0x22500, asm]
+ - [0x225A0, asm]
+ - [0x226C0, asm]
+ - [0x22730, asm]
+ - [0x228F0, asm]
+ - [0x22920, asm]
+ - [0x22990, asm]
+ - [0x22A00, asm]
+ - [0x22D90, asm]
+ - [0x22DA0, asm]
+ - [0x22EF0, asm]
+ - [0x233A0, asm]
+ - [0x23530, asm]
+ - [0x238A0, asm]
+ - [0x23930, asm]
+ - [0x23C60, asm]
+ - [0x23C70, asm]
+ - [0x23D50, asm]
+ - [0x24050, asm]
+ - [0x24860, asm]
+ - [0x24900, asm]
+ - [0x255C0, asm]
+ - [0x255F0, asm]
+ - [0x25600, asm]
+ - [0x25850, asm]
+ - [0x25930, asm]
+ - [0x25940, asm]
+ - [0x259F0, asm]
+ - [0x25A00, asm]
+ - [0x25AB0, asm]
+ - [0x25BB0, asm]
+ - [0x26870, asm]
+ - [0x27100, asm]
+ - [0x27370, asm]
+ - [0x274F0, asm]
+ - [0x27630, asm]
+ - [0x27640, asm]
+ - [0x27650, asm]
+ - [0x279E0, asm]
+ - [0x27A60, asm]
+ - [0x27AA0, asm]
+ - [0x27B30, asm]
+ - [0x27B60, asm]
+ - [0x27F80, asm]
+ - [0x27F90, asm]
+ - [0x282F0, asm]
+ - [0x283F0, asm]
+ - [0x287C0, asm]
+ - [0x28C70, asm]
+ - [0x28D20, asm]
+ - [0x28D80, asm]
+ - [0x28DE0, asm]
+ - [0x28E80, asm]
+ - [0x29120, asm]
+ - [0x29BE0, asm]
+ - [0x29C40, asm]
+ - [0x2A4C0, asm]
+ - [0x2A660, asm]
+ - [0x2A770, asm]
+ - [0x2A830, asm]
+ - [0x2A840, asm]
+ - [0x2A8A0, asm]
+ - [0x2A8F0, asm]
+ - [0x2A990, asm]
+ - [0x2A9E0, asm]
+ - [0x2AB70, asm]
+ - [0x324C0, asm]
+ - [0x3F650, asm]
+ - [0x3FA10, asm]
+ - [0x45250, asm]
+ - [0x4E2C0, asm]
+ - [0x55310, asm]
+ - [0x55E50, asm]
+ - [0x66F40, asm]
+ - [0x739D0, asm]
+ - [0x80B00, asm]
+ - [0x810C0, asm]
+ - [0x93B10, asm]
+ - [0x96110, asm]
+ - [0x9E040, asm]
+ - [0xA0430, asm]
+ - [0xA06E0, asm]
+ - [0xB5550, asm]
+ - [0xB6EE0, asm]
+ - [0xB8EE0, asm]
+ - [0xBEFB0, asm]
+ - [0xBFA60, data]
+
+ # dma_table
+ - [0xD9A90, data, dma_table]
+
+ # - [0xDA030, bin] # assets (ast_audioseq)
+
+
+ # last overlay data
+ # - [0xDE1360, bin, ast_radio]
+
+ # overlay vram: 0x80187520
+
+ # - [0xDEF870, asm, ovl_i1]
+ # - [0xE039D0, asm, ovl_i2]
+ # - [0xE12220, asm, ovl_i3]
+ # - [0xE4CF40, asm, ovl_i4]
+ # - [0xE65DE0, asm, ovl_i5]
+ # - [0xE9A7A0, asm, ovl_i6]
+ # - [0xEBB1B0, asm, ovl_menu]
+ # - [0xEEB830, asm, fox_ending]
+ # - [0xEFB010, asm, fox_unused]
+
+# - name: dma_table
+# type: code
+# start: 0xD9A90
+# vram: 0x80178A70
+# follows_vram: main
+# subsegments:
+# - [0xD9A90, data, dmatable]
+
diff --git a/yamls/us/rev0/overlays.yaml b/yamls/us/rev0/overlays.yaml
new file mode 100644
index 00000000..8e60e0ac
--- /dev/null
+++ b/yamls/us/rev0/overlays.yaml
@@ -0,0 +1,139 @@
+ - name: ovl_i1
+ exclusive_ram_id: overlay
+ type: code
+ dir: overlays/ovl_i1
+ start: 0xDEF870
+ vram: 0x80187520
+ follows_vram: main
+ # bss_size: 0xA10
+ symbol_name_format: i1_$VRAM
+ subsegments:
+ - [0xDEF870, asm, fox_i1]
+ - [0xDEF880, asm, fox_co]
+ - [0xDFA440, asm, fox_ve1]
+ - [0xE00BF0, asm, fox_tr]
+ - [0xE00F60, asm, fox_tr360]
+
+ - name: ovl_i2
+ exclusive_ram_id: overlay
+ type: code
+ dir: overlays/ovl_i2
+ start: 0xE039D0
+ vram: 0x80187520
+ follows_vram: main
+ # bss_size: 0x40
+ symbol_name_format: i2_$VRAM
+ subsegments:
+ - [0xE039D0, asm, fox_i2]
+ - [0xE039E0, asm, fox_me]
+ - [0xE118E0, asm, fox_sx]
+
+ - name: ovl_i3
+ exclusive_ram_id: overlay
+ type: code
+ dir: overlays/ovl_i3
+ start: 0xE12220
+ vram: 0x80187520
+ follows_vram: main
+ # bss_size: 0x2220
+ symbol_name_format: i3_$VRAM
+ subsegments:
+ - [0xE12220, asm, fox_i3]
+ - [0xE1AC50, asm, fox_a6]
+ - [0xE294F0, asm, fox_zo]
+ - [0xE33B30, asm, fox_so]
+ - [0xE499B0, asm, fox_aq]
+
+ - name: ovl_i4
+ exclusive_ram_id: overlay
+ type: code
+ dir: overlays/ovl_i4
+ start: 0xE4CF40
+ vram: 0x80187520
+ follows_vram: main
+ # bss_size: 0x1B0
+ symbol_name_format: i4_$VRAM
+ subsegments:
+ - [0xE4CF40, asm, fox_i4]
+ - [0xE4D010, asm, fox_fo]
+ - [0xE51780, asm, fox_bo]
+ - [0xE58200, asm, fox_ka]
+ - [0xE5F320, asm, fox_sz]
+ - [0xE64800, data]
+
+ - name: ovl_i5
+ exclusive_ram_id: overlay
+ type: code
+ dir: overlays/ovl_i5
+ start: 0xE65DE0
+ vram: 0x80187520
+ follows_vram: main
+ # bss_size: 0xAF80
+ symbol_name_format: i5_$VRAM
+ subsegments:
+ # should be one more file split here
+ - [0xE65DE0, asm, fox_i5]
+ - [0xE65DF0, asm]
+ - [0xE677F0, asm]
+ - [0xE93290, asm]
+ - [0xE95B60, asm]
+
+ - name: ovl_i6
+ exclusive_ram_id: overlay
+ type: code
+ dir: overlays/ovl_i6
+ start: 0xE9A7A0
+ vram: 0x80187520
+ follows_vram: main
+ # bss_size: 0x520
+ symbol_name_format: i6_$VRAM
+ subsegments:
+ - [0xE9A7A0, asm, fox_i6]
+ - [0xEA9490, asm, fox_andross]
+ - [0xEAADB0, asm, fox_ve2]
+ - [0xEB87E0, asm, fox_sy]
+ - [0xEB99E0, asm, fox_turret]
+
+ - name: ovl_menu
+ exclusive_ram_id: overlay
+ type: code
+ dir: overlays/ovl_menu
+ start: 0xEBB1B0
+ vram: 0x80187520
+ follows_vram: main
+ # bss_size: 0x17590
+ symbol_name_format: menu_$VRAM
+ subsegments:
+ - [0xEBB1B0, asm, fox_i_menu]
+ - [0xEBB270, asm, fox_title]
+ - [0xEC57B0, asm, fox_option]
+ - [0xEE1690, asm, fox_map]
+
+ - name: ovl_ending
+ exclusive_ram_id: overlay
+ type: code
+ dir: overlays/ovl_ending
+ start: 0xEEB830
+ vram: 0x80187520
+ follows_vram: main
+ # bss_size: 0x2710
+ symbol_name_format: ending_$VRAM
+ subsegments:
+ - [0xEEB830, asm, fox_end1]
+ - [0xEF1130, asm, fox_end2]
+ - [0xEF6B30, data]
+
+ - name: ovl_unused
+ exclusive_ram_id: overlay
+ type: code
+ dir: overlays/ovl_unused
+ start: 0xEFB010
+ vram: 0x80187520
+ follows_vram: main
+ # bss_size: 0x10
+ symbol_name_format: unused_$VRAM
+ subsegments:
+ - [0xEFB010, asm, fox_unused]
+ - [0xEFB040, asm]
+
+ - [0xEFB0B0]
diff --git a/yamls/us/rev1/main.yaml b/yamls/us/rev1/main.yaml
index b7895c70..bca97f06 100644
--- a/yamls/us/rev1/main.yaml
+++ b/yamls/us/rev1/main.yaml
@@ -14,7 +14,7 @@
subsegments:
# Microcode
- [0x01050, textbin, rspboot]
- - [0x01120, textbin, aspmain]
+ - [0x01120, textbin, aspmain] # vram: 0x04001080
- [0x02010, textbin, f3dex]
# Nintendo libraries