sly1/config/sly1.yaml
2024-11-11 21:15:50 -07:00

547 lines
14 KiB
YAML

# Splat config for Sly 1 NTSC-U (PS2)
name: Sly Cooper and the Thievius Raccoonus (USA)
sha1: 57dc305db57932ad3f1122966cdb695d2e62a47a
options:
basename: SCUS_971.98
target_path: disc/SCUS_971.98
elf_path: SCUS_971.98
base_path: ../
platform: ps2
compiler: GCC
# Output paths
asm_path: asm
src_path: src
build_path: obj
rodata_string_guesser_level: 0 # improve string detection
find_file_boundaries: False
disasm_unknown: True
named_regs_for_c_funcs: False
# Auto-generate undefined functions and symbols
create_undefined_funcs_auto: True
undefined_funcs_auto_path: config/undefined_funcs_auto.txt
create_undefined_syms_auto: True
undefined_syms_auto_path: config/undefined_syms_auto.txt
# Manually defined symvols
symbol_addrs_path: config/symbol_addrs.txt
# Splat extensions
extensions_path: tools/splat_ext
# ELF sections
section_order: [".text", ".vutext", ".rodata", ".data", ".bss"]
auto_all_sections: [".rodata", ".data", ".bss"]
# Linker script options
subalign: 4
segments:
- [0, databin, elf_header]
- name: main
type: code
start: 0x001000
vram: 0x100000
bss_size: 0x3B1304
subsegments:
- [0x001000, asm, sce/crt0] # starts with 2 nops
- [0x001178, asm, P2/ps2t/spaprops] # ext should be .ic
#--------------------------------------------------------
# Splice sources
# All .cpp files
#--------------------------------------------------------
- [0x13698, cpp, P2/splice/bif] #MARK: P2/splice
- [0x19d48, cpp, P2/splice/eval]
- [0x1b328, asm, P2/splice/frame]
- [0x1b678, cpp, P2/splice/gc]
- [0x1be78, cpp, P2/splice/method]
- [0x1beb8, cpp, P2/splice/pair]
- [0x1bf98, cpp, P2/splice/proc]
- [0x1c008, cpp, P2/splice/ref]
- [0x1ca28, cpp, P2/splice/serialize]
- [0x1cd28, cpp, P2/splice/sidebag]
- [0x1cf70, cpp, P2/splice/spliceutils]
- [0x1d128, cpp, P2/splice/splotheap]
- [0x1d508, cpp, P2/splice/vecmat]
#--------------------------------------------------------
# P2 sources
# All .c files (but compiled as c++)
#--------------------------------------------------------
- [0x1dbb8, asm, P2/989snd] #MARK: P2
- [0x1f560, asm, P2/brx]
- [0x1fe70, asm, P2/ac]
#- [0x, asm, P2/act]
#- [0x, asm, P2/actseg]
- [0x243c0, asm, P2/alarm]
- [0x24dc0, asm, P2/alo]
#- [0x, asm, P2/aseg]
#- [0x, asm, P2/asega]
#- [0x, asm, P2/barrier]
- [0x30cf0, asm, P2/bas]
- [0x310e8, asm, P2/basic]
- [0x31168, asm, P2/bez]
- [0x31f48, c, P2/binoc]
- [0x38290, c, P2/bis]
- [0x395a0, asm, P2/bbmark]
- [0x39ff0, asm, P2/blend]
- [0x3ab70, asm, P2/blip]
- [0x3c4c0, asm, P2/bomb]
#- [0x, asm, P2/bone]
#- [0x, asm, P2/bq]
- [0x3dcf8, asm, P2/break]
- [0x3efd8, asm, P2/bsp]
#- [0x, asm, P2/button]
#- [0x, asm, P2/cat] (might not be in release)
#- [0x, asm, P2/can]
- [0x417a8, asm, P2/cd]
- [0x41d90, c, P2/chkpnt]
- [0x429e8, asm, P2/clip]
- [0x43ed0, c, P2/clock]
- [0x44148, c, P2/cm]
- [0x47100, asm, P2/cnvo]
- [0x47340, c, P2/coin]
- [0x4a398, asm, P2/cplcy]
- [0x4bbd0, asm, P2/credit]
- [0x4c0c0, asm, P2/crout]
#- [0x, asm, P2/crusher]
- [0x4e0a8, asm, P2/crv]
- [0x4fe40, asm, P2/dart]
#- [0x, asm, P2/dartgun]
#- [0x, asm, P2/dialog]
- [0x529e0, c, P2/difficulty]
- [0x53438, c, P2/dl]
- [0x53810, asm, P2/dmas]
#- [0x, asm, P2/dsp]
#- [0x, asm, P2/dysh]
#- [0x, asm, P2/dzg]
- [0x559c8, asm, P2/emitter]
- [0x5a6e0, asm, P2/eyes]
- [0x5aad0, asm, P2/fader]
- [0x5aca0, asm, P2/unk_f] #? unknown file
- [0x5af20, c, P2/find]
- [0x5b8ac, asm, P2/find_padding] # Needed to align P2/find
- [0x5b8b0, c, P2/flash]
- [0x5bae0, asm, P2/fly]
- [0x5d188, asm, P2/font]
- [0x5f810, c, P2/frm]
- [0x60678, asm, P2/freeze]
- [0x60f88, asm, P2/frzg]
- [0x61070, c, P2/game]
- [0x61e80, asm, P2/geom]
#- [0x, asm, P2/gifs]
#- [0x, asm, P2/glbs]
#- [0x, asm, P2/glob]
#- [0x, asm, P2/gomer]
- [0x69130, asm, P2/gs]
- [0x6ac58, asm, P2/hide]
#- [0x, asm, P2/hnd]
#- [0x, asm, P2/ik]
#- [0x, asm, P2/jack]
#- [0x, asm, P2/jlo]
- [0x6f0b8, c, P2/joy]
- [0x70608, c, P2/jt1]
- [0x74888, asm, P2/jt_UpdateJtActive] # should be in P2/jt but doesn't match when split
- [0x75808, c, P2/jt2]
- [0x79008, asm, P2/jp]
#- [0x, asm, P2/jsg]
- [0x7e248, asm, P2/jump]
#- [0x, asm, P2/keyhole]
#- [0x, asm, P2/landing]
#- [0x, asm, P2/lgn]
- [0x83c18, asm, P2/lo]
- [0x84cc8, asm, P2/light]
- [0x86358, asm, P2/lookat]
- [0x86758, c, P2/main]
- [0x86c18, asm, P2/mark]
- [0x894c0, asm, P2/mat]
- [0x8b388, asm, P2/mecha]
#- [0x, asm, P2/mb]
#- [0x, asm, P2/memcard]
#- [0x, asm, P2/memory]
#- [0x, asm, P2/menu]
#- [0x, asm, P2/missile]
#- [0x, asm, P2/mouthgame]
#- [0x, asm, P2/mpeg]
#- [0x, asm, P2/mrkv]
#- [0x, asm, P2/ms]
#- [0x, asm, P2/murray]
- [0x917e0, asm, P2/path]
- [0x92e70, asm, P2/phasemem]
- [0x92ec0, asm, P2/pipe]
- [0x93068, asm, P2/pnt]
#- [0x, asm, P2/po]
- [0x94210, c, P2/prog]
- [0x94598, asm, P2/prompt]
#- [0x, asm, P2/proxy]
#- [0x, asm, P2/puffer]
#- [0x, asm, P2/pzo]
#- [0x, asm, P2/rail]
- [0x9c038, asm, P2/rat]
- [0x9d440, asm, P2/rchm]
- [0x9e410, asm, P2/render]
- [0x9f040, asm, P2/rip]
#- [0x, asm, P2/rog]
#- [0x, asm, P2/rope]
- [0xa8b20, asm, P2/rumble]
- [0xa8fe8, asm, P2/rwm]
#- [0x, asm, P2/sampler] (might not be in release)
#- [0x, asm, P2/sc]
- [0xaac68, c, P2/screen]
- [0xaf510, asm, P2/sensor]
- [0xb2ac8, asm, P2/shadow]
#- [0x, asm, P2/shape]
- [0xb3988, asm, P2/shd]
- [0xb5920, asm, P2/shdanim]
#- [0x, asm, P2/sky]
#- [0x, asm, P2/slotheap]
- [0xb6f50, asm, P2/sm]
#- [0x, asm, P2/smartguard]
- [0xb8968, asm, P2/so]
- [0xbd760, asm, P2/solve]
- [0xbf068, asm, P2/sort]
- [0xbf1e8, asm, P2/sound]
- [0xc1f30, asm, P2/speaker]
- [0xc2190, asm, P2/splicemap]
- [0xc24c0, asm, P2/spliceobj]
- [0xc3430, asm, P2/sprbuf]
#- [0x, asm, P2/sqtr]
#- [0x, asm, P2/squish]
- [0xc5458, asm, P2/step]
- [0xc6f18, asm, P2/stepact]
- [0xc71e0, asm, P2/stepcane]
- [0xc7f48, asm, P2/stepguard]
- [0xcd410, asm, P2/stephang]
- [0xcefb8, asm, P2/stephide]
- [0xd24f0, asm, P2/steppipe]
- [0xd39c8, c, P2/steppower]
- [0xd41cc, asm, P2/steppower_padding] # Needed to align steprail
- [0xd41d0, asm, P2/steprail] #? unconfirmed name
- [0xd46f0, asm, P2/steprun]
- [0xd5148, asm, P2/stepside]
- [0xd5848, asm, P2/stepzap]
- [0xd8120, asm, P2/stream]
#- [0x, asm, P2/suv]
- [0xdc480, asm, P2/sw]
#- [0x, asm, P2/tail]
#- [0x, asm, P2/tank]
#- [0x, asm, P2/target]
- [0xe18f8, asm, P2/text]
- [0xe3268, c, P2/thread]
- [0xe3420, asm, P2/tn]
- [0xe5e38, c, P2/transition]
- [0xe6378, asm, P2/turret]
- [0xe6e70, asm, P2/tv]
- [0xe98d0, asm, P2/ub]
- [0xea088, c, P2/ui]
- [0xeac78, asm, P2/update]
- [0xeb408, c, P2/util]
- [0xec518, asm, P2/uv_unk] #? unknown file
- [0xee650, c, P2/vec]
- [0xef318, asm, P2/vifs]
- [0xef900, asm, P2/vis]
- [0xefc60, asm, P2/water]
- [0xf0838, asm, P2/waypoint]
- [0xf0ce8, asm, P2/wipe]
- [0xf1758, asm, P2/wm] # not confident
- [0xf49f8, c, P2/xform1]
- [0xf4c38, asm, P2/xform_PwarpFromOid]
- [0xf4d80, c, P2/xform2]
- [0xf5f20, asm, P2/zap]
## Source files in May proto that aren't in release:
# P2/cycle.c - some kind of wheeled vehicle
# P2/hg.c - hang glider
# P2/stepski.c - skiing
# P2/map2d.c - unknown
# P2/vife.c - vif encoder
# P2/wibu_ee.c - wibukey encryption
#--------------------------------------------------------
# Libs
#--------------------------------------------------------
- [0xF69C4, asm, sce/libs] # #MARK: libs
#- [0xF76F8, asm, sce/rand]
#- [0xF7738, asm]
#--------------------------------------------------------
# Vutext
#--------------------------------------------------------
- [0x112E10, textbin, vutext] #MARK: vutext
#--------------------------------------------------------
# Rodata
#--------------------------------------------------------
- [0x118380, rodata] #MARK: rodata
- [0x1225a0, rodata, P2/cm]
- [0x141000, rodata] # todo
- [0x149FE0, .rodata, P2/splice/bif]
- [0x14A200, rodata] #todo: remove line and uncomment next for RefEvalAssert
# - [0x14A200, .rodata, P2/splice/eval]
- [0x14A2F0, .rodata, P2/splice/ref]
- [0x14A3A0, .rodata, P2/splice/serialize]
- [0x14A428, rodata]
#--------------------------------------------------------
# Data
#--------------------------------------------------------
- [0x151580, data] #MARK: data
#- [0x, data, P2/brx]
#- [0x, data, P2/ac]
#- [0x, data, P2/act]
#- [0x, data, P2/actseg]
#- [0x, data, P2/alarm]
#- [0x, data, P2/alo]
#- [0x, data, P2/aseg]
#- [0x, data, P2/asega]
#- [0x, data, P2/barrier]
#- [0x, data, P2/bas]
#- [0x, data, P2/basic]
#- [0x, data, P2/bez]
#- [0x, data, P2/binoc]
#- [0x, data, P2/bis]
#- [0x, data, P2/bbmark]
#- [0x, data, P2/blend]
#- [0x, data, P2/blip]
#- [0x, data, P2/bomb]
#- [0x, data, P2/bone]
#- [0x, data, P2/bq]
#- [0x, data, P2/break]
#- [0x, data, P2/bsp]
#- [0x, data, P2/button]
#- [0x, data, P2/cat] (might not be in release)
#- [0x, data, P2/can]
- [0x1623ec, data, P2/cd]
- [0x162420, data, P2/chkpnt]
- [0x162850, .data, P2/clock]
- [0x162880, data, P2/cm]
- [0x1629a0, data, P2/coin]
- [0x162bf0, data, P2/cplcy]
#- [0x, data, P2/credit]
#- [0x, data, P2/crout]
#- [0x, data, P2/crusher]
#- [0x, data, P2/crv]
#- [0x, data, P2/dart]
#- [0x, data, P2/dartgun]
#- [0x, data, P2/dialog]
- [0x162d70, data, P2/difficulty]
- [0x162f14, data]
#- [0x162f14, data, P2/dl]
#- [0x, data, P2/dmas]
#- [0x, data, P2/dsp]
#- [0x, data, P2/dysh]
#- [0x, data, P2/dzg]
#- [0x, data, P2/emitter]
#- [0x, data, P2/eyes]
#- [0x, data, P2/fader]
#- [0x, data] #? unknown file
#- [0x, data, P2/find]
#- [0x, data, P2/flash]
#- [0x, data, P2/fly]
#- [0x, data, P2/font]
#- [0x, data, P2/frm]
#- [0x, data, P2/freeze]
#- [0x, data, P2/frzg]
- [0x1633c0, data, P2/game]
- [0x1633d8, data]
#- [0x, data, P2/geom]
#- [0x, data, P2/gifs]
#- [0x, data, P2/glbs]
#- [0x, data, P2/glob]
#- [0x, data, P2/gomer]
#- [0x, data, P2/gs]
#- [0x, data, P2/hide]
#- [0x, data, P2/hnd]
#- [0x, data, P2/ik]
#- [0x, data, P2/jack]
#- [0x, data, P2/jlo]
- [0x163A30, data, P2/joy]
- [0x163e10, data] # TODO fix jt splits
#- [0x163e10, data, P2/jt]
#- [0x163e41, data] # TBD
#- [0x, data, P2/jp]
#- [0x, data, P2/jsg]
#- [0x, data, P2/jump]
#- [0x, data, P2/keyhole]
#- [0x, data, P2/landing]
#- [0x, data, P2/lgn]
#- [0x, data, P2/lo]
#- [0x, data, P2/light]
#- [0x, data, P2/lookat]
#- [0x, data, P2/main]
#- [0x, data, P2/mark]
#- [0x, data, P2/mat]
#- [0x, data, P2/mecha]
#- [0x, data, P2/mb]
#- [0x, data, P2/memcard]
#- [0x, data, P2/memory]
#- [0x, data, P2/menu]
#- [0x, data, P2/missile]
#- [0x, data, P2/mouthgame]
#- [0x, data, P2/mpeg]
#- [0x, data, P2/mrkv]
#- [0x, data, P2/ms]
#- [0x, data, P2/murray]
#- [0x, data, P2/path]
- [0x16aba4, data, P2/phasemem]
- [0x16aba8, data, P2/pipe]
- [0x16abac, data]
#- [0x, data, P2/pnt]
#- [0x, data, P2/po]
#- [0x, data, P2/prog]
#- [0x, data, P2/prompt]
#- [0x, data, P2/proxy]
#- [0x, data, P2/puffer]
#- [0x, data, P2/pzo]
#- [0x, data, P2/rail]
#- [0x, data, P2/rat]
#- [0x, data, P2/rchm]
#- [0x, data, P2/render]
#- [0x, data, P2/rip]
#- [0x, data, P2/rog]
#- [0x, data, P2/rope]
#- [0x, data, P2/rumble]
#- [0x, data, P2/rwm]
#- [0x, data, P2/sampler] (might not be in release)
#- [0x, data, P2/sc]
#- [0x, data, P2/screen]
#- [0x, data, P2/sensor]
#- [0x, data, P2/shadow]
#- [0x, data, P2/shape]
#- [0x, data, P2/shd]
#- [0x, data, P2/shdanim]
#- [0x, data, P2/sky]
#- [0x, data, P2/slotheap]
#- [0x, data, P2/sm]
#- [0x, data, P2/smartguard]
#- [0x, data, P2/so]
#- [0x, data, P2/solve]
#- [0x, data, P2/sort]
#- [0x, data, P2/sound]
#- [0x, data, P2/speaker]
#- [0x, data, P2/splicemap]
#- [0x, data, P2/spliceobj]
#- [0x, data, P2/sprbuf]
#- [0x, data, P2/sqtr]
#- [0x, data, P2/squish]
#- [0x, data, P2/step]
#- [0x, data, P2/stepact]
#- [0x, data, P2/stepcane]
#- [0x, data, P2/stepguard]
#- [0x, data, P2/stephang]
#- [0x, data, P2/stephide]
#- [0x, data, P2/steppipe]
#- [0x, data, P2/steppower]
#- [0x175f90, data, P2/steprail]
#- [0x, data, P2/steprun]
#- [0x, data, P2/stepside]
#- [0x, data, P2/stepzap]
#- [0x, data, P2/stream]
#- [0x, data, P2/suv]
- [0x176710, data, P2/sw]
- [0x176714, data]
#- [0x, data, P2/tail]
#- [0x, data, P2/tank]
#- [0x, data, P2/target]
#- [0x, data, P2/text]
#- [0x, data, P2/thread]
#- [0x, data, P2/tn]
#- [0x, data, P2/transition]
#- [0x, data, P2/turret]
#- [0x, data, P2/tv]
#- [0x, data, P2/ub]
#- [0x, data, P2/ui]
#- [0x, data, P2/update]
#- [0x, data, P2/util]
#- [0x, data, P2/uv_unk] #? unknown file
#- [0x, data, P2/vec]
#- [0x, data, P2/vifs]
#- [0x, data, P2/vis]
#- [0x, data, P2/water]
#- [0x, data, P2/waypoint]
- [0x176f80, data, P2/wipe]
- [0x176fc0, data]
#- [0x, data, P2/wm]
#- [0x, data, P2/xform]
#- [0x, data, P2/zap]
- [0x191D00, databin]
## Files with seemingly no data;
# - P2/clip
# - P2/cnvo
- [0x1A1C70, databin]
- [0x1A20D0]