diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..2a5cc1eb --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +asm +*.ld +*.d +undefined* +*.n64 +*.z64 \ No newline at end of file diff --git a/starfox64.yaml b/starfox64.yaml new file mode 100644 index 00000000..edd2ab53 --- /dev/null +++ b/starfox64.yaml @@ -0,0 +1,84 @@ +name: Starfox64 (North America) +sha1: 09f0d105f476b00efa5303a3ebc42e60a7753b7a +options: + basename: starfox64 + target_path: sf64.z64 + elf_path: build/starfox64.elf + base_path: . + platform: n64 + compiler: ido + + asm_path: asm + src_path: src + build_path: build + # create_asm_dependencies: True + + ld_script_path: starfox64.ld + ld_dependencies: True + + 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"] + + symbol_addrs_path: symbol_addrs.txt + undefined_funcs_auto_path: undefined_funcs_auto.txt + undefined_syms_auto_path: undefined_syms_auto.txt + reloc_addrs_path: reloc_addrs.txt + + extensions_path: tools/splat_ext + + # 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] + - [0xDE480, rodata] + - [0x128D30, rodata] + - [0x318E10, rodata] + - [0x932480, rodata] + - [0x932A80, rodata] + - [0x9556A0, rodata] + - [0x957080, rodata] + # - { start: 0xDE480, type: bss, vram: 0x800DD880 } + + #- type: bin + # start: 0xDE480 + # follows_vram: main + - [0xC00000] diff --git a/symbol_addrs.txt b/symbol_addrs.txt new file mode 100644 index 00000000..e69de29b