pokestadium/splat.yaml
2023-07-25 22:15:22 -05:00

392 lines
14 KiB
YAML

name: Pokemon Stadium (North America)
basename: pokestadium
options:
find-file-boundaries: True
compiler: IDO
symbol_addrs_path: tools/symbol_addrs.txt
target_path: baserom.z64
basename: pokestadium
base_path: .
ld_script_path: pokestadium.ld
segments:
- name: header
type: header
start: 0x00
vram: 0
subsegments:
- [0x0000, header, header]
- name: boot
type: code
start: 0x0040
vram: 0xA4000040
subsegments:
- [0x0040, asm, boot]
- [0x0B70, bin, bootcode_font]
- name: text
type: code
bss_size: 0x85E30
start: 0x1000
vram: 0x80000400
subsegments:
- [0x1000, hasm, entry] # bootloader
- [0x1060, c, main] # rsp graphics
- [0x11B0, bin, noppad_11B0] # There's an extra nop align here, but cant reproduce it with just splat functionality alone. need a . += 0x10 in the linker script at this spot.
- [0x11C0, c, rsp] # rsp audio
- [0x1A80, c, dma] # DMA transfer
- [0x1F70, bin, noppad_1F70] # Extra nop align like earlier. Weird
- [0x1F80, c, dp_intro] # dp intro code
- [0x28E0, c, memmap]
- [0x2EC0, c, intro_loader] # intro loader
- [0x3640, asm] #
- [0x3A80, asm] # transition loader
- [0x3FB0, asm] # PRES-JPEG decoder
- [0x5580, asm] # there's a split here according to PAL
- [0x60A0, asm] #
- [0x6430, c, controller] # controller code
- [0x6A40, asm] #
- [0x6BC0, asm] #
- [0x75F0, asm] # stage loader
- [0x8EC0, c, crash_screen] # crash handler
- [0x9D20, asm] #
- [0xAF00, asm] # camera code
- [0xB130, c, hal_libc]
- [0xB230, c, gb_tower]
- [0xC030, asm] # extra sprites loader
- [0xC3D0, asm, exception_set] # exception functions
- [0xC3F0, asm] # yay0 decoder
- [0xC4B0, bin, libleo_bootdisk] # These are libleo's bootdisk and bootstrap files, but
- [0xC910, bin, libleo_bootstrap] # have issues being disassembled, so are bins for now.
- [0xC970, asm]
- [0xCE80, asm] #
- [0xD470, asm] #
- [0xDDC0, asm] #
- [0xE1C0, asm] #
- [0xE570, asm] #
- [0xE890, asm] #
- [0x11BA0, asm] #
- [0x12D80, asm] #
- [0x17300, asm] #
- [0x18140, asm] # dp model animations
- [0x18480, asm] # dp model animations
- [0x19840, asm] # alternative pkm textures
- [0x1AB70, asm] # vs screen code
- [0x1C720, asm] #
- [0x1CF30, asm] # dp list code
- [0x20330, asm] # some cache cleaner
- [0x20470, asm] # dp list for UI and icons
- [0x225A0, asm] #
- [0x22630, asm] # registered pkm stats
- [0x26820, asm] # save data code
- [0x29BA0, asm] # scenary code
- [0x2C1C0, asm] # scenary cache cleaner
- [0x2D340, asm] # pkm lab pc code
- [0x2E110, asm] # stack cleaner
- [0x2E460, asm] # pkm lab pokedex code
- [0x2FEA0, asm] # minigames code
- [0x30640, asm] # gallery code
- [0x32D10, asm]
- [0x334D0, asm]
- [0x33E30, asm]
- [0x33FE0, asm]
- [0x37370, asm]
- [0x373A0, asm] # battle code
- [0x38BB0, asm] #
- [0x3D140, asm] # music code
- [0x43520, c] #
- [0x435B0, c] #
- [0x435D0, asm] # pkm lab cries code
- [0x45720, asm] # music code
- [0x46680, asm] # speech code
- [0x47B60, asm] # sound code
- [0x485C0, asm] # moves code
- [0x48C60, asm] # move effects code
- [0x490A0, asm] # audio functions to 0x50C00
- [0x49190, bin]
- [0x49790, asm]
- [0x49BA0, asm]
- [0x49DC0, asm]
- [0x4A360, asm]
- [0x4A3E0, asm]
- [0x4B940, asm]
- [0x4BA90, asm]
- [0x4BDC0, asm]
- [0x4CBC0, asm]
- [0x4F410, asm]
- [0x4F7F0, asm]
- [0x4F870, asm]
- [0x4FDB0, asm]
- [0x4FE60, asm]
- [0x4FF50, asm]
- [0x50120, asm]
- [0x50860, asm]
- [0x50990, asm]
- [0x50A00, asm]
- [0x50C20, asm]
- [0x50CC0, asm]
- [0x517A0, asm] # yay0 audio decoder
- [0x518A0, asm]
- [0x51B20, asm]
- [0x51BC0, c, libleo/readwrite]
- [0x51C50, c, libleo/leofunc]
- [0x520C0, c, libleo/leoint]
- [0x52AC0, c, libleo/leocmdex]
- [0x53150, c, libleo/leoread]
- [0x53310, c, libleo/lbatobyte]
- [0x53460, c, libleo/driverominit]
- [0x535C0, c, libleo/leoinquiry]
- [0x53670, c, libleo/leodiskinit]
- [0x53710, c, libleo/readdiskid]
- [0x53770, c, libleo/leord_diskid]
- [0x53900, c, libleo/leomecha]
- [0x54250, c, libleo/spdlmotor]
- [0x54310, c, libleo/leoc2ecc]
- [0x55400, c, libleo/setrtc]
- [0x55570, c, libleo/leomseq_tbl]
- [0x55720, c, libleo/leomotor]
- [0x55810, c, libleo/leomode_sel]
- [0x558C0, c, libleo/leord_capa]
- [0x55960, c, libleo/leoutil]
- [0x55BB0, c, libleo/leorezero]
- [0x55C50, c, libleo/bytetolba]
- [0x55DB0, c, libleo/leoreset]
- [0x55ED0, c, libleo/leotranslat]
- [0x56170, c, libleo/leotimer]
- [0x56680, c, libleo/leowrite]
- [0x567B0, c, libleo/cjcreateleomanager]
- [0x569F0, c, libleo/leointerrupt]
- [0x570C0, c, libleo/driveexist]
- [0x57190, c, libleo/testunitready]
- [0x57230, c, libleo/leotestunit]
- [0x57270, c, libleo/readrtc]
- [0x572D0, c, libleo/leoseek]
- [0x57390, c, libleo/seek]
- [0x573F0, c, libultra/io/piacs]
- [0x574B0, hasm, libultra/os/setcause]
- [0x574C0, c, libultra/os/sendmesg]
- [0x57610, c, libultra/os/stopthread]
- [0x576D0, c, libultra/os/recvmesg]
- [0x57810, hasm, libultra/os/setintmask]
- [0x578B0, c, libultra/os/dequeuethread]
- [0x578F0, c, libultra/gu/scale]
- [0x57990, c, libultra/gu/sinf]
- [0x57B50, c, libultra/al/sl]
- [0x57C10, c, libultra/io/sptask]
- [0x57F00, c, libultra/os/destroythread]
- [0x58010, c, libultra/libc/ll]
- [0x582D0, hasm, libultra/os/exceptasm]
- [0x58BD0, hasm, libultra/libc/bzero]
- [0x58C70, c, libultra/al/bnkf]
- [0x58EC0, c, libultra/io/gbpakcheckconnector]
- [0x59350, c, libultra/io/gbpakpower]
- [0x59460, c, libultra/io/controller]
- [0x597A0, c, libultra/io/siacs]
- [0x59860, bin, noppad_59860] # again with the weird nop padding.
- [0x598C0, c, libultra/os/createthread]
- [0x59A10, c, libultra/io/contreaddata]
- [0x59BF0, hasm, libultra/os/setcount]
- [0x59C00, c, libultra/io/conteeplongread]
- [0x59C90, c, libultra/os/virtualtophysical]
- [0x59D10, hasm, libultra/os/setsr]
- [0x59D20, hasm, libultra/os/writebackdcache]
- [0x59DA0, c, libultra/os/initialize]
- [0x5A0F0, hasm, libultra/os/getsr]
- [0x5A100, c, libultra/io/gbpakinit]
- [0x5A330, c, libultra/io/pfsgetstatus]
- [0x5A560, c, libultra/al/reverb]
- [0x5B1C0, c, libultra/gu/perspective]
- [0x5B450, c, libultra/io/sprawdma]
- [0x5B4E0, c, libultra/io/sirawdma]
- [0x5B590, c, libultra/os/epilinkhandle]
- [0x5B5E0, c, libultra/io/viblack]
- [0x5B650, c, libultra/io/sirawread]
- [0x5B6A0, c, libultra/io/sptaskyield]
- [0x5B6C0, c, libultra/gu/lookatref]
- [0x5BB50, c, libultra/gu/mtxutil]
- [0x5BDC0, c, libultra/io/visetmode]
- [0x5BE30, c, libultra/io/virepeatline]
- [0x5BEA0, c, libultra/io/pfsisplug]
- [0x5C1E0, hasm, libultra/os/probetlb]
- [0x5C2A0, c, libultra/io/pimgr]
- [0x5C410, bin, noppad_5C410]
- [0x5C420, c, libultra/io/devmgr]
- [0x5C830, c, libultra/io/pirawdma]
- [0x5C900, hasm, libultra/os/osGetCount]
- [0x5C910, c, libultra/io/conteepprobe]
- [0x5C980, c, libultra/io/conteepwrite]
- [0x5CD50, c, libultra/os/getmemsize]
- [0x5CE70, c, libultra/io/contpfs]
- [0x5D9F0, c, libultra/os/seteventmesg]
- [0x5DAB0, c, libultra/gu/sqrtf]
- [0x5DAC0, c, libultra/os/afterprenmi]
- [0x5DAE0, c, libultra/gu/mtxcatf]
- [0x5DCF0, c, libultra/gu/mtxcatl]
- [0x5DDB0, c, libultra/gu/random]
- [0x5DDE0, c, libultra/libc/xprintf]
- [0x5EAA0, c, libultra/io/gbpakgetstatus]
- [0x5EC20, c, libultra/libc/sprintf]
- [0x5ECA0, hasm, libultra/os/unmaptlball]
- [0x5ECF0, c, libultra/io/epidma]
- [0x5EDD0, c, libultra/al/heapinit]
- [0x5EE10, c, libultra/libc/syncprintf]
- [0x5EE50, c, libultra/libc/string]
- [0x5EEF0, hasm, libultra/os/invalidcache]
- [0x5EFA0, c, libultra/os/createmesgqueue]
- [0x5EFD0, hasm, libultra/os/invalicache]
- [0x5F050, c, libultra/io/conteeplongwrite]
- [0x5F140, c, libultra/io/sp]
- [0x5F170, c, libultra/io/si]
- [0x5F1A0, c, libultra/gu/translate]
- [0x5F240, c, libultra/os/jammesg]
- [0x5F390, c, libultra/os/setthreadpri]
- [0x5F470, c, libultra/os/getthreadpri]
- [0x5F490, c, libultra/io/epirawread]
- [0x5F5F0, c, libultra/io/viswapbuf]
- [0x5F640, c, libultra/io/epirawdma]
- [0x5F820, c, libultra/io/sptaskyielded]
- [0x5F8A0, c, libultra/gu/rotateRPY]
- [0x5FA40, hasm, libultra/libc/bcmp]
- [0x5FB60, c, libultra/gu/rotate]
- [0x5FD50, c, libultra/os/gettime]
- [0x5FDE0, c, libultra/os/timerintr]
- [0x601E0, c, libultra/al/synthesizer]
- [0x60860, c, libultra/al/drvrNew]
- [0x61010, c, libultra/al/mainbus]
- [0x61160, c, libultra/al/auxbus]
- [0x61270, c, libultra/al/env]
- [0x61EF0, c, libultra/al/resample]
- [0x621F0, c, libultra/al/load]
- [0x62D40, c, libultra/al/filter]
- [0x62D60, c, libultra/al/save]
- [0x62E20, c, libultra/os/setglobalintmask]
- [0x62E70, c, libultra/io/aisetfreq]
- [0x62FC0, c, libultra/io/dpctr]
- [0x63010, c, libultra/os/getactivequeue]
- [0x63020, c, libultra/gu/normalize]
- [0x630B0, hasm, libultra/os/setcompare]
- [0x630C0, c, libultra/io/aigetstat]
- [0x630D0, c, libultra/io/dpsetstat]
- [0x630E0, c, libultra/al/copy]
- [0x63160, hasm, libultra/libc/bcopy]
- [0x63470, c, libultra/os/resetglobalintmask]
- [0x634D0, c, libultra/gu/ortho]
- [0x63690, hasm, libultra/os/interrupt]
- [0x63720, c, libultra/io/vi]
- [0x63860, c, libultra/io/viswapcontext]
- [0x63B60, c, libultra/io/pigetcmdq]
- [0x63B90, c, libultra/gu/cosf]
- [0x63D00, c, libultra/io/epiread]
- [0x63D50, c, libultra/io/visetspecial]
- [0x63EB0, c, libultra/os/settime]
- [0x63EE0, c, libultra/io/visetevent]
- [0x63F50, c, libultra/io/gbpakreadid]
- [0x64110, c, libultra/io/cartrominit]
- [0x64270, c, libultra/io/pfsselectbank]
- [0x642F0, hasm, libultra/os/setfpccsr]
- [0x64300, c, libultra/io/aigetlen]
- [0x64310, c, libultra/io/epiwrite]
- [0x64360, hasm, libultra/os/maptlbrdb]
- [0x643C0, c, libultra/os/yieldthread]
- [0x64410, c, libultra/io/contramwrite]
- [0x64660, c, libultra/io/contramread]
- [0x64890, c, libultra/io/crc]
- [0x64A00, hasm, libultra/os/__osGetCause]
- [0x64A10, c, libultra/io/epirawwrite]
- [0x64B70, c, libultra/os/settimer]
- [0x64C50, c, libultra/libc/xldtob]
- [0x65710, c, libultra/libc/ldiv]
- [0x658A0, c, libultra/libc/xlitob]
- [0x65B40, c, libultra/io/sirawwrite]
- [0x65B90, c, libultra/io/spsetstat]
- [0x65BA0, c, libultra/io/spgetstat]
- [0x65BB0, bin, noppad_65BB0]
- [0x65BC0, c, libultra/io/vimgr]
- [0x65ED0, c, libultra/io/vigetcurrcontext]
- [0x65EE0, hasm, libultra/os/writebackdcacheall]
- [0x65F10, c, libultra/al/heapalloc]
- [0x65F70, c, libultra/os/startthread]
- [0x660C0, c, libultra/io/visetxscale]
- [0x661F0, c, libultra/io/visetyscale]
- [0x66250, c, libultra/libc/llcvt]
- [0x66460, c, libultra/al/synallocfx]
- [0x66500, c, libultra/al/syndelete]
- [0x66510, c, libultra/io/gbpakreadwrite]
- [0x666D0, c, libultra/io/gbpakselectbank]
- [0x667A0, c, libultra/io/aisetnextbuf]
- [0x66850, c, libultra/io/ai]
- [0x66880, c, libultra/io/conteepread]
- [0x66AD0, c, libultra/io/vigetcurrframebuf]
- [0x66B10, c, libultra/io/spsetpc]
- [0x66B50, c, libultra/os/sethwinterrupt]
#- [0x66BC0, asm]
- [0x66BC0, bin]
- [0x66C90, bin, F3DEX2]
- [0x68020, bin] # rest of rom part 1
# .data is somewhere in here
- [0x6A1B0, .data, crash_screen]
- [0x6A3B0, bin, rom_data_6A3B0]
- [0x6A3D0, .data, gb_tower]
- [0x6A3E0, bin, rom_data_6A3E0]
- [0x7A2A0, .data, libultra/os/initialize]
- [0x7A2C0, .data, libultra/al/reverb]
- [0x7A2E0, bin, rom_data_7A2E0]
- [0x7B550, .data, libultra/gu/random]
- [0x7B560, .data, libultra/libc/xprintf]
- [0x7B5B0, .data, libultra/os/timerintr]
- [0x7B5C0, .data, libultra/al/drvrNew]
- [0x7B750, .data, libultra/al/env]
- [0x7B890, .data, libultra/io/vi]
- [0x7B900, bin, rom_data_7B900]
- [0x7B9F0, .data, libultra/io/gbpakreadid]
- [0x7BA40, .data, libultra/io/cartrominit]
- [0x7BA50, bin, rom_data_7BA50]
- [0x7BA60, .data, libultra/libc/xlitob]
- [0x7BA90, .data, libultra/io/vimgr]
- [0x7BAB0, .data, libultra/io/aisetnextbuf]
- [0x7BAC0, bin, rom_data_7BAC0]
# Start of .rodata
- [0x7BAC0, .rodata, rsp]
- [0x7BB10, bin, rom_rodata_7BB10]
- [0x7BBE0, .rodata, crash_screen]
- [0x7BFA0, bin, rom_rodata_7BFA0]
- [0x7BFC0, .rodata, gb_tower]
- [0x7C000, bin, rom_rodata_7C000]
- [0x7EE90, .rodata, libultra/gu/sinf]
- [0x7EEE0, bin, rom_rodata_7EEE0]
- [0x7EF30, .rodata, libultra/al/reverb]
- [0x7EF60, .rodata, libultra/gu/perspective]
- [0x7EF70, .rodata, libultra/io/devmgr]
- [0x7EF90, .rodata, libultra/libc/xprintf]
- [0x7F090, .rodata, libultra/gu/rotateRPY]
- [0x7F0A0, .rodata, libultra/gu/rotate]
- [0x7F0B0, .rodata, libultra/al/synthesizer]
- [0x7F0C0, .rodata, libultra/al/drvrNew]
- [0x7F0E0, .rodata, libultra/al/env]
- [0x7F130, .rodata, libultra/al/resample]
- [0x7F180, .rodata, libultra/gu/cosf]
- [0x7F1D0, bin, rom_rodata_7F1D0]
- [0x7F1E0, .rodata, libultra/libc/xldtob]
- [0x7F240, .rodata, libultra/libc/llcvt]
- [0x7F250, bin, F3DEX2_data] # F3DEX2 data
- [0x7F670, bin, rom_rodata_7F670]
- [0x7F980]
# .bss
- {vram: 0x8007F190, type: .bss, name: main}
- {vram: 0x80081900, type: .bss, name: rsp}
- {vram: 0x80083CA0, type: .bss, name: unk_bss}
- {vram: 0x800A7320, type: .bss, name: controller}
- {vram: 0x800A7420, type: .bss, name: unk_bss_3}
- {vram: 0x800A74C0, type: .bss, name: crash_screen}
- {vram: 0x800A7EA0, type: .bss, name: unk_bss_2}
- {vram: 0x80103880, type: .bss, name: libultra/gu/rotate}
- {vram: 0x80103890, type: .bss, name: libultra/os/timerintr}
- {vram: 0x801038E4, type: .bss, name: libultra/io/cartrominit}
- {vram: 0x80103950, type: .bss, name: libultra/io/vimgr}
- {vram: 0x80104b70, type: .bss, name: libultra/io/conteepread}
# rest of the ROM
- [0x7F980, bin]
- [0x2000000]