mirror of
https://github.com/pret/pokestadium.git
synced 2026-08-09 19:27:21 -05:00
392 lines
14 KiB
YAML
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]
|