Files
BanjoRecomp/banjo.us.rev0.toml
2025-09-07 00:17:30 -04:00

143 lines
3.9 KiB
TOML

# Config file for Banjo-Kazooie NTSC 1.0 Recompilation.
[input]
entrypoint = 0x80000400
# Paths are relative to the location of this config file.
output_func_path = "RecompiledFuncs"
rom_file_path = "banjo.us.v10.decompressed.z64"
symbols_file_path = "BanjoRecompSyms/bk.us.rev0.syms.toml"
# elf_path = "banjo.us.v10.elf"
# use_mdebug = true
# trace_mode = true
bss_section_suffix = "_bss"
manual_funcs = [
{ name = "boot___osLeoAbnormalResume", section = ".boot_bk_boot", vram = 0x800037E4, size = 0xE8 },
{ name = "boot___osLeoResume", section = ".boot_bk_boot", vram = 0x800038CC, size = 0xEC },
]
mdebug_file_mappings = [
{ filename = "src/TTC/ch/clam.c", input_section = ".text", output_section = ".TTC" },
{ filename = "src/TTC/ch/blubber.c", input_section = ".text", output_section = ".TTC" },
{ filename = "src/TTC/ch/lockup.c", input_section = ".text", output_section = ".TTC" },
{ filename = "src/TTC/ch/treasure.c", input_section = ".text", output_section = ".TTC" },
{ filename = "src/SM/ch/attacktutorial.c", input_section = ".text", output_section = ".SM" },
{ filename = "src/SM/ch/vegetables.c", input_section = ".text", output_section = ".SM" },
]
[patches]
ignored = [
"boot_n_aspMainTextStart",
"boot_gSPF3DEX_fifoTextStart",
"boot_gSPL3DEX_fifoTextStart",
]
renamed = [
"wmemcpy"
]
stubs = [
# Boot segment libultra duplicates
"boot___ll_div",
"boot___ll_lshift",
"boot___ll_mod",
"boot___ll_mul",
"boot___ll_rem",
"boot___ll_rshift",
"boot___ull_div",
"boot___ull_divremi",
"boot___ull_rem",
"boot___ull_rshift",
"boot_osPiRawStartDma",
"boot_osPiGetStatus",
"boot___osSetSR",
"boot___osGetSR",
"boot___osSetFpcCsr",
"boot___osSiRawReadIo",
"boot___osSiRawWriteIo",
"boot___osExceptionPreamble",
"boot___osExceptionPreamble2",
"boot___osException",
"boot_send_mesg",
"boot_handle_CpU",
"boot___osEnqueueAndYield",
"boot___osEnqueueThread",
"boot___osPopThread",
"boot___osDispatchThread",
"boot___osCleanupThread",
"boot_osWritebackDCache",
"boot_osInvalICache",
"boot_osMapTLBRdb",
"boot_osPiRawReadIo",
"boot_osVirtualToPhysical",
"boot___osSiDeviceBusy",
"boot___osDequeueThread",
"boot___osLeoInterrupt",
"boot___osLeoAbnormalResume",
"boot___osLeoResume",
"boot_osSetEventMesg",
"boot_func_80003A30",
"boot_osDestroyThread",
"boot___osProbeTLB",
"boot_osLeoDiskInit",
"boot_osEPiRawStartDma",
"boot___osDisableInt",
"boot___osRestoreInt",
"boot_osCreatePiManager",
"boot_osCartRomInit",
"boot_osCreateMesgQueue",
"boot___osPiCreateAccessQueue",
"boot___osPiGetAccess",
"boot___osPiRelAccess",
"boot_osGetThreadPri",
"boot_osSetThreadPri",
"boot_osCreateThread",
"boot___osDevMgrMain",
"boot_osStartThread",
"boot_osSendMesg",
"boot_osRecvMesg",
"boot___osResetGlobalIntMask",
"boot_osEPiRawWriteIo",
"boot_osEPiRawReadIo",
"boot___osSetGlobalIntMask",
"boot_osYieldThread",
# Unnamed exceptasm functions:
"func_8026A2E0",
"func_8026A824",
# Misspelled functions
"osWriteBackDCacheAll",
]
# Single-instruction patches
[[patches.instruction]]
func = "viewport_setRenderPerspectiveMatrix"
vram = 0x8024C9A8
value = 0x3C0E8000 # lui $t6, 0xA000 -> lui $t6, 0x8000
[[patches.instruction]]
func = "anctrl_setDuration"
vram = 0x8028768C
value = 0x3C0E8000 # lui $t6, 0xA000 -> lui $t6, 0x8000
[[patches.instruction]]
func = "func_802D3DA4"
vram = 0x802D3DAC
value = 0x3C0E8000 # lui $t6, 0xA000 -> lui $t6, 0x8000
[[patches.instruction]]
func = "func_8038F4C0"
vram = 0x8038F4E0
value = 0x3C0E8000 # lui $t6, 0xA000 -> lui $t6, 0x8000
[[patches.instruction]]
func = "func_8038AC04"
vram = 0x8038AC0C
value = 0x3C0E8000 # lui $t6, 0xA000 -> lui $t6, 0x8000
[[patches.instruction]]
func = "func_80388D48"
vram = 0x80388D50
value = 0x3C0E8000 # lui $t6, 0xA000 -> lui $t6, 0x8000