sotn-decomp/config/splat.us.stsel.yaml
Luciano Ciccariello e9bed91931
Extract memory card icons (#166)
Extract the memory card icons out of DRA.BIN and SEL.BIN.


![image](https://user-images.githubusercontent.com/6128729/227794798-4dd071f9-512b-4c72-8f5d-fcbf7a615519.png)

I also took the opportunity to extract `g_MemcardPortMask` into its own
source file `save_mgr_pre.c`. Unfortunately this is required to keep the
original data order. This suggests that most likely the icon palette and
bitmap were baked into the original `save_mgr.c` as byte arrays. I
decided to take a different approach and extracted them as PNGs for
better moddability.

I had to spin-off Splat into a new fork due to some breaking changes on
0.18.0.
2023-12-11 23:12:13 -08:00

98 lines
3.2 KiB
YAML

options:
platform: psx
basename: stsel
base_path: ..
build_path: build/us
target_path: disks/us/ST/SEL/SEL.BIN
asm_path: asm/us/st/sel
asset_path: assets/st/sel
src_path: src/st/sel
ld_script_path: build/us/stsel.ld
compiler: GCC
symbol_addrs_path: config/generated.symbols.us.stsel.txt
undefined_funcs_auto_path: config/undefined_funcs_auto.us.stsel.txt
undefined_syms_auto_path: config/undefined_syms_auto.us.stsel.txt
find_file_boundaries: yes
use_legacy_include_asm: no
migrate_rodata_to_functions: no
asm_jtbl_label_macro: jlabel
extensions_path: tools/splat_ext
section_order:
- ".data"
- ".rodata"
- ".text"
- ".bss"
segments:
- name: stsel
type: code
start: 0x00000000
vram: 0x80180000
subalign: 4
subsegments:
- [0x0, .data, 2C048]
- [0x3A8, data]
- [0x8DC, .data, save_mgr_pre]
- [0x8E4, palette, memcard_0]
- [0x904, palette, memcard_1]
- [0x924, palette, memcard_2]
- [0x944, palette, memcard_3]
- [0x964, palette, memcard_4]
- [0x984, palette, memcard_5]
- [0x9A4, palette, memcard_6]
- [0x9C4, palette, memcard_7]
- [0x9E4, palette, memcard_8]
- [0xA04, palette, memcard_9]
- [0xA24, palette, memcard_10]
- [0xA44, palette, memcard_11]
- [0xA64, palette, memcard_12]
- [0xA84, palette, memcard_13]
- [0xAA4, palette, memcard_14]
- [0xAC4, palette, memcard_15]
- [0xAE4, ci4, memcard_0, 16, 48]
- [0xC64, ci4, memcard_1, 16, 48]
- [0xDE4, ci4, memcard_2, 16, 48]
- [0xF64, ci4, memcard_3, 16, 48]
- [0x10E4, ci4, memcard_4, 16, 48]
- [0x1264, ci4, memcard_5, 16, 48]
- [0x13E4, ci4, memcard_6, 16, 48]
- [0x1564, ci4, memcard_7, 16, 48]
- [0x16E4, ci4, memcard_8, 16, 48]
- [0x1864, ci4, memcard_9, 16, 48]
- [0x19E4, ci4, memcard_10, 16, 48]
- [0x1B64, ci4, memcard_11, 16, 48]
- [0x1CE4, ci4, memcard_12, 16, 48]
- [0x1E64, ci4, memcard_13, 16, 48]
- [0x1FE4, ci4, memcard_14, 16, 48]
- [0x2164, ci4, memcard_15, 16, 48]
- [0x22E4, .data, save_mgr]
- [0x2584, data]
- [0xD5D4, .data, D5D4]
- [0xDBD4, data]
- [0x176C0, rodata]
- [0x27438, .rodata, 2C048]
- [0x275A0, rodata]
- [0x276C0, .rodata, 2D260]
- [0x276F0, rodata]
- [0x277C8, .rodata, 2EED8] # Update function
- [0x27AE4, rodata] # func_801B2E5C, func_801B3164, func_801B3A94
- [0x27B14, rodata] # func_801B3164, func_801B3A94
- [0x27B4C, rodata] # func_801B3A94, TestCollision
- [0x27B98, .rodata, 3410C] # TestCollision
- [0x27BD8, .rodata, 3410C] # func_801B55C8
- [0x27BF8, .rodata, 3585C]
- [0x27CD4, rodata] # func_801B675C
- [0x27CF4, rodata] # func_801B69F8
- [0x27D78, .rodata, save_mgr]
- [0x28040, rodata]
- [0x2BF9C, .rodata, stream]
- [0x2C048, c, 2C048]
- [0x2D260, c, 2D260]
- [0x2EED8, c, 2EED8]
- [0x3410C, c, 3410C]
- [0x3585C, c, 3585C]
- [0x3642C, c, 3642C]
- [0x380F0, c, save_mgr]
- [0x39744, c, stream]
- [0x3AEE4, sbss]
- [0x56B28]