diff --git a/Makefile b/Makefile index 3b54d700..8955d6dd 100644 --- a/Makefile +++ b/Makefile @@ -200,13 +200,14 @@ endif #### Main Targets ### extract: -# $(RM) -r asm/$(VERSION) bin/$(VERSION) -# $(CAT) yamls/$(VERSION)/header.yaml yamls/$(VERSION)/makerom.yaml yamls/$(VERSION)/main.yaml > $(SPLAT_YAML) - $(SPLAT) yamls/$(SPLAT_YAML) + $(RM) -r asm/$(VERSION) bin/$(VERSION) + $(CAT) yamls/$(VERSION)/starfox64.us.yaml > $(SPLAT_YAML) + $(SPLAT) $(SPLAT_YAML) clean: @git clean -fdx asm/ @git clean -fdx assets/ + @git clean -fdx bin/ @git clean -fdx build/ diff --git a/yamls/starfox64.us.yaml b/starfox64.us.yaml old mode 100755 new mode 100644 similarity index 86% rename from yamls/starfox64.us.yaml rename to starfox64.us.yaml index 2e6a5389..7bac6053 --- a/yamls/starfox64.us.yaml +++ b/starfox64.us.yaml @@ -4,32 +4,12 @@ options: basename: starfox64 target_path: baserom.us.z64 elf_path: build/starfox64.elf - base_path: .. - platform: n64 - compiler: ido - - asm_path: asm/us - src_path: src - build_path: build - # create_asm_dependencies: True - ld_script_path: linker_scripts/us/starfox64.ld - ld_dependencies: True - + base_path: . + compiler: IDO find_file_boundaries: True header_encoding: ASCII - - o_as_suffix: True - use_legacy_include_asm: False - mips_abi_float_regs: o32 - - 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"] - + 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 @@ -40,7 +20,42 @@ options: 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 diff --git a/yamls/us/starfox64.us.yaml b/yamls/us/starfox64.us.yaml new file mode 100755 index 00000000..7bac6053 --- /dev/null +++ b/yamls/us/starfox64.us.yaml @@ -0,0 +1,101 @@ +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: + - name: header + type: header + start: 0x0 + + - name: boot + type: bin + start: 0x40 + + - name: entry + type: code + start: 0x1000 + vram: 0x80000400 + subsegments: + - [0x1000, hasm] + + - name: main + type: code + start: 0x1050 + vram: 0x80000450 + follows_vram: entry + bss_size: 0x9B1F0 + subsegments: + - [0x1050, asm] + - [0x1270, asm] + - [0x3440, asm] #func_80002840 + - [0x35A8, c] + - [0xC3EE0, data] + - { start: 0xDE480, type: bss, vram: 0x800DD880 } + + - type: bin + start: 0xDE480 + follows_vram: main + - [0xC00000]