name: Pokemon Stadium (North America) basename: pokestadium options: compiler: IDO symbol_addrs_path: tools/symbol_addrs.txt target_path: baserom.z64 basename: pokestadium base_path: . ld_script_path: pokestadium.ld platform: n64 ld_legacy_generation: true 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, memory_main] # handles the main global pool - [0x3640, c, memory] # memory_pool - [0x3A80, c, util] - [0x3FB0, c] # PRES-JPEG decoder - [0x5580, c] # there's a split here according to PAL - [0x60A0, c, reset] # soft reset effect - [0x6430, c, controller] # controller code - [0x6A40, c] - [0x6BC0, c] # - [0x75F0, c] # stage loader - [0x8EC0, c, crash_screen] # crash handler - [0x9D20, c, profiler] - [0xAF00, c, math_util] - [0xB130, c, hal_libc] - [0xB230, c, gb_tower] - [0xC030, c] # extra sprites loader - [0xC3D0, asm, exception_set] # exception functions - [0xC3F0, hasm, yay0] # Yay0 decoder - [0xC4A0, hasm, abs] # abs function - [0xC4B0, asm, libleo_bootdisk] # These are libleo's bootdisk and bootstrap files, but - [0xC910, hasm, libleo/bootstrap] - [0xC970, c] - [0xCE80, c] # - [0xD470, c] # - [0xDDC0, c] - [0xE1C0, c] - [0xE570, c] # - [0xE890, c] # - [0x11BA0, c] # - [0x12D80, c] # - [0x17300, c] # - [0x18140, c] # dp model animations - [0x18480, c] # dp model animations - [0x19840, c] # alternative pkm textures - [0x1AB70, c] # vs screen code - [0x1C720, c] # - [0x1CF30, c] # dp list code - [0x20330, c] # some cache cleaner - [0x20470, c] # dp list for UI and icons - [0x225A0, c] # - [0x22630, c] # registered pkm stats - [0x26820, c] # save data code - [0x29BA0, c] # scenary code - [0x2C1C0, c] # scenary cache cleaner - [0x2D340, c] # pkm lab pc code - [0x2E110, c] # stack cleaner - [0x2E460, c] # pkm lab pokedex code - [0x2FEA0, c] # minigames code - [0x30640, c] # gallery code - [0x32D10, c] - [0x334D0, c] - [0x33E30, c] - [0x33FE0, c] - [0x37370, c] - [0x373A0, c] # battle code - [0x38BB0, c] # - [0x3D140, c] # music code - [0x43520, c] # - [0x435B0, c] # - [0x435D0, c] # pkm lab cries code - [0x45720, c] # music code - [0x46680, c] # speech code - [0x47B60, c] # sound code - [0x485C0, c] # moves code - [0x48C60, c] # move effects code - [0x490A0, c] # audio functions to 0x50C00 - [0x49190, bin] - [0x49790, c] - [0x49BA0, c] - [0x49DC0, c] - [0x4A360, c] - [0x4A3E0, c] - [0x4B940, c] - [0x4BA90, c] - [0x4BDC0, c] - [0x4CBC0, c] - [0x4F410, c] - [0x4F7F0, c] - [0x4F870, c] - [0x4FDB0, c] - [0x4FE60, c] - [0x4FF50, c] - [0x50120, c] - [0x50860, c] - [0x50990, c] - [0x50A00, c] - [0x50C20, c] - [0x50CC0, c] - [0x517A0, c] # yay0 audio decoder - [0x51850, c] - [0x518A0, c] - [0x51B20, c] - [0x51BC0, c, libleo/readwrite] - [0x51C50, c, libleo/leofunc] - [0x520C0, c, libleo/leoint] - [0x52AB0, bin, noppad_52AB0] # again with the weird nop padding. - [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 - [0x69790, .data, util] - [0x697A0, bin, rom_data_697A0] - [0x6A1B0, .data, crash_screen] - [0x6A3B0, .data, profiler] - [0x6A3D0, .data, gb_tower] - [0x6A3E0, data, rom_data_6A3E0] - [0x6A3F0, .data, math_util] - [0x6FC00, data, rom_data_6FC00] - [0x7A180, .data, libleo/driverominit] - [0x7A190, data, rom_data_7A190] - [0x7A2A0, .data, libultra/os/initialize] - [0x7A2C0, .data, libultra/al/reverb] - [0x7A2E0, data, 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, data, rom_data_7B900] - [0x7B9F0, .data, libultra/io/gbpakreadid] - [0x7BA40, .data, libultra/io/cartrominit] - [0x7BA50, data, rom_data_7BA50] - [0x7BA60, .data, libultra/libc/xlitob] - [0x7BA90, .data, libultra/io/vimgr] - [0x7BAB0, .data, libultra/io/aisetnextbuf] - [0x7BAC0, data, rom_data_7BAC0] # Start of .rodata - [0x7BAC0, .rodata, rsp] - [0x7BB10, rodata] - [0x7BB20, .rodata, util] - [0x7BB50, rodata] - [0x7BBE0, .rodata, crash_screen] - [0x7BFA0, .rodata, profiler] - [0x7BFC0, .rodata, gb_tower] - [0x7C000, rodata, rom_rodata_7C000] - [0x7C180, rodata, rom_rodata_7C180] - [0x7C190, rodata, rom_rodata_7C190] - [0x7CCA0, rodata, rom_rodata_7CCA0] - [0x7CD10, rodata, rom_rodata_7CD10] - [0x7CD40, rodata, rom_rodata_7CD40] - [0x7CEC0, rodata, rom_rodata_7CEC0] - [0x7CFD0, rodata, rom_rodata_7CFD0] - [0x7D030, rodata, rom_rodata_7D030] - [0x7D040, rodata, rom_rodata_7D040] - [0x7D0F0, rodata, rom_rodata_7D0F0] - [0x7D110, rodata, rom_rodata_7D110] - [0x7D1B0, rodata, rom_rodata_7D1B0] - [0x7D230, rodata, rom_rodata_7D230] - [0x7D340, rodata, rom_rodata_7D340] - [0x7D3E0, rodata, rom_rodata_7D3E0] - [0x7D880, rodata, rom_rodata_7D880] - [0x7DF80, rodata, rom_rodata_7DF80] - [0x7DFD0, rodata, rom_rodata_7DFD0] - [0x7E0D0, rodata, rom_rodata_7E0D0] - [0x7E0E0, rodata, rom_rodata_7E0E0] - [0x7E110, rodata, rom_rodata_7E110] - [0x7E2F0, rodata, rom_rodata_7E2F0] - [0x7E560, rodata, rom_rodata_7E560] - [0x7E5D0, rodata, rom_rodata_7E5D0] - [0x7E600, rodata, rom_rodata_7E600] - [0x7E630, .rodata, libleo/leofunc] - [0x7E640, .rodata, libleo/leocmdex] - [0x7E6F0, rodata, rom_rodata_7E6F0] - [0x7E700, .rodata, libleo/leomecha] - [0x7E770, .rodata, libleo/leo_tbl] - [0x7E950, .rodata, libleo/leoc2ecc] - [0x7ED70, .rodata, libleo/leomseq_tbl] - [0x7EDF0, .rodata, libleo/leotimer] - [0x7EE10, rodata, rom_rodata_7EE10] - [0x7EE90, .rodata, libultra/gu/sinf] - [0x7EEE0, rodata, 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, rodata, rom_rodata_7F1D0] - [0x7F1E0, .rodata, libultra/libc/xldtob] - [0x7F240, .rodata, libultra/libc/llcvt] - [0x7F250, bin, F3DEX2_data] # F3DEX2 data - [0x7F670, bin, unk_bin_7F670] - [0x7F980] # .bss - {vram: 0x8007F190, type: .bss, name: main} - {vram: 0x80081900, type: .bss, name: rsp} - {vram: 0x80083CA0, type: bss, name: unk_bss} - {vram: 0x800A6070, type: .bss, name: memory_main} - {vram: 0x800A60B0, type: bss, name: unk_bss_4} - {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: profiler} - {vram: 0x800A8100, type: bss, name: unk_bss_2} - {vram: 0x80100740, type: .bss, name: libleo/driverominit} - {vram: 0x801007C0, type: bss, name: unk_bss_5} - {vram: 0x80101090, type: .bss, name: libleo/leomseq_tbl} - {vram: 0x801010D0, type: bss, name: unk_bss_6} - {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} - [0x7F980] - name: heap type: code bss_size: 0x0 # This heap extends to the end of RAM. start: 0x7F980 vram: 0x80104BB0 subsegments: # .bss - {vram: 0x80104BB0, type: .bss, name: heap} - [0x7F980] # Probably the GB Tower Emulator. This fragment is built very strangely. - name: fragment1 type: code bss_size: 0x0 start: 0x7F980 vram: 0x81200000 subsegments: - [0x7F980, hasm, fragments/1/fragment1_header] - [0x7F9A0, c, fragments/1/fragment1_code] - [0x89020, hasm, fragments/1/fragment1_code_asm] - [0x8D1A0, data, fragments/1/fragment1_data] - [0xA8E80, rodata, fragments/1/fragment1_rodata] - [0xAAB60, bin, fragments/1/fragment1_relocs] - name: fragment1_misc_yay0 type: code bss_size: 0x0 start: 0xADC80 vram: 0x81800000 # unknown VRAM, need a value here to stop linker complaints subsegments: - [0xADC80, bin, fragments/1/fragment1_yay0_0] - [0xF4920, bin, fragments/1/fragment1_yay0_1] - [0xF5450, bin, fragments/1/fragment1_yay0_2] - [0xFDE40, bin, fragments/1/fragment1_yay0_3] - [0x102BA0, bin, fragments/1/fragment1_yay0_4] # text code - name: fragment2 type: code bss_size: 0x0 start: 0x107FA0 vram: 0x87800000 subsegments: - [0x107FA0, hasm, fragments/2/fragment2_header] - [0x107FC0, c, fragments/2/fragment2_code] - [0x10E2D0, data, fragments/2/fragment2_data] - [0x117850, rodata, fragments/2/fragment2_rodata] - [0x1179C0, bin, fragments/2/fragment2_relocs] # model animation code - name: fragment3 type: code bss_size: 0x0 start: 0x118990 vram: 0x87900000 subsegments: - [0x118990, hasm, fragments/3/fragment3_header] - [0x1189B0, c, fragments/3/fragment3_code] - [0x11C730, data, fragments/3/fragment3_data] - [0x11E810, rodata, fragments/3/fragment3_rodata] - [0x11E9D0, bin, fragments/3/fragment3_reloc] # MINIGAMES unknown code placed but not executed - name: fragment4 type: code bss_size: 0x0 start: 0x11F560 vram: 0x87A00000 subsegments: - [0x11F560, hasm, fragments/4/fragment4_header] - [0x11F580, c, fragments/4/fragment4_code] - [0x120670, data, fragments/4/fragment4_data] - [0x120860, bin, fragments/4/fragment4_reloc] # DROWZEE MINIGAME unknown code placed but not executed, might be something about other controllers - name: fragment5 type: code bss_size: 0x0 start: 0x120920 vram: 0x87B00000 # unknown. we dont actually know this fragment's vaddr yet, but we need a unique vaddr so the linker doesnt complain. Might be an unused fragment, as it's very very small, and seems to only poll the controller. subsegments: - [0x120920, hasm, fragments/5/fragment5_header] - [0x120940, c, fragments/5/fragment5_code] - [0x1209E0, data, fragments/5/fragment5_data] - [0x120A00, bin, fragments/5/fragment5_reloc] # magikarp minigame code - name: fragment6 type: code bss_size: 0x0 start: 0x120A10 vram: 0x86000000 subsegments: - [0x120A10, hasm, fragments/6/fragment6_header] - [0x120A30, c, fragments/6/fragment6_code] - [0x123330, data, fragments/6/fragment6_data] - [0x123890, rodata, fragments/6/fragment6_rodata] - [0x123940, bin, fragments/6/fragment6_reloc] # clefairy minigame code - name: fragment7 type: code bss_size: 0x0 start: 0x1278D0 vram: 0x86100000 subsegments: - [0x1278D0, hasm, fragments/7/fragment7_header] - [0x1278F0, c, fragments/7/fragment7_code] - [0x12BF10, data, fragments/7/fragment7_data] - [0x12CC90, rodata, fragments/7/fragment7_rodata] - [0x12CD50, bin, fragments/7/fragment7_reloc] # rattata minigame code - name: fragment8 type: code bss_size: 0x0 start: 0x12DF40 vram: 0x86200000 subsegments: - [0x12DF40, hasm, fragments/8/fragment8_header] - [0x12DF60, c, fragments/8/fragment8_code] - [0x131800, data, fragments/8/fragment8_data] - [0x131AE0, rodata, fragments/8/fragment8_rodata] - [0x131D70, bin, fragments/8/fragment8_reloc] - name: fragment9 type: code bss_size: 0x0 start: 0x1329E0 vram: 0x86300000 subsegments: - [0x1329E0, hasm, fragments/9/fragment9_header] - [0x132A00, c, fragments/9/fragment9_code] - [0x133FE0, data, fragments/9/fragment9_data] - [0x1340A0, rodata, fragments/9/fragment9_rodata] - [0x1340F0, bin, fragments/9/fragment9_reloc] # drowzee minigame code - name: fragment10 type: code bss_size: 0x0 start: 0x134680 vram: 0x86400000 subsegments: - [0x134680, hasm, fragments/10/fragment10_header] - [0x1346A0, c, fragments/10/fragment10_code] - [0x136E40, data, fragments/10/fragment10_data] - [0x1386F0, bin, fragments/10/fragment10_reloc] # pikachu minigame code - name: fragment11 type: code bss_size: 0x0 start: 0x138F20 vram: 0x86500000 subsegments: - [0x138F20, hasm, fragments/11/fragment11_header] - [0x138F40, c, fragments/11/fragment11_code] - [0x13BB40, data, fragments/11/fragment11_data] - [0x142170, rodata, fragments/11/fragment11_rodata] - [0x142200, bin, fragments/11/fragment11_reloc] # transfer pak error code - name: fragment12 type: code bss_size: 0x0 start: 0x142B10 vram: 0x86600000 subsegments: - [0x142B10, hasm, fragments/12/fragment12_header] - [0x142B30, c, fragments/12/fragment12_code] - [0x143360, data, fragments/12/fragment12_data] - [0x143400, rodata, fragments/12/fragment12_rodata] - [0x143450, bin, fragments/12/fragment12_reloc] - name: fragment13 type: code bss_size: 0x0 start: 0x143700 vram: 0x86700000 subsegments: - [0x143700, hasm, fragments/13/fragment13_header] - [0x143720, c, fragments/13/fragment13_code] - [0x143F40, data, fragments/13/fragment13_data] - [0x143FE0, rodata, fragments/13/fragment13_rodata] - [0x144030, bin, fragments/13/fragment13_reloc] # lickitung minigame code - name: fragment14 type: code bss_size: 0x0 start: 0x1442E0 vram: 0x86800000 subsegments: - [0x1442E0, hasm, fragments/14/fragment14_header] - [0x144300, c, fragments/14/fragment14_code] - [0x14AFB0, data, fragments/14/fragment14_data] - [0x14B660, rodata, fragments/14/fragment14_rodata] - [0x14B7E0, bin, fragments/14/fragment14_reloc] # gallery camera code - name: fragment15 type: code bss_size: 0x0 start: 0x14CA50 vram: 0x86900000 subsegments: - [0x14CA50, hasm, fragments/15/fragment15_header] - [0x14CA70, c, fragments/15/fragment15_code] - [0x1554D0, data, fragments/15/fragment15_data] - [0x156EB0, rodata, fragments/15/fragment15_rodata] - [0x157060, bin, fragments/15/fragment15_reloc] # credits loader - name: fragment16 type: code bss_size: 0x0 start: 0x1589E0 vram: 0x86A00000 subsegments: - [0x1589E0, hasm, fragments/16/fragment16_header] - [0x158A00, c, fragments/16/fragment16_code] - [0x15AF80, data, fragments/16/fragment16_data] - [0x15EB20, rodata, fragments/16/fragment16_rodata] - [0x15EB50, bin, fragments/16/fragment16_reloc] # stage loader code - name: fragment17 type: code bss_size: 0x0 start: 0x15F990 vram: 0x86B00000 subsegments: - [0x15F990, hasm, fragments/17/fragment17_header] - [0x15F9B0, c, fragments/17/fragment17_code] - [0x16B580, data, fragments/17/fragment17_data] - [0x16DD70, rodata, fragments/17/fragment17_rodata] - [0x16DF60, bin, fragments/17/fragment17_reloc] # ekans minigame code - name: fragment18 type: code bss_size: 0x0 start: 0x1708B0 vram: 0x86C00000 subsegments: - [0x1708B0, hasm, fragments/18/fragment18_header] - [0x1708D0, c, fragments/18/fragment18_code] - [0x1750F0, data, fragments/18/fragment18_data] - [0x17EC60, rodata, fragments/18/fragment18_rodata] - [0x17ED30, bin, fragments/18/fragment18_reloc] - name: fragment19 type: code bss_size: 0x0 start: 0x17FB40 vram: 0x86D00000 subsegments: - [0x17FB40, hasm, fragments/19/fragment19_header] - [0x17FB60, c, fragments/19/fragment19_code] - [0x180070, data, fragments/19/fragment19_data] - [0x180100, rodata, fragments/19/fragment19_rodata] - [0x180110, bin, fragments/19/fragment19_reloc] # metapod minigame code - name: fragment20 type: code bss_size: 0x0 start: 0x1802B0 vram: 0x86E00000 subsegments: - [0x1802B0, hasm, fragments/20/fragment20_header] - [0x1802D0, c, fragments/20/fragment20_code] - [0x183260, data, fragments/20/fragment20_data] - [0x184FA0, rodata, fragments/20/fragment20_rodata] - [0x185010, bin, fragments/20/fragment20_reloc] # sandshrew minigame code - name: fragment21 type: code bss_size: 0x0 start: 0x185A10 vram: 0x86F00000 subsegments: - [0x185A10, hasm, fragments/21/fragment21_header] - [0x185A30, c, fragments/21/fragment21_code] - [0x1880A0, data, fragments/21/fragment21_data] - [0x190B90, rodata, fragments/21/fragment21_rodata] - [0x190C00, bin, fragments/21/fragment21_reloc] # pokemon lab loader - name: fragment22 type: code bss_size: 0x0 start: 0x191660 vram: 0x88000000 subsegments: - [0x191660, hasm, fragments/22/fragment22_header] - [0x191680, c, fragments/22/fragment22_code] - [0x193EA0, data, fragments/22/fragment22_data] - [0x1A8320, rodata, fragments/22/fragment22_rodata] - [0x1A8350, bin, fragments/22/fragment22_reloc] # pokemon lab PC loader - name: fragment23 type: code bss_size: 0x0 start: 0x1A8570 vram: 0x88200000 subsegments: - [0x1A8570, hasm, fragments/23/fragment23_header] - [0x1A8590, c, fragments/23/fragment23_code] - [0x1C0160, data, fragments/23/fragment23_data] - [0x1CD3C0, rodata, fragments/23/fragment23_rodata] - [0x1CD500, bin, fragments/23/fragment23_reloc] # pokemon lab PC: list code - name: fragment24 type: code bss_size: 0x0 start: 0x1CE9E0 vram: 0x88300000 subsegments: - [0x1CE9E0, hasm, fragments/24/fragment24_header] - [0x1CEA00, c, fragments/24/fragment24_code] - [0x1E5BB0, data, fragments/24/fragment24_data] - [0x1E8C40, rodata, fragments/24/fragment24_rodata] - [0x1E8EA0, bin, fragments/24/fragment24_reloc] # POKEMON LAB unknown code placed but not executed - name: fragment25 type: code bss_size: 0x0 start: 0x1EA640 vram: 0x88400000 subsegments: - [0x1EA640, hasm, fragments/25/fragment25_header] - [0x1EA660, c, fragments/25/fragment25_code] - [0x1EA740, data, fragments/25/fragment25_data] - [0x1EA840, bin, fragments/25/fragment25_reloc] # POKEMON LAB unknown code placed but not executed - name: fragment26 type: code bss_size: 0x0 start: 0x1EA860 vram: 0x88500000 subsegments: - [0x1EA860, hasm, fragments/26/fragment26_header] - [0x1EA880, c, fragments/26/fragment26_code] - [0x1F77E0, data, fragments/26/fragment26_data] - [0x1F7810, rodata, fragments/26/fragment26_rodata] - [0x1F7840, bin, fragments/26/fragment26_reloc] # pokemon lab PC: pokemon, item, boxes etc - name: fragment27 type: code bss_size: 0x0 start: 0x1F7C90 vram: 0x88600000 subsegments: - [0x1F7C90, hasm, fragments/27/fragment27_header] - [0x1F7CB0, c, fragments/27/fragment27_code] - [0x1FD750, data, fragments/27/fragment27_data] - [0x214060, rodata, fragments/27/fragment27_rodata] - [0x2141A0, bin, fragments/27/fragment27_reloc] # pokemon lab: pokedex loader - name: fragment28 type: code bss_size: 0x0 start: 0x214900 vram: 0x88800000 subsegments: - [0x214900, hasm, fragments/28/fragment28_header] - [0x214920, c, fragments/28/fragment28_code] - [0x21CA50, data, fragments/28/fragment28_data] - [0x23AF80, rodata, fragments/28/fragment28_rodata] - [0x23B0A0, bin, fragments/28/fragment28_reloc] # POKEMON LAB PC some text functions but not executed - name: fragment29 type: code bss_size: 0x0 start: 0x23C250 vram: 0x88900000 subsegments: - [0x23C250, hasm, fragments/29/fragment29_header] - [0x23C270, c, fragments/29/fragment29_code] - [0x23D3C0, data, fragments/29/fragment29_data] - [0x23D430, bin, fragments/29/fragment29_reloc] - name: fragment29_misc_1 type: code bss_size: 0x0 start: 0x23D500 vram: 0x88910000 # unk VRAM, shuts linker up subsegments: - [0x23D500, bin, fragments/29/fragment29_unk_bin_1] # PERS-SZP file, pokeball, c buttons etc textures - name: fragment29_misc_2 type: code bss_size: 0x0 start: 0x23FB60 vram: 0x88920000 # unk VRAM, shuts linker up subsegments: - [0x23FB60, bin, fragments/29/fragment29_unk_bin_2] # PERS-SZP file, pokeball, c buttons etc textures - name: fragment29_misc_3 type: code bss_size: 0x0 start: 0x24F430 vram: 0x88920000 # unk VRAM, shuts linker up subsegments: - [0x24F430, bin, fragments/29/fragment29_unk_bin_3] # PERS-SZP file, pokeball, c buttons etc textures - name: fragment30 type: code bss_size: 0x0 start: 0x255230 vram: 0x88A00000 # unknown vram, since nothing loads this. probably 88A00000? subsegments: - [0x255230, hasm, fragments/30/fragment30_header] - [0x255250, c, fragments/30/fragment30_code] - [0x2552B0, bin, fragments/30/fragment30_reloc] # transfer pak checker - name: fragment31 type: code bss_size: 0x0 start: 0x2552C0 vram: 0x81000000 subsegments: - [0x2552C0, hasm, fragments/31/fragment31_header] - [0x2552E0, bin, fragments/31/fragment31_unk_table] # what is this? - [0x2554C0, c, fragments/31/fragment31_code] - [0x259290, data, fragments/31/fragment31_data] - [0x259480, rodata, fragments/31/fragment31_rodata] - [0x259AA0, bin, fragments/31/fragment31_reloc] # drowzee minigame stage animations - name: fragment32 type: code bss_size: 0x0 start: 0x25A740 vram: 0x81100000 subsegments: - [0x25A740, hasm, fragments/32/fragment32_header] - [0x25A760, c, fragments/32/fragment32_code] - [0x25B060, data, fragments/32/fragment32_data] - [0x25B070, bin, fragments/32/fragment32_reloc] # transfer pak code - name: fragment33 type: code bss_size: 0x0 start: 0x25B0D0 vram: 0x81300000 subsegments: - [0x25B0D0, hasm, fragments/33/fragment33_header] - [0x25B0F0, asm, fragments/33/fragment33_code] - [0x25ECF0, data, fragments/33/fragment33_data] - [0x25F020, rodata, fragments/33/fragment33_rodata] - [0x25F070, bin, fragments/33/fragment33_reloc] - name: fragment33_misc type: code bss_size: 0x0 start: 0x25F440 vram: 0x81310000 # unk vram, shuts linker up subsegments: - [0x25F440, bin, fragments/33/fragment33_unk_bin_1] # PRES-JPEG, transfer machine background # alternative pokemon textures pointer loader - name: fragment34 type: code bss_size: 0x0 start: 0x261F70 vram: 0x81400000 subsegments: - [0x261F70, hasm, fragments/34/fragment34_header] - [0x261F90, c, fragments/34/fragment34_code] - [0x26F9C0, data, fragments/34/fragment34_data] - [0x270570, rodata, fragments/34/fragment34_rodata] - [0x270590, bin, fragments/34/fragment34_reloc] # n64 logo code - name: fragment35 type: code bss_size: 0x0 start: 0x271260 vram: 0x82000000 subsegments: - [0x271260, hasm, fragments/35/fragment35_header] - [0x271280, c, fragments/35/fragment35_code] - [0x2717C0, bin, fragments/35/fragment35_reloc] # title screen code - name: fragment36 type: code bss_size: 0x0 start: 0x2717E0 vram: 0x82100000 subsegments: - [0x2717E0, hasm, fragments/36/fragment36_header] - [0x271800, c, fragments/36/fragment36_code] - [0x2725A0, data, fragments/36/fragment36_data] - [0x272660, rodata, fragments/36/fragment36_rodata] - [0x272680, bin, fragments/36/fragment36_reloc] # stadium field loader - name: fragment37 type: code bss_size: 0x0 start: 0x272830 vram: 0x82200000 subsegments: - [0x272830, hasm, fragments/37/fragment37_header] - [0x272850, c, fragments/37/fragment37_code] - [0x2757D0, data, fragments/37/fragment37_data] - [0x275900, rodata, fragments/37/fragment37_rodata] - [0x275920, bin, fragments/37/fragment37_reloc] # event battle loader - name: fragment38 type: code bss_size: 0x0 start: 0x275CE0 vram: 0x82300000 subsegments: - [0x275CE0, hasm, fragments/38/fragment38_header] - [0x275D00, c, fragments/38/fragment38_code] - [0x27B600, data, fragments/38/fragment38_data] - [0x27B6B0, rodata, fragments/38/fragment38_rodata] - [0x27B700, bin, fragments/38/fragment38_reloc] # minigames loader - name: fragment39 type: code bss_size: 0x0 start: 0x27BCA0 vram: 0x82500000 subsegments: - [0x27BCA0, hasm, fragments/39/fragment39_header] - [0x27BCC0, c, fragments/39/fragment39_code] - [0x281E50, data, fragments/39/fragment39_data] - [0x2846C0, rodata, fragments/39/fragment39_rodata] - [0x284790, bin, fragments/39/fragment39_reloc] # gym leader castle clear / pokemon gift code - name: fragment40 type: code bss_size: 0x0 start: 0x285DC0 vram: 0x83100000 subsegments: - [0x285DC0, hasm, fragments/40/fragment40_header] - [0x285DE0, c, fragments/40/fragment40_code] - [0x2879A0, data, fragments/40/fragment40_data] - [0x287C80, rodata, fragments/40/fragment40_rodata] - [0x287CA0, bin, fragments/40/fragment40_reloc] # pokemon trade machine loader - name: fragment41 type: code bss_size: 0x0 start: 0x287EB0 vram: 0x82F00000 subsegments: - [0x287EB0, hasm, fragments/41/fragment41_header] - [0x287ED0, c, fragments/41/fragment41_code] - [0x29BA20, data, fragments/41/fragment41_data] - [0x29BF80, rodata, fragments/41/fragment41_rodata] - [0x29C2D0, bin, fragments/41/fragment41_reloc] # gallery loader - name: fragment42 type: code bss_size: 0x0 start: 0x29DD30 vram: 0x83300000 subsegments: - [0x29DD30, hasm, fragments/42/fragment42_header] - [0x29DD50, c, fragments/42/fragment42_code] - [0x2A0EB0, data, fragments/42/fragment42_data] - [0x2A0FE0, rodata, fragments/42/fragment42_rodata] - [0x2A1010, bin, fragments/42/fragment42_reloc] # gallery code - name: fragment43 type: code bss_size: 0x0 start: 0x2A1B30 vram: 0x83400000 subsegments: - [0x2A1B30, hasm, fragments/43/fragment43_header] - [0x2A1B50, c, fragments/43/fragment43_code] - [0x2A4950, data, fragments/43/fragment43_data] - [0x2A49F0, rodata, fragments/43/fragment43_rodata] - [0x2A4A10, bin, fragments/43/fragment43_reloc] # gallery album code - name: fragment44 type: code bss_size: 0x0 start: 0x2A4DF0 vram: 0x83500000 subsegments: - [0x2A4DF0, hasm, fragments/44/fragment44_header] - [0x2A4E10, c, fragments/44/fragment44_code] - [0x2A8C60, rodata, fragments/44/fragment44_rodata] - [0x2A8DB0, bin, fragments/44/fragment44_reloc] # might be print code - name: fragment45 type: code bss_size: 0x0 start: 0x2A9790 vram: 0x83600000 subsegments: - [0x2A9790, hasm, fragments/45/fragment45_header] - [0x2A97B0, c, fragments/45/fragment45_code] - [0x2ACA10, data, fragments/45/fragment45_data] - [0x2ACA70, rodata, fragments/45/fragment45_rodata] - [0x2ACA80, bin, fragments/45/fragment45_reloc] # gallery enlarge code - name: fragment46 type: code bss_size: 0x0 start: 0x2AD270 vram: 0x83700000 subsegments: - [0x2AD270, hasm, fragments/46/fragment46_header] - [0x2AD290, c, fragments/46/fragment46_code] - [0x2AD720, data, fragments/46/fragment46_data] - [0x2AD730, bin, fragments/46/fragment46_reloc] # gallery rental pokemon loader - name: fragment47 type: code bss_size: 0x0 start: 0x2AD8F0 vram: 0x83800000 subsegments: - [0x2AD8F0, hasm, fragments/47/fragment47_header] - [0x2AD910, c, fragments/47/fragment47_code] - [0x2B25A0, data, fragments/47/fragment47_data] - [0x2B2E50, rodata, fragments/47/fragment47_rodata] - [0x2B2F40, bin, fragments/47/fragment47_reloc] # Gallery Debugger (unused) - name: fragment48 type: code bss_size: 0x0 start: 0x2B3F70 vram: 0x83900000 # apparently not used either, but VRAM is an estimate based on the patterns around this fragment. subsegments: - [0x2B3F70, hasm, fragments/48/fragment48_header] - [0x2B3F90, c, fragments/48/fragment48_code] - [0x2B45A0, data, fragments/48/fragment48_data] - [0x2B45C0, rodata, fragments/48/fragment48_rodata] - [0x2B4620, bin, fragments/48/fragment48_reloc] - name: fragment49 type: code bss_size: 0x0 start: 0x2B46F0 vram: 0x83A00000 subsegments: - [0x2B46F0, hasm, fragments/49/fragment49_header] - [0x2B4710, c, fragments/49/fragment49_code] - [0x2B5240, data, fragments/49/fragment49_data] - [0x2B5260, bin, fragments/49/fragment49_reloc] # hall of fame loader - name: fragment50 type: code bss_size: 0x0 start: 0x2B5350 vram: 0x82600000 subsegments: - [0x2B5350, hasm, fragments/50/fragment50_header] - [0x2B5370, c, fragments/50/fragment50_code] - [0x2B91D0, data, fragments/50/fragment50_data] - [0x2BC690, rodata, fragments/50/fragment50_rodata] - [0x2BC760, bin, fragments/50/fragment50_reloc] - name: fragment51 type: code bss_size: 0x0 start: 0x2BD0A0 vram: 0x82800000 # unknown vram due to being unused, but based on the patterns before hand, this is probably 82800000. subsegments: - [0x2BD0A0, bin, fragments/51/fragment51_header] # need to leave it as a bin. Splat thinks there's a pointer - [0x2BD0C0, c, fragments/51/fragment51_code] - [0x2BD120, bin, fragments/51/fragment51_reloc] - name: fragment52 type: code bss_size: 0x0 start: 0x2BD130 vram: 0x82900000 # unknown vram due to being unused, but based on the patterns before hand, this is probably 82900000. subsegments: - [0x2BD130, bin, fragments/52/fragment52_header] # need to leave it as a bin. Splat thinks there's a pointer - [0x2BD150, c, fragments/52/fragment52_code] - [0x2BD600, data, fragments/52/fragment52_data] - [0x2BD660, bin, fragments/52/fragment52_reloc] - name: fragment53 type: code bss_size: 0x0 start: 0x2BD6E0 vram: 0x82A00000 subsegments: - [0x2BD6E0, hasm, fragments/53/fragment53_header] - [0x2BD700, c, fragments/53/fragment53_code] - [0x2BDA40, data, fragments/53/fragment53_data] - [0x2BDA50, bin, fragments/53/fragment53_reloc] # RENTAL battle, rules, registration loader - name: fragment54 type: code bss_size: 0x0 start: 0x2BDAC0 vram: 0x82B00000 subsegments: - [0x2BDAC0, bin, fragments/54/fragment54_header] # need to leave it as a bin. Splat thinks there's a pointer - [0x2BDAE0, c, fragments/54/fragment54_code] - [0x2BEBE0, data, fragments/54/fragment54_data] - [0x2BEC00, bin, fragments/54/fragment54_reloc] # RENTAL rules loader - name: fragment55 type: code bss_size: 0x0 start: 0x2BED20 vram: 0x83000000 subsegments: - [0x2BED20, hasm, fragments/55/fragment55_header] - [0x2BED40, c, fragments/55/fragment55_code] - [0x2C26E0, data, fragments/55/fragment55_data] - [0x2C28A0, rodata, fragments/55/fragment55_rodata] - [0x2C29A0, bin, fragments/55/fragment55_reloc] # options code - name: fragment56 type: code bss_size: 0x0 start: 0x2C3220 vram: 0x82C00000 subsegments: - [0x2C3220, hasm, fragments/56/fragment56_header] - [0x2C3240, c, fragments/56/fragment56_code] - [0x2C4880, bin, fragments/56/fragment56_reloc] # RENTAL registration code - name: fragment57 type: code bss_size: 0x0 start: 0x2C49D0 vram: 0x82D00000 subsegments: - [0x2C49D0, hasm, fragments/57/fragment57_header] - [0x2C49F0, c, fragments/57/fragment57_code] - [0x2CB970, data, fragments/57/fragment57_data] - [0x2CE950, rodata, fragments/57/fragment57_rodata] - [0x2CE9C0, bin, fragments/57/fragment57_reloc] # sandshrew minigame stage animation - name: fragment58 type: code bss_size: 0x0 start: 0x2CF350 vram: 0x84000000 subsegments: - [0x2CF350, hasm, fragments/58/fragment58_header] - [0x2CF370, c, fragments/58/fragment58_code] - [0x2D1F30, data, fragments/58/fragment58_data] - [0x2D2000, rodata, fragments/58/fragment58_rodata] - [0x2D2050, bin, fragments/58/fragment58_reloc] # stadium loader - name: fragment59 type: code bss_size: 0x0 start: 0x2D24C0 vram: 0x84100000 subsegments: - [0x2D24C0, hasm, fragments/59/fragment59_header] - [0x2D24E0, c, fragments/59/fragment59_code] - [0x2D48F0, data, fragments/59/fragment59_data] - [0x2D58F0, rodata, fragments/59/fragment59_rodata] - [0x2D5900, bin, fragments/59/fragment59_reloc] # cup code - name: fragment60 type: code bss_size: 0x0 start: 0x2D5CB0 vram: 0x82E00000 subsegments: - [0x2D5CB0, hasm, fragments/60/fragment60_header] - [0x2D5CD0, c, fragments/60/fragment60_code] - [0x2D6DC0, data, fragments/60/fragment60_data] - [0x2D7650, rodata, fragments/60/fragment60_rodata] - [0x2D7660, bin, fragments/60/fragment60_reloc] # RENTAL pokemon loader - name: fragment61 type: code bss_size: 0x0 start: 0x2D7890 vram: 0x84200000 subsegments: - [0x2D7890, hasm, fragments/61/fragment61_header] - [0x2D78B0, c, fragments/61/fragment61_code] - [0x2E85D0, data, fragments/61/fragment61_data] - [0x2E9120, rodata, fragments/61/fragment61_rodata] - [0x2E93C0, bin, fragments/61/fragment61_reloc] # battle system code - name: fragment62 type: code bss_size: 0x0 start: 0x2EA8C0 vram: 0x84300000 subsegments: - [0x2EA8C0, hasm, fragments/62/fragment62_header] - [0x2EA8E0, c, fragments/62/fragment62_code] - [0x36EC10, data, fragments/62/fragment62_data] - [0x3759C0, rodata, fragments/62/fragment62_rodata] - [0x378D00, bin, fragments/62/fragment62_reloc] # battle preparation flags, rules, code - name: fragment63 type: code bss_size: 0x0 start: 0x394100 vram: 0x84B00000 subsegments: - [0x394100, hasm, fragments/63/fragment63_header] - [0x394120, c, fragments/63/fragment63_code] - [0x3A3C10, data, fragments/63/fragment63_data] - [0x3AD980, rodata, fragments/63/fragment63_rodata] - [0x3ADA10, bin, fragments/63/fragment63_reloc] # menu selector before battle code - name: fragment64 type: code bss_size: 0x0 start: 0x3AEE50 vram: 0x84800000 subsegments: - [0x3AEE50, hasm, fragments/64/fragment64_header] - [0x3AEE70, c, fragments/64/fragment64_code] - [0x3B2390, data, fragments/64/fragment64_data] - [0x3B2530, rodata, fragments/64/fragment64_rodata] - [0x3B25B0, bin, fragments/64/fragment64_reloc] # gym leader castle loader - name: fragment65 type: code bss_size: 0x0 start: 0x3B2AE0 vram: 0x84A00000 subsegments: - [0x3B2AE0, hasm, fragments/65/fragment65_header] - [0x3B2B00, c, fragments/65/fragment65_code] - [0x3B59E0, data, fragments/65/fragment65_data] - [0x3B5BE0, rodata, fragments/65/fragment65_rodata] - [0x3B5C10, bin, fragments/65/fragment65_reloc] - name: fragment66 type: code bss_size: 0x0 start: 0x3B6130 vram: 0x83200000 subsegments: - [0x3B6130, hasm, fragments/66/fragment66_header] - [0x3B6150, c, fragments/66/fragment66_code] - [0x3B8080, data, fragments/66/fragment66_data] - [0x3B8140, bin, fragments/66/fragment66_reloc] - name: fragment67 type: code bss_size: 0x0 start: 0x3B8530 vram: 0x8F000000 subsegments: - [0x3B8530, hasm, fragments/67/fragment67_header] - [0x3B8550, c, fragments/67/fragment67_code] - [0x3B8560, bin, fragments/67/fragment67_reloc] # These are a bunch of seemingly unused(?) fragments which all they do is access or load fragment 67. - name: fragment68 type: code bss_size: 0x0 start: 0x3B8570 vram: 0x8F100000 # unknown vram. Another unused one? Might be 8F100000? subsegments: - [0x3B8570, hasm, fragments/68/fragment68_header] - [0x3B8590, c, fragments/68/fragment68_code] - [0x3B85F0, bin, fragments/68/fragment68_reloc] - name: fragment69 type: code bss_size: 0x0 start: 0x3B8600 vram: 0x8F200000 # unknown vram. Another unused one? Might be 8F200000? subsegments: - [0x3B8600, hasm, fragments/69/fragment69_header] - [0x3B8620, c, fragments/69/fragment69_code] - [0x3B8680, bin, fragments/69/fragment69_reloc] - name: fragment70 type: code bss_size: 0x0 start: 0x3B8690 vram: 0x8F300000 # unknown vram. Another unused one? Might be 8F300000? subsegments: - [0x3B8690, hasm, fragments/70/fragment70_header] - [0x3B86B0, c, fragments/70/fragment70_code] - [0x3B8710, bin, fragments/70/fragment70_reloc] - name: fragment71 type: code bss_size: 0x0 start: 0x3B8720 vram: 0x8F400000 # unknown vram. Another unused one? Might be 8F400000? subsegments: - [0x3B8720, hasm, fragments/71/fragment71_header] - [0x3B8740, c, fragments/71/fragment71_code] - [0x3B87A0, bin, fragments/71/fragment71_reloc] - name: fragment72 type: code bss_size: 0x0 start: 0x3B87B0 vram: 0x8F500000 # unknown vram. Another unused one? Might be 8F500000? subsegments: - [0x3B87B0, hasm, fragments/72/fragment72_header] - [0x3B87D0, c, fragments/72/fragment72_code] - [0x3B8830, bin, fragments/72/fragment72_reloc] - name: fragment73 type: code bss_size: 0x0 start: 0x3B8840 vram: 0x8F600000 # unknown vram. Another unused one? Might be 8F600000? subsegments: - [0x3B8840, hasm, fragments/73/fragment73_header] - [0x3B8860, c, fragments/73/fragment73_code] - [0x3B88C0, bin, fragments/73/fragment73_reloc] - name: fragment74 type: code bss_size: 0x0 start: 0x3B88D0 vram: 0x8F700000 # unknown vram. Another unused one? Might be 8F700000? subsegments: - [0x3B88D0, hasm, fragments/74/fragment74_header] - [0x3B88F0, c, fragments/74/fragment74_code] - [0x3B8950, bin, fragments/74/fragment74_reloc] - name: fragment75 type: code bss_size: 0x0 start: 0x3B8960 vram: 0x8FA00000 subsegments: - [0x3B8960, hasm, fragments/75/fragment75_header] - [0x3B8980, c, fragments/75/fragment75_code] - [0x3B9350, data, fragments/75/fragment75_data] - [0x3B9380, bin, fragments/75/fragment75_reloc] - name: fragment76 type: code bss_size: 0x0 start: 0x3B9590 vram: 0x8FB00000 # unknown vram. Another unused one? Might be 8FB00000? subsegments: - [0x3B9590, hasm, fragments/76/fragment76_header] - [0x3B95B0, c, fragments/76/fragment76_code] - [0x3B9610, bin, fragments/76/fragment76_reloc] - name: fragment77 type: code bss_size: 0x0 start: 0x3B9620 vram: 0x8FC00000 # unknown vram. Another unused one? Might be 8FC00000? subsegments: - [0x3B9620, bin, fragments/77/fragment77_header] # need to leave it as a bin. Splat thinks there's a pointer - [0x3B9640, c, fragments/77/fragment77_code] - [0x3B96A0, bin, fragments/77/fragment77_reloc] - [0x3B96B0, bin] - [0x3BA190, bin] - [0x3CB130, bin] - [0x45B580, bin] - [0x4A21C0, bin] - [0x4BD6B0, bin] - [0x4BE810, bin] - [0x4D1330, bin] - [0x4EB0C0, bin] - [0x5046B0, bin] - [0x52ABA0, bin] - [0x52F6D0, bin] - [0x533B20, bin] - [0x56E7D0, bin] - [0x5C7A70, bin] - [0x5C7AD0, bin] - [0x5F6790, bin] - [0x5F92A0, bin] - [0x5FFC30, bin] - [0x613110, bin] - [0x6230D0, bin] - [0x66E1D0, bin] - [0x66F540, bin] - [0x66FD80, bin] - [0x675FA0, bin] - [0x696350, bin] - [0x69D090, bin] - [0x6A9750, bin] - [0x6AE1D0, bin] - [0x6B0FB0, bin] - [0x6B4F00, bin] - [0x6C1AB0, bin] - [0x6C4CE0, bin] - [0x6C4E50, bin] - [0x6CA730, bin] - [0x6E2FC0, bin] - [0x6E8910, bin] - [0x6EB340, bin] - [0x6EC4D0, bin] - [0x6ECE80, bin] - [0x701E50, bin] - [0x70D3A0, bin] - [0x7820E0, bin] - [0x783760, bin] - [0x798CD0, bin] - [0x7994B0, bin] - [0x79AFB0, bin] - [0x79B8F0] # rest of ROM.. part 2. This area and beyond NEEDS to be hard-aligned to this address. # for the ROM to be shiftable, we need a way to fix this area beyond here to this address and for the prior area # to be filled with FFs instead of being binned. TODO: Make it shift - name: late_assets type: code bss_size: 0x0 start: 0x7C0000 vram: 0x8FC00000 # unknown vram. Another unused one? Might be 8FC00000? ld_align_segment_start: 0x7C0000 subsegments: - [0x7C0000, bin] - [0x2000000]