diff --git a/Makefile b/Makefile index bd60c720..efae78a6 100644 --- a/Makefile +++ b/Makefile @@ -206,7 +206,7 @@ endif extract: $(RM) -r asm/$(VERSION) bin/$(VERSION) - $(CAT) yamls/$(VERSION)/starfox64.us.yaml > $(SPLAT_YAML) + $(CAT) yamls/$(VERSION)/header.yaml yamls/$(VERSION)/makerom.yaml yamls/$(VERSION)/main.yaml > $(SPLAT_YAML) $(SPLAT) $(SPLAT_YAML) clean: diff --git a/yamls/us/header.yaml b/yamls/us/header.yaml new file mode 100644 index 00000000..fe72416b --- /dev/null +++ b/yamls/us/header.yaml @@ -0,0 +1,69 @@ +name: Starfox64 (North America) +sha1: 09f0d105f476b00efa5303a3ebc42e60a7753b7a +options: + basename: starfox64 + target_path: baserom.us.z64 + elf_path: build/starfox64.elf + ld_script_path: linker_scripts/us/starfox64.ld + base_path: . + compiler: IDO + find_file_boundaries: True + header_encoding: ASCII + platform: n64 + undefined_funcs_auto_path: linker_scripts/us/auto/undefined_funcs_auto.ld + undefined_syms_auto_path: linker_scripts/us/auto/undefined_syms_auto.ld + + symbol_addrs_path: + - linker_scripts/us/symbol_addrs.txt + - linker_scripts/us/symbol_addrs_libultra.txt + - linker_scripts/us/ignored_addresses.txt + reloc_addrs_path: + - relocs/reloc_addrs.us.txt + + asm_path: asm/us + src_path: src + asset_path: bin/us + + 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 + + # section_order: [".text", ".data", ".rodata", ".bss"] + # auto_all_sections: [".data", ".rodata", ".bss"] + + + + + + + + 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/main.yaml b/yamls/us/main.yaml new file mode 100644 index 00000000..7ca63c81 --- /dev/null +++ b/yamls/us/main.yaml @@ -0,0 +1,19 @@ +- name: main + type: code + start: 0x1050 + vram: 0x80000450 + follows_vram: entry + bss_size: 0x9B1F0 + subsegments: + - [0x1050, asm] +# - [0x1270, bin] + - [0x3440, asm] #func_80002840 + - [0x35A8, asm] + - [0xC3EE0, data] + - [0xC8E40, rodata] + - { start: 0xDE480, type: bss, vram: 0x800DD880 } + + - type: bin + start: 0xDE480 + follows_vram: main + - [0xC00000] \ No newline at end of file diff --git a/yamls/us/makerom.yaml b/yamls/us/makerom.yaml new file mode 100644 index 00000000..0ecdda95 --- /dev/null +++ b/yamls/us/makerom.yaml @@ -0,0 +1,10 @@ + - name: makerom + type: code + start: 0x000000 + subsegments: + - [0x000000, header, makerom/header] + - [0x000040, bin, makerom/ipl3] + - start: 0x001000 + type: hasm + name: makerom/entry + vram: 0x80000400 \ No newline at end of file