diff --git a/Makefile b/Makefile index 43b3a653..1a0b544a 100644 --- a/Makefile +++ b/Makefile @@ -166,7 +166,7 @@ OPT_FLAGS := -O2 MIPSBIT := -mips2 ASFLAGS := -EB -mtune=vr4300 -march=vr4300 -mabi=32 -I include GCC_ASFLAGS := -c -x assembler-with-cpp -mabi=32 -ffreestanding -mtune=vr4300 -march=vr4300 -mfix4300 -G 0 -O -mno-shared -fno-PIC -mno-abicalls -LDFLAGS := -T $(LD_SCRIPT) -Map $(ELF:.elf=.map) --no-check-sections --accept-unknown-input-arch -T manual_syms.txt +LDFLAGS := -T $(LD_SCRIPT) -Map $(ELF:.elf=.map) --no-check-sections --accept-unknown-input-arch -T manual_syms.$(VERSION).txt BINOFLAGS := -I binary -O elf32-tradbigmips ### Rules ### @@ -186,10 +186,17 @@ $(addprefix progress-,$(OVERLAYS)) : progress-% : progress/progress.%.csv @$(PROGRESS_READ) $< $(VERSION) $* # Verify that the roms match, also sets up diff_settings +ifeq ($(VERSION), us.v10) verify: $(BASEROM) $(FINAL_Z64) @$(DIFF) $(BASEROM) $(FINAL_Z64) > /dev/null && \ $(PRINT) "$(YELLOW) _\n _( )_\n [ ]_\n ) _ _)\n [_( )_]\n$(BLUE)$(BASENAME).$(VERSION).z64$(NO_COL): $(GREEN)OK$(NO_COL)\n" || \ $(PRINT) "$(BLUE)$(BASEROM) $(RED)differs$(NO_COL)\n" +else +verify: $(DECOMPRESSED_BASEROM) $(PRELIM_Z64) + @$(DIFF) $^ > /dev/null && \ + $(PRINT) "$(YELLOW) _\n _( )_\n [ ]_\n ) _ _)\n [_( )_]\n$(BLUE)$(BASENAME).$(VERSION).z64$(NO_COL): $(GREEN)OK$(NO_COL)\n" || \ + $(PRINT) "$(BLUE)$(BASEROM) $(RED)differs$(NO_COL)\n" +endif $(OVERLAY_PROG_SVGS) : progress/progress_%.svg: progress/progress.%.csv $(call print1,Creating progress svg for:,$*) @@ -293,8 +300,12 @@ $(ASSET_ROOT)/assets.yaml : $(BIN_ROOT)/assets.bin $(BK_ASSET_TOOL) $(call print1,Extracting Assets:,$@) $(BK_ASSET_TOOL) -e $< $(ASSET_ROOT) -# .yaml -> .bin -ifneq (,$(shell which cargo)) +# .yaml -> . +ifeq ($(VERSION),pal) +$(ASSET_BIN): $(BIN_ROOT)/assets.bin + $(call print2,Copying Asset Binary (install cargo to construct instead):,$<,$@) + @$(CP) $< $@ +else ifneq (,$(shell which cargo)) $(ASSET_BIN): $(ASSET_ROOT)/assets.yaml $(BK_ASSET_TOOL) $(ALL_ASSET_FILES) $(call print2,Constructing Asset Binary:,$<,$@) $(BK_ASSET_TOOL) -c $< $@ @@ -316,7 +327,7 @@ $(DECOMPRESSED_BASEROM): $(BASEROM) $(BK_ROM_DECOMPRESS) # .o -> .elf (dummy symbols) $(PRELIM_ELF): $(ALL_OBJS) $(LD_SCRIPT) $(ASSET_OBJS) $(call print1,Linking elf:,$@) - @$(LD) $(LDFLAGS) -T rzip_dummy_addrs.txt -o $@ + @$(LD) $(LDFLAGS) -T rzip_dummy_addrs.$(VERSION).txt -o $@ # .elf -> .z64 (dummy symbols) $(PRELIM_Z64) : $(PRELIM_ELF) diff --git a/asm/core1/code_1E820.s b/asm/core1/code_1E820.s deleted file mode 100644 index 0b10453e..00000000 --- a/asm/core1/code_1E820.s +++ /dev/null @@ -1,57 +0,0 @@ -.include "macro.inc" - -/* assembler directives */ -.set noat /* allow manual use of $at */ -.set noreorder /* don't insert nops after branches */ -.set gp=64 /* allow use of 64-bit general purpose registers */ - -.section .text, "ax" - -glabel func_8025C240 -/* F37A70 8025C240 3C048027 */ lui $a0, %hi(D_80276E70) -/* F37A74 8025C244 DC846E70 */ ld $a0, %lo(D_80276E70)($a0) -/* F37A78 8025C248 3C018027 */ lui $at, %hi(D_80276E70) -/* F37A7C 8025C24C 000437FC */ dsll32 $a2, $a0, 31 -/* F37A80 8025C250 00042FF8 */ dsll $a1, $a0, 31 -/* F37A84 8025C254 000637FA */ dsrl $a2, $a2, 31 -/* F37A88 8025C258 0005283E */ dsrl32 $a1, $a1, 0 -/* F37A8C 8025C25C 0004233C */ dsll32 $a0, $a0, 12 -/* F37A90 8025C260 00C53025 */ or $a2, $a2, $a1 -/* F37A94 8025C264 0004203E */ dsrl32 $a0, $a0, 0 -/* F37A98 8025C268 00C43026 */ xor $a2, $a2, $a0 -/* F37A9C 8025C26C 0006253A */ dsrl $a0, $a2, 20 -/* F37AA0 8025C270 30840FFF */ andi $a0, $a0, 0xFFF -/* F37AA4 8025C274 00862026 */ xor $a0, $a0, $a2 -/* F37AA8 8025C278 0004103C */ dsll32 $v0, $a0, 0 -/* F37AAC 8025C27C FC246E70 */ sd $a0, %lo(D_80276E70)($at) -/* F37AB0 8025C280 03E00008 */ jr $ra -/* F37AB4 8025C284 0002103F */ dsra32 $v0, $v0, 0 -endlabel func_8025C240 - -glabel func_8025C288 -/* F37AB8 8025C288 64840001 */ daddiu $a0, $a0, 0x1 -/* F37ABC 8025C28C 3C018027 */ lui $at, %hi(D_80276E70) -/* F37AC0 8025C290 FC246E70 */ sd $a0, %lo(D_80276E70)($at) -/* F37AC4 8025C294 03E00008 */ jr $ra -/* F37AC8 8025C298 24040000 */ addiu $a0, $zero, 0x0 -endlabel func_8025C288 - -glabel func_8025C29C -/* F37ACC 8025C29C DC870000 */ ld $a3, 0x0($a0) -/* F37AD0 8025C2A0 000737FC */ dsll32 $a2, $a3, 31 -/* F37AD4 8025C2A4 00072FF8 */ dsll $a1, $a3, 31 -/* F37AD8 8025C2A8 000637FA */ dsrl $a2, $a2, 31 -/* F37ADC 8025C2AC 0005283E */ dsrl32 $a1, $a1, 0 -/* F37AE0 8025C2B0 00073B3C */ dsll32 $a3, $a3, 12 -/* F37AE4 8025C2B4 00C53025 */ or $a2, $a2, $a1 -/* F37AE8 8025C2B8 0007383E */ dsrl32 $a3, $a3, 0 -/* F37AEC 8025C2BC 00C73026 */ xor $a2, $a2, $a3 -/* F37AF0 8025C2C0 00063D3A */ dsrl $a3, $a2, 20 -/* F37AF4 8025C2C4 30E70FFF */ andi $a3, $a3, 0xFFF -/* F37AF8 8025C2C8 00E63826 */ xor $a3, $a3, $a2 -/* F37AFC 8025C2CC 0007103C */ dsll32 $v0, $a3, 0 -/* F37B00 8025C2D0 FC870000 */ sd $a3, 0x0($a0) -/* F37B04 8025C2D4 03E00008 */ jr $ra -/* F37B08 8025C2D8 0002103F */ dsra32 $v0, $v0, 0 -/* F37B0C 8025C2DC 00000000 */ nop -endlabel func_8025C29C diff --git a/decompressed.pal.yaml b/decompressed.pal.yaml new file mode 100644 index 00000000..5200f1e2 --- /dev/null +++ b/decompressed.pal.yaml @@ -0,0 +1,2375 @@ +sha1: e93112b7a5da3788a8c6f99ac7f45f8a068a6df5 +options: + basename: banjo + find_file_boundaries: True + compiler: "IDO" + platform: n64 + asm_end_label: "endlabel" + cpp_args: + - "-Iinclude" + - "-Iinclude/2.0L" + - "-D_LANGUAGE_C" + generated_c_preamble: | + #include + #include "functions.h" + #include "variables.h" + undefined_syms_path: undefined_syms.pal.txt + symbol_addrs_path: symbol_addrs.pal.txt + create_undefined_funcs_auto: yes + create_undefined_syms_auto: yes + base_path: . + target_path: decompressed.pal.z64 + asset_path: bin + build_path: build/pal + libultra_symbols: True + hardware_regs: True +segments: +- name: header + type: header + start: 0x00000000 +- name: boot + type: code + start: 0x0040 + vram: 0xA4000040 + exclusive_ram_id: ipl3 + subsegments: + - [0x0040, bin, ipl3] + - [0x0B70, bin, ipl3font] +- name: entry + type: code + start: 0x1000 + vram: 0x80000400 + subsegments: + - [0x1000, hasm, entry] +- name: boot/bk_boot + type: code + start: 0x1050 + vram: 0x80000450 + subsegments: + - [0x1050, c, done/bk_boot_1050] + - [0x1150, c, done/rarezip] + - [0x12B0, c, done/inflate] + - [0x27F0, c, done/overlays] + - [0x2970, c, done/initialize] + - [0x2C00, c, done/pirawdma] + - [0x2CE0, c, done/pigetstat] + - [0x2CF0, hasm, bzero] + - [0x2D90, hasm, setsr] + - [0x2DA0, hasm, getsr] + - [0x2DB0, hasm, setfpccsr] + - [0x2DC0, c, done/sirawread] + - [0x2E10, c, done/sirawwrite] + - [0x2E60, hasm, ultra/exceptasm] + - [0x3770, hasm, writebackdcache] + - [0x37F0, hasm, invalicache] + - [0x3870, hasm, maptlbrdb] + - [0x38D0, c, done/pirawread] + - [0x3930, c, done/ll] + - [0x3BF0, hasm, ultra/parameters] + - [0x3C50, c, done/virtualtophysical] + - [0x3CD0, c, done/si] + - [0x3D00, c, done/thread] + - [0x3D40, c, done/leointerrupt] + - [0x45C0, c, done/seteventmesg] + - [0x4630, hasm, ultra/setintmask] + - [0x46D0, c, done/destroythread] + - [0x47D0, hasm, probetlb] + - [0x4890, c, done/leodiskinit] + - [0x4990, c, done/epirawdma] + - [0x4BC0, hasm, interrupt] + - [0x4C00, c, done/pimgr] + - [0x4D90, c, done/cartrominit] + - [0x4E90, c, done/createmesgqueue] + - [0x4EC0, c, done/piacs] + - [0x4F80, c, done/getthreadpri] + - [0x4FA0, c, done/setthreadpri] + - [0x5080, c, done/createthread] + - [0x51D0, c, done/devmgr] + - [0x5660, c, done/startthread] + - [0x57B0, c, done/sendmesg] + - [0x5900, c, done/recvmesg] + - [0x5A40, c, done/resetglobalintmask] + - [0x5AA0, c, done/epirawwrite] + - [0x5AF0, c, done/epirawread] + - [0x5B40, c, done/setglobalintmask] + - [0x5B90, c, done/yieldthread] + - [0x5BE0, c, done/kdebugserver] + - [0x5BE0, .data, done/inflate] + - [0x5CE0, .data, done/initialize] + - [0x5D00, .data, ultra/exceptasm] + - [0x5D20, .data, done/thread] + - [0x5D40, .data, done/pimgr] + - [0x5D70, .data, done/piacs] + - [0x5D80, .rodata, ultra/exceptasm] + - [0x5DD0, .rodata, ultra/setintmask] + - [0x5E50, .rodata, done/devmgr] + - [0x5E70, .bss, done/bk_boot_1050] + - [0x5E70, .bss, done/rarezip] + - [0x5E70, .bss, done/inflate] + - [0x5E70, .bss, done/initialize] + - [0x5E70, .bss, done/kdebugserver] + - [0x5E70, .bss, done/leointerrupt] + - [0x5E70, .bss, done/seteventmesg] + - [0x5E70, .bss, done/leodiskinit] + - [0x5E70, .bss, done/pimgr] + - [0x5E70, .bss, done/cartrominit] + - [0x5E70, .bss, done/piacs] +- name: crc + type: bin + start: 0x5E70 + align: 16 + subsegments: + - [0x5E70, bin, crc] +- name: assets + type: bin + start: 0x5E90 + subsegments: + - [0x5E90, bin, assets] +# - name: soundfont1ctl +# type: bin +# start: 0xD846C0 +# - name: soundfont1tbl +# type: bin +# start: 0xD954B0 + +# - name: soundfont2ctl +# type: bin +# start: 0xEA3EB0 +# - name: soundfont2tbl +# type: bin +# start: 0xEADE60 + +- name: core1 + dir: core1 + type: code + start: 0x00F3D980 + vram: 0x8023E620 # via https://hack64.net/wiki/doku.php?id=player_kazooie:ram_map + subalign: 4 + subsegments: + - [0xF3D980, c, code_0] + - [0xF3DFE0, c, code_660] + - [0xF3E140, c, inflate] + - [0xF3F680, c, code_1D00] # NONMATCHING + - [0xF40490, c, code_2BD0] + - [0xF40650, c, defragmanager] + - [0xF40850, c, code_2FA0] + - [0xF40A70, c, code_31C0] + - [0xF40B00, c, code_3250] + - [0xF41320, c, code_3A70] + - [0xF42F00, c, code_5650] + - [0xF44940, c, code_7090] + - [0xF44b60, c, code_72B0] + - [0xF45810, c, code_7F60] + - [0xF46500, bin, untouched] +# # - [0xF21EA0, c, code_8C50] #DONE +# # - [0xF22F80, c, code_9D30] #DONE +# # - [0xF23E00, c, code_ABB0] #DONE +# # - [0xF260B0, c, code_CE60] #DONE +# # - [0xF275B0, c, code_E360] #DONE +# # - [0xF27D40, c, code_EAF0] #DONE +# # - [0xF29C50, c,code_10A00] +# # - [0xF2AD10, c, code_11AC0] #DONE +# # - [0xF2C160, c, rumblemanager] #DONE +# # - [0xF2C890, c, code_13640] #DONE +# # - [0xF2C8D0, c, code_13680] #DONE +# # - [0xF2C920, c, overlaymanager] #DONE +# # - [0xF2CBE0, c, code_13990] +# # - [0xF2E840, hasm, code_155F0] #DONE +# # - [0xF2E880, c, overlay] #DONE +# # - [0xF2E9C0, c, code_15770] #DONE +# # - [0xF2ED80, c, code_15B30] #DONE +# # - [0xF2FCA0, c, memory] #DONE +# # - [0xF31360, c, code_18110] #DONE +# # - [0xF31460, c, code_18210] #DONE +# # - [0xF31560, c, code_18310] #DONE +# # - [0xF315A0, c, code_18350] #DONE +# # - [0xF350E0, c, code_1BE90] #DONE +# # - [0xF367E0, c, code_1D590] #DONE +# # - [0xF36810, hasm, code_1D5C0] #DONE +# # - [0xF36820, c, code_1D5D0] #DONE +# # - [0xF375B0, c, code_1E360] #DONE +# # - [0xF37930, c, code_1E6E0] #DONE +# # - [0xF37A70, hasm, code_1E820] #DONE +# # - [0xF37B10, c, audio/n_sl] #DONE +# # - [0xF37BA0, c, audio/n_synthesizer] #DONE +# # - [0xF38580, c, audio/event] #DONE +# # - [0xF38860, c, audio/n_synaddplayer] #DONE +# # - [0xF38A30, c, audio/n_synallocvoice] #DONE +# # - [0xF38C30, c, audio/n_synsetvol] #DONE +# # - [0xF38CD0, c, audio/n_synstartvoice] #DONE +# # - [0xF38D50, c, audio/n_synsetpan] #DONE +# # - [0xF38DD0, c, audio/n_synsetpitch] #DONE +# # - [0xF38E50, c, audio/n_synsetfxmix] #DONE +# # - [0xF38EE0, c, audio/n_synstopvoice] #DONE +# # - [0xF38F50, c, audio/n_synfreevoice] #DONE +# # - [0xF38FF0, c, audio/n_csplayer] #DONE +# # - [0xF3A460, c, audio/cspsetbank] #DONE +# # - [0xF3A4A0, c, audio/cspstop] #DONE +# # - [0xF3A4D0, c, audio/n_csq] #DONE +# # - [0xF3AB70, c, audio/cspsetseq] #DONE +# # - [0xF3ABB0, c, audio/cspplay] #DONE +# # - [0xF3ABE0, c, audio/cspsetvol] #DONE +# # - [0xF3AC20, c, audio/code_219D0] #DONE +# # - [0xF3AC60, c, audio/cspsettempo] #DONE +# # - [0xF3ACD0, c, audio/code_21A80] #DONE +# # - [0xF3AD00, c, audio/cspgettempo] #DONE +# # - [0xF3AD40, c, audio/code_21AF0] #DONE +# # - [0xF3ADA0, c, audio/code_21B50] #DONE +# # - [0xF3AE40, c, audio/n_syndelete] #DONE +# # - [0xF3AEA0, c, audio/n_synallocfx] #DONE +# # - [0xF3AF00, c, audio/n_reverb] #DONE +# # - [0xF3B990, c, audio/n_auxbus] #DONE +# # - [0xF3BA40, c, audio/n_drvrNew] #DONE +# # - [0xF3BFA0, c, audio/n_save] #DONE +# # - [0xF3BFF0, c, audio/n_envresample] #DONE +# # - [0xF3C090, c, audio/n_env] #DONE +# # - [0xF3CA40, c, audio/n_seqplayer] #DONE +# # - [0xF3E5B0, c, audio/n_synstartvoiceparam] #DONE +# # - [0xF3E690, c, audio/n_mainbus] #DONE +# # - [0xF3E710, c, audio/n_load] #DONE +# # - [0xF3E8D0, c, audio/n_adpcm] #DONE +# # - [0xF3EE90, c, audio/n_resample] #DONE +# # - [0xF3F070, c, audio/n_seq] #DONE +# # - [0xF3F360, c, audio/n_synsetpriority] #DONE +# # - [0xF3F370, asm, os/invaldcache] #DONE +# # - [0xF3F410, asm, os/writebackdcacheall] #DONE +# # - [0xF3F440, c, os/initialize] #DONE +# # - [0xF3F6D0, c, os/createthread] #DONE +# # - [0xF3F820, c, gu/sinf] #DONE +# # - [0xF3F9E0, c, audio/cents2ratio] #DONE +# # - [0xF3FA30, c, audio/heapinit] #DONE +# # - [0xF3FA70, hasm, ultra/parameters] #DONE +# # - [0xF3FAD0, c, os/createmesgqueue] #DONE +# # - [0xF3FB00, c, io/aisetfreq] #DONE +# # - [0xF3FC60, c, audio/sl] #DONE +# # - [0xF3FD20, c, audio/heapalloc] #DONE +# # - [0xF3FD80, c, os/recvmesg] #DONE +# # - [0xF3FEC0, c, io/aigetlen] #DONE +# # - [0xF3FED0, c, os/virtualtophysical] #DONE +# # - [0xF3FF50, c, io/aisetnextbuf] #DONE +# # - [0xF40000, c, os/pidma] #DONE +# # - [0xF40110, c, os/stopthread] #DONE +# # - [0xF401D0, c, os/startthread] #DONE +# # - [0xF40320, hasm, os/writebackdcache] #DONE +# # - [0xF403A0, hasm, invaldcache] #DONE +# # - [0xF40450, c, io/pimgr] #DONE +# # - [0xF405E0, c, os/destroythread] #DONE +# # - [0xF406E0, c, os/sendmesg] #DONE +# # - [0xF40830, c, os/settreadpri] #DONE +# # - [0xF40910, c, gu/mtxutil] #DONE +# # - [0xF40B80, c, gu/sqrtf] #DONE +# # - [0xF40B90, c, gu/cosf] #DONE +# # - [0xF40D00, hasm, ultra/setintmask] #DONE +# # - [0xF40DA0, c, io/dpsetstat] #DONE +# # - [0xF40DB0, c, io/sptask] #DONE +# # - [0xF410A0, c, io/dpgetstat] #DONE +# # - [0xF410A0, c, io/vigetcurrframebuf] #DONE +# # - [0xF410F0, c, os/stoptimer] #DONE +# # - [0xF411E0, c, os/settimer] #DONE +# # - [0xF412C0, c, ll] #DONE +# # - [0xF41580, c, io/sptaskyielded] #DONE +# # - [0xF41600, c, io/sptaskyield] #DONE +# # - [0xF41620, c, io/visetmode] #DONE +# # - [0xF41690, c, os/seteventmesg] #DONE +# # - [0xF41700, c, io/vimgr] #DONE +# # - [0xF41A60, c, io/visetspecial] #DONE +# # - [0xF41C20, c, io/viswapbuf] #DONE +# # - [0xF41C70, c, io/visetevent] #DONE +# # - [0xF41CE0, c, io/vigetnextframebuf] #DONE +# # - [0xF41D20, c, io/viblack] #DONE +# # - [0xF41D90, c, gu/ortho] #DONE +# # - [0xF41F50, c, gu/translate] #DONE +# # - [0xF41FF0, c, gu/rotate] #DONE +# # - [0xF421E0, c, io/contreaddata] #DONE +# # - [0xF42440, c, io/controller] #DONE +# # - [0xF42800, c, io/contsetch] #DONE +# # - [0xF42870, c, audio/bnkf] #DONE +# # - [0xF42AC0, c, os/gettime] #DONE +# # - [0xF42B50, c, audio/cseq] #DONE +# # - [0xF43610, c, io/motor] #DONE +# # - [0xF43C30, c, io/pfsinit] #DONE +# # - [0xF43CF0, hasm, invalicache] #DONE +# # - [0xF43D70, c, io/conteeplongwrite] #DONE +# # - [0xF43EA0, c, io/conteeplongread] #DONE +# # - [0xF43F30, c, io/piread] #DONE +# # - [0xF43F70, c, audio/copy] #DONE +# # - [0xF43FF0, c, audio/drvrNew] #DONE +# # - [0xF44790, c, audio/reverb] #DONE +# # - [0xF453E0, c, syncprintf] #DONE +# # - [0xF45420, c, audio/seq] #DONE +# # - [0xF45A40, hasm, setsr] #DONE +# # - [0xF45A50, hasm, getsr] #DONE +# # - [0xF45A60, hasm, setfpccsr] #DONE +# # - [0xF45A70, c, io/sirawread] #DONE +# # - [0xF45AC0, c, io/sirawwrite] #DONE +# # - [0xF45B10, hasm, ultra/exceptasm] #DONE +# # - [0xF46480, c, io/pirawread] #DONE +# # - [0xF464E0, hasm, interrupt] #DONE +# # - [0xF46520, c, os/thread] #DONE +# # - [0xF46560, c, audio/synthesizer] #DONE +# # - [0xF46C40, c, audio/syndelete] #DONE +# # - [0xF46C50, hasm, probetlb] #DONE +# # - [0xF46D10, c, io/ai] #DONE +# # - [0xF46D40, c, os/jammesg] #DONE +# # - [0xF46E90, c, io/pigetcmdq] #DONE +# # - [0xF46EC0, c, io/cartrominit] #DONE +# # - [0xF46FC0, c, io/leodiskinit] #DONE +# # - [0xF470C0, c, io/piacs] #DONE +# # - [0xF47180, c, os/getthreadpri] #DONE +# # - [0xF471A0, c, io/pirawdma] #DONE +# # - [0xF47280, c, io/epirawdma] #DONE +# # - [0xF474B0, c, io/devmgr] #DONE +# # - [0xF47940, hasm, bcopy] #DONE +# # - [0xF47C50, c, io/spsetstat] #DONE +# # - [0xF47C60, c, io/spsetpc] #DONE +# # - [0xF47CA0, c, io/sprawdma] #DONE +# # - [0xF47D30, c, io/sp] #DONE +# # - [0xF47D60, c, io/vi] #DONE +# # - [0xF47EA0, c, os/timerintr] #DONE +# # - [0xF482A0, hasm, setcompare] #DONE +# # - [0xF482B0, c, io/spgetstat] #DONE +# # - [0xF482C0, c, io/vigetcurrcontext] #DONE +# # - [0xF482D0, c, io/viswapcontext] #DONE +# # - [0xF48630, hasm, getcount] #DONE +# # - [0xF48640, c, gu/normalize] #DONE +# # - [0xF486D0, c, io/siacs] #DONE +# # - [0xF48790, c, io/sirawdma] #DONE +# # - [0xF48840, c, io/pfsisplug] #DONE +# # - [0xF48BB0, c, io/crc] #DONE +# # - [0xF48D30, c, io/contramwrite] #DONE +# # - [0xF490B0, c, io/contramread] #DONE +# # - [0xF49440, c, io/pfsgetstatus] #DONE +# # - [0xF49550, c, io/contpfs] #DONE +# # - [0xF4A2B0, c, io/pfschecker] #DONE +# # - [0xF4AD10, c, io/conteepwrite] #DONE +# # - [0xF4B260, c, io/conteepread] #DONE +# # - [0xF4B5C0, c, audio/filter] #DONE +# # - [0xF4B5E0, c, audio/env] #DONE +# # - [0xF4C160, c, audio/load] #DONE +# # - [0xF4CCB0, c, audio/resample] #DONE +# # - [0xF4CFB0, c, audio/auxbus] #DONE +# # - [0xF4D0C0, c, audio/mainbus] #DONE +# # - [0xF4D210, c, audio/save] #DONE +# # - [0xF4D2D0, c, io/si] #DONE +# # - [0xF4D300, c, io/leointerrupt] #DONE +# # - [0xF4DB80, c, audio/synallocfx] #DONE +# # - [0xF4DC20, c, os/resetglobalintmask] #DONE +# # - [0xF4DC80, c, io/epirawwrite] #DONE +# # - [0xF4DCD0, c, io/epirawread] #DONE +# # - [0xF4DD20, c, os/setglobalintmask] #DONE +# # - [0xF4DD70, c, os/yieldthread] #DONE +# # - [0xF4DDC0, bin, n_aspMain_text] +# # - [0xF4EA20, bin, gSPF3DEX_fifo_text] +# # - [0xF4FE50, bin, gSPL3DEX_fifo_text] + - [0xF747D0, linker_offset, DATA_START] #data Section + - [0xF747D0, .data, code_0] + - [0xF74830, .data, code_660] + - [0xF74930, .data, code_1D00] + - [0xF74A10, bin, data_37E30] #unreferenced + - [0xF74A20, .data, code_2FA0] + - [0xF74A30, .data, code_3250] + - [0xF74A40, .data, code_3A70] + - [0xF74A80, .data, code_5650] + - [0xF74AA0, .data, code_7090] + - [0xF74AB0, bin, data_37ED0] #unreferenced + - [0xF74AC0, .data, code_7F60] + - [0xF74AD0, bin, remain_core1_data] +# # - [0xF51140, .data, code_8C50] +# # - [0xF51280, .data, code_9D30] +# # - [0xF51430, .data, code_ABB0] +# # - [0xF51440, .data, code_CE60] +# # - [0xF514B0, .data, code_E360] +# # - [0xF51550, .data, code_EAF0] +# # - [0xF51560, .data, code_10A00] +# # - [0xF51570, .data, code_11AC0] +# # - [0xF51B00, .data, overlaymanager] +# # - [0xF51DA0, .data, code_13990] +# # - [0xF51DB0, .data, code_15B30] +# # - [0xF51DC0, .data, memory] +# # - [0xF51DF0, .data, code_18310] +# # - [0xF524E0, .data, code_18350] +# # - [0xF52660, .data, code_1BE90] +# # - [0xF52670, .data, code_1D5D0] +# # - [0xF52690, .data, code_1E360] +# # - [0xF526A0, .data, data_1E820] +# # - [0xF526B0, .data, audio/n_sl] +# # - [0xF526C0, .data, audio/n_drvrNew] +# # - [0xF52850, .data, audio/n_env] +# # - [0xF52950, .data, os/initialize] +# # - [0xF52970, .data, audio/sl] +# # - [0xF52980, .data, io/aisetnextbuf] +# # - [0xF52990, .data, io/pimgr] +# # - [0xF529C0, .data, io/vimgr] +# # - [0xF529E0, .data, io/controller] +# # - [0xF529F0, .data, audio/drvrNew] +# # - [0xF52B80, .data, ultra/exceptasm] +# # - [0xF52BA0, .data, os/thread] +# # - [0xF52BC0, .data, io/piacs] +# # - [0xF52BD0, .data, io/vi] +# # - [0xF52C40, .data, os/timerintr] +# # - [0xF52C50, .data, io/siacs] +# # - [0xF52C60, .data, audio/env] +# # - [0xF52D60, .data, io/vimodepallan1] +# # - [0xF52DB0, .data, io/vimodempallan1] +# # - [0xF52DB0, .data, io/vimodentsclan1] + - [0xF766D0, .rodata, code_1D00] + - [0xF766F0, .rodata, code_3250] + - [0xF76700, .rodata, code_3A70] + - [0xF76710, .rodata, code_5650] + - [0xF76770, .rodata, code_72B0] + - [0xF76790, .rodata, code_7F60] + - [0xF767B0, bin, remain_core1_rodata] +# # - [0xF52F30, .rodata, code_9D30] +# # - [0xF52F50, .rodata, code_CE60] +# # - [0xF53220, .rodata, code_EAF0] +# # - [0xF532A0, .rodata, code_10A00] +# # - [0xF539B0, .rodata, code_11AC0] +# # - [0xF539C0, .rodata, rumblemanager] +# # - [0xF539D0, .rodata, overlaymanager] +# # - [0xF53A50, .rodata, code_13990] +# # - [0xF53A70, .rodata, code_18350] +# # - [0xF53B70, .rodata, code_1BE90] +# # - [0xF53BA0, .rodata, code_1D5D0] +# # - [0xF53C00, .rodata, audio/n_synthesizer] +# # - [0xF53C10, .rodata, audio/n_csplayer] +# # - [0xF53F80, .rodata, audio/n_reverb] +# # - [0xF53FB0, .rodata, audio/n_drvrNew] +# # - [0xF53FD0, .rodata, audio/n_env] +# # - [0xF54020, .rodata, audio/n_seqplayer] +# # - [0xF543D0, .rodata, audio/n_resample] +# # - [0xF543E0, .rodata, gu/sinf] +# # - [0xF54430, .rodata, audio/cents2ratio] +# # - [0xF54440, .rodata, gu/cosf] +# # - [0xF54490, .rodata, ultra/setintmask] +# # - [0xF54510, .rodata, gu/rotate] +# # - [0xF54520, .rodata, audio/cseq] +# # - [0xF54530, .rodata, audio/drvrNew] +# # - [0xF54550, .rodata, audio/reverb] +# # - [0xF54580, .rodata, audio/seq] +# # - [0xF54590, .rodata, ultra/exceptasm] +# # - [0xF545E0, hasm, ultra/libm_vals] # Nothing in this file, just here so splat sees it's ASM +# # - [0xF545E0, .rodata, ultra/libm_vals] +# # - [0xF545F0, .rodata, audio/synthesizer] +# # - [0xF54600, .rodata, io/devmgr] +# # - [0xF54620, .rodata, audio/env] +# # - [0xF54670, .rodata, audio/resample] +# # - [0xF546B0, bin, n_aspMain_data] +# # - [0xF54960, bin, gSPF3DEX_fifo_data] +# # - [0xF55160, bin, gSPL3DEX_fifo_data] + - [0xF791D0, .bss, code_0] + - [0xF791D0, .bss, code_660] + - [0xF791D0, .bss, inflate] + - [0xF791D0, .bss, code_1D00] + - [0xF791D0, .bss, code_2BD0] + - [0xF791D0, .bss, defragmanager] + - [0xF791D0, .bss, code_31C0] + - [0xF791D0, .bss, code_5650] + - [0xF791D0, .bss, code_7090] + - [0xF791D0, .bss, code_72B0] +# # - [0xF791D0, .bss, code_8C50] +# # - [0xF791D0, .bss, code_ABB0] +# # - [0xF791D0, .bss, code_CE60] +# # - [0xF791D0, .bss, code_E360] +# # - [0xF791D0, .bss, code_EAF0] +# # - [0xF791D0, .bss, code_10A00] +# # - [0xF791D0, .bss, code_11AC0] +# # - [0xF791D0, .bss, rumblemanager] +# # - [0xF791D0, .bss, code_13640] +# # - [0xF791D0, .bss, overlaymanager] +# # - [0xF791D0, .bss, code_13990] +# # - [0xF791D0, .bss, code_15770] +# # - [0xF791D0, .bss, code_15B30] +# # - [0xF791D0, .bss, memory] +# # - [0xF791D0, .bss, code_18210] +# # - [0xF791D0, .bss, code_1D5D0] +# # - [0xF791D0, .bss, code_1E360] +# # - [0xF791D0, .bss, os/initialize] +# # - [0xF791D0, .bss, io/pimgr] +# # - [0xF791D0, .bss, io/sptask] +# # - [0xF791D0, .bss, os/seteventmesg] +# # - [0xF791D0, .bss, io/vimgr] +# # - [0xF791D0, .bss, gu/rotate] +# # - [0xF791D0, .bss, io/controller] +# # - [0xF791D0, .bss, io/motor] +# # - [0xF791D0, .bss, io/cartrominit] +# # - [0xF791D0, .bss, io/leodiskinit] +# # - [0xF791D0, .bss, io/piacs] +# # - [0xF791D0, .bss, os/timerintr] +# # - [0xF791D0, .bss, io/siacs] +# # - [0xF791D0, .bss, io/pfsisplug] +# # - [0xF791D0, .bss, io/conteepread] +# # - [0xF791D0, .bss, os/kdebugserver] +# # - [0xF791D0, .bss, io/leointerrupt] +- name: core2 + dir: core2 + type: bin + start: 0x00F791D0 +# # vram: 0x80286DB0 # via https://hack64.net/wiki/doku.php?id=player_kazooie:ram_map +# # follows_vram: core1 +# # subsegments: +# # - [0xF791D0, c, animctrl] #DONE +# # - [0xF56430, c, anim/sprite] #DONE +# # - [0xF56A40, c, animcache] #DONE +# # - [0xF56EB0, c, code_1550] #DONE +# # - [0xF57290, c, code_1930] #DONE +# # - [0xF57BA0, c, code_2240] #DONE +# # - [0xF581F0, c, ba/anim] #DONE +# # - [0xF58DE0, c, snackerctl] #DONE +# # - [0xF59330, c, code_39D0] #DONE +# # - [0xF5A120, c, ba/marker] #DONE +# # - [0xF5C490, c, code_6B30] #DONE +# # - [0xF5C9C0, c, code_7060] #DONE +# # - [0xF5E700, c, code_8DA0] #DONE +# # - [0xF5EA40, c, code_90E0] #DONE +# # - [0xF5EBF0, c, code_9290] #DONE +# # - [0xF5EDB0, c, code_9450] #DONE +# # - [0xF5F260, c, code_9900] #DONE +# # - [0xF5F530, c, code_9BD0] #DONE +# # - [0xF5FF60, c, code_A600] #DONE +# # - [0xF60040, c, statetimer] #DONE +# # - [0xF602C0, c, code_A960] #DONE +# # - [0xF603C0, c, ba/model] #DONE +# # - [0xF60FB0, c, ba/drone] #DONE +# # - [0xF611B0, c, code_B850] #DONE +# # - [0xF614B0, c, eggshatter] #DONE +# # - [0xF61680, c, code_BD20] #DONE +# # - [0xF61A40, c, ba/falldamage] #DONE +# # - [0xF61D50, c, code_C3F0] #DONE +# # - [0xF61E10, c, code_C4B0] +# # - [0xF63160, c, ba/carry] #DONE +# # - [0xF63310, c, code_D9B0] #DONE +# # - [0xF638D0, c, code_DF70] #DONE +# # - [0xF63D70, c, code_E410] #DONE +# # - [0xF63FE0, c, abilityprogress] #DONE +# # - [0xF64270, c, code_E910] #DONE +# # - [0xF647A0, c, code_EE40] #DONE +# # - [0xF648B0, c, code_EF50] #DONE +# # - [0xF656C0, c, ba/physics] #DONE +# # - [0xF66630, c, code_10CD0] #DONE +# # - [0xF66700, c, pitch] #DONE +# # - [0xF669A0, c, code_11040] #DONE +# # - [0xF66BB0, c, climb] #DONE +# # - [0xF66DC0, c, code_11460] #DONE +# # - [0xF66FC0, c, code_11660] #DONE +# # - [0xF67130, c, code_117D0] #DONE +# # - [0xF671D0, c, code_11870] #DONE +# # - [0xF674A0, c, roll] #DONE +# # - [0xF67740, c, yaw] #DONE +# # - [0xF67CC0, c, code_12360] #DONE +# # - [0xF68020, c, code_126C0] #DONE +# # - [0xF68890, c, code_12F30] +# # - [0xF68FD0, c, bsList] #DONE +# # - [0xF690E0, c, code_13780] #DONE +# # - [0xF69260, c, bsStoredState] #DONE +# # - [0xF69360, c, code_13A00] #DONE +# # - [0xF69920, c, code_13FC0] #DONE +# # - [0xF69D80, c, code_14420] #DONE +# # - [0xF6B880, c, code_15F20] #DONE +# # - [0xF6B970, c, code_16010] #DONE +# # - [0xF6C5C0, c, code_16C60] #DONE +# # - [0xF6CB50, c, code_171F0] #DONE +# # - [0xF6CDB0, c, bs/ant] #DONE +# # - [0xF6DEB0, c, bs/bBarge] #DONE +# # - [0xF6E4F0, c, bs/bbuster] #DONE +# # - [0xF6EC90, c, bs/bee] #DONE +# # - [0xF6EEC0, c, bs/beeFly] #DONE +# # - [0xF6F960, c, bs/beeMain] #DONE +# # - [0xF70B40, c, bs/bEggAss] #DONE +# # - [0xF70DB0, c, bs/bEggHead] #DONE +# # - [0xF71060, c, bs/bFlap] #DONE +# # - [0xF71730, c, bs/bFlip] #DONE +# # - [0xF71D20, c, bs/bFly] #DONE +# # - [0xF73BA0, c, bs/bLongLeg] #DONE +# # - [0xF74EE0, c, bs/bPeck] #DONE +# # - [0xF75380, c, bs/bShock] #DONE +# # - [0xF75B10, c, bs/bSwim] #DONE +# # - [0xF77190, c, bs/bTrot] #DONE +# # - [0xF78DD0, c, bs/bWhirl] #DONE +# # - [0xF79850, c, bs/carry] #DONE +# # - [0xF79C50, c, bs/claw] #DONE +# # - [0xF79F90, c, bs/climb] #DONE +# # - [0xF7A790, c, bs/croc] #DONE +# # - [0xF7C0A0, c, bs/crouch] #DONE +# # - [0xF7C7D0, c, bs/die] #DONE +# # - [0xF7CD40, c, bs/drone] #DONE +# # - [0xF7CEB0, c, bs/droneenter] #DONE +# # - [0xF7D530, c, bs/dronegoto] #DONE +# # - [0xF7D8A0, c, bs/dronelook] #DONE +# # - [0xF7DB80, c, bs/dronevanish] #DONE +# # - [0xF7E170, c, bs/dronexform] #DONE +# # - [0xF7F430, c, bs/jig] #DONE +# # - [0xF7FAD0, c, bs/jump] #DONE +# # - [0xF809A0, c, bs/ow] #DONE +# # - [0xF80BA0, c, bs/pumpkin] #DONE +# # - [0xF81FA0, c, bs/rebound] #DONE +# # - [0xF82420, c, bs/rest] #DONE +# # - [0xF828F0, c, bs/sled] #DONE +# # - [0xF82AA0, c, bs/slide] #DONE +# # - [0xF82F40, c, bs/splat] #DONE +# # - [0xF83240, c, bs/stand] #DONE +# # - [0xF83E50, c, bs/swim] #DONE +# # - [0xF849A0, c, bs/surf] #DONE +# # - [0xF84B00, c, bs/talk] #DONE +# # - [0xF84C40, c, bs/timeout] #DONE +# # - [0xF84F10, c, bs/throw] #DONE +# # - [0xF85130, c, bs/turn] #DONE +# # - [0xF85410, c, bs/twirl] #DONE +# # - [0xF856D0, c, bs/walk] #DONE +# # - [0xF867D0, c, bs/walrus] #DONE +# # - [0xF88350, c, bs/washy] #DONE +# # - [0xF88710, c, nc/cameranodelist] #DONE +# # - [0xF88BB0, c, code_33250] #DONE +# # - [0xF88BB0, c, code_33310] #DONE +# # - [0xF89050, c, code_336F0] #DONE +# # - [0xF89410, c, code_33AB0] #DONE +# # - [0xF89590, c, code_33C30] #DONE +# # - [0xF896A0, c, nc/staticCamera] #DONE +# # - [0xF898F0, c, code_33F90] #DONE +# # - [0xF89C70, c, code_34310] #DONE +# # - [0xF8A0F0, c, code_34790] #DONE +# # - [0xF8AE80, c, code_35520] #DONE +# # - [0xF8B010, c, nc/dynamicCamera] #DONE +# # - [0xF8D310, c, code_379B0] #DONE +# # - [0xF8D630, c, nc/randomCamera] #DONE +# # - [0xF8D7B0, c, code_37E50] #DONE +# # - [0xF8DAB0, c, nc/dynamicCam10] #DONE +# # - [0xF8DC40, c, nc/dynamicCamD] #DONE +# # - [0xF8DDC0, c, nc/dynamicCam5] #DONE +# # - [0xF8DF90, c, nc/dynamicCam11] #DONE +# # - [0xF8E240, c, nc/dynamicCam8] #DONE +# # - [0xF8E430, c, nc/dynamicCam4] #DONE +# # - [0xF8E8A0, c, nc/dynamicCamC] #DONE +# # - [0xF8EAF0, c, code_F8EAF0] #DONE +# # - [0xF8ED40, c, nc/dynamicCamB] #DONE +# # - [0xF8F010, c, nc/dynamicCam13] #DONE +# # - [0xF8F370, c, nc/dynamicCam9] #DONE +# # - [0xF8F850, c, nc/dynamicCam12] #DONE +# # - [0xF90280, c, nc/dynamicCam1] #DONE +# # - [0xF904A0, c, nc/dynamicCam3] #DONE +# # - [0xF90770, c, nc/dynamicCamA] #DONE +# # - [0xF90C20, c, code_3B2C0] #DONE +# # - [0xF90E30, c, nc/dynamicCamF] #DONE +# # - [0xF90F20, c, nc/firstpersoncamera] #DONE +# # - [0xF914E0, c, spawnqueue] #DONE +# # - [0xF92D30, c, ch/gameSelect] #DONE +# # - [0xF94430, c, code_3EAD0] #DONE +# # - [0xF94590, c, code_3EC30] #DONE +# # - [0xF94640, c, ch/bubble] #DONE +# # - [0xF94850, c, ch/bigbutt] #DONE +# # - [0xF95A50, c, code_400F0] #DONE +# # - [0xF96400, c, ch/jiggy] #DONE +# # - [0xF96A90, c, ch/jigsawdance] #DONE +# # - [0xF96DC0, c, code_41460] #DONE +# # - [0xF97890, c, code_41F30] #DONE +# # - [0xF97910, c, code_41FB0] #DONE +# # - [0xF98600, c, ch/musicnote] #DONE +# # - [0xF98610, c, code_42CB0] #DONE +# # - [0xF98BB0, c, code_43250] #DONE +# # - [0xF98CF0, c, ch/trainers] #DONE +# # - [0xF99160, c, code_43800] #DONE +# # - [0xF993A0, c, code_43A40] #DONE +# # - [0xF99630, c, mapspecificflags] #DONE +# # - [0xF99A10, c, ch/crab] #DONE +# # - [0xF9AC70, c, code_45310] #DONE +# # - [0xF9C240, c, ch/code_468E0] #DONE +# # - [0xF9C520, c, ch/jinjo] #DONE +# # - [0xF9D1B0, c, ch/beehive] #DONE +# # - [0xF9D530, c, code_47BD0] #DONE +# # - [0xF9EED0, c, ch/soundsource] #DONE +# # - [0xF9F3D0, c, ch/shrapnel] #DONE +# # - [0xF9FD80, c, ch/gloop] #DONE +# # - [0xFA0050, c, code_4A6F0] #DONE +# # - [0xFA16D0, c, code_4BD70] #DONE +# # - [0xFA1770, c, code_4BE10] #DONE +# # - [0xFA1980, c, code_4C020] #DONE +# # - [0xFA54E0, c, ch/wadingboots] #DONE +# # - [0xFA5870, c, ch/badShad] #DONE +# # - [0xFA5DF0, c, code_50490] #DONE +# # - [0xFA60B0, c, ch/climbBase] #DONE +# # - [0xFA6330, c, code_509D0] #DONE +# # - [0xFA7100, c, code_517A0] #DONE +# # - [0xFA72B0, c, code_51950] #DONE +# # - [0xFA75F0, c, ch/collectible] #DONE +# # - [0xFA7BF0, c, ch/mole] #DONE +# # - [0xFA8F30, c, ch/molehill] #DONE +# # - [0xFA9370, c, code_53A10] #DONE +# # - [0xFA9570, c, code_53C10] #DONE +# # - [0xFAA6B0, c, code_54D50] #DONE +# # - [0xFAAAE0, c, code_55180] #DONE +# # - [0xFAACF0, c, code_55390] #DONE +# # - [0xFAB020, c, code_556C0] #DONE +# # - [0xFAB1B0, c, code_55850] #DONE +# # - [0xFAB3F0, c, ch/overlaycopyright] #DONE +# # - [0xFAB520, c, ch/overlaypressstart] #DONE +# # - [0xFAB780, c, ch/overlaynocontroller] #DONE +# # - [0xFABA50, c, ch/bottlesbonus] #DONE +# # - [0xFAD5D0, c, code_57C70] #DONE +# # - [0xFADB30, c, code_581D0] #DONE +# # - [0xFADE30, c, ch/bottlesbonuscursor] #DONE +# # - [0xFAF0E0, c, code_59780] #DONE +# # - [0xFAF340, c, code_599E0] #DONE +# # - [0xFAF3E0, c, code_59A80] #DONE +# # - [0xFAF6A0, c, ch/snacker] #DONE +# # - [0xFB0490, c, ch/snowman] #DONE +# # - [0xFB1000, c, ch/snowball] #DONE +# # - [0xFB16F0, c, ch/snowmanhat] #DONE +# # - [0xFB1810, c, code_5BEB0] +# # - [0xFB1BA0, c, code_5C240] #DONE +# # - [0xFB21D0, c, code_5C870] #DONE +# # - [0xFB3520, c, code_5DBC0] #DONE +# # - [0xFB5460, c, code_5FB00] #DONE +# # - [0xFB56E0, c, code_5FD80] #DONE +# # - [0xFB56F0, c, code_5FD90] #DONE +# # - [0xFB8930, c, code_62FD0] #DONE +# # - [0xFB8A30, c, code_630D0] #DONE +# # - [0xFB8D70, c, code_63410] #DONE +# # - [0xFB8FF0, c, code_63690] #DONE +# # - [0xFB9130, c, code_637D0] #DONE +# # - [0xFBAE20, c, code_654C0] #DONE +# # - [0xFBBDF0, c, code_66490] #DONE +# # - [0xFBBFF0, c, vla] #DONE +# # - [0xFBC410, c, fla] #DONE +# # - [0xFBC6F0, c, code_66D90] #DONE +# # - [0xFBC910, c, code_66FB0] #DONE +# # - [0xFBCDF0, c, gc/bound] #DONE +# # - [0xFBCFB0, c, code_67650] #DONE +# # - [0xFBD300, c, particle] #DONE +# # - [0xFBF8C0, c, code_69F60] #DONE +# # - [0xFBFE10, c, code_6A4B0] +# # - [0xFC0850, c, code_6AEF0] #DONE +# # - [0xFC0990, c, code_6B030] #DONE +# # - [0xFC1D40, c, fx/ripple] #DONE +# # - [0xFC2040, c, fx/sparkle] #DONE +# # - [0xFC2680, c, code_6CD20] #DONE +# # - [0xFC2820, c, code_6CEC0] #DONE +# # - [0xFC2990, c, code_6D030] #DONE +# # - [0xFC2BD0, c, code_6D270] #DONE +# # - [0xFC2DF0, c, code_6D490] #DONE +# # - [0xFC3390, c, code_6DA30] +# # - [0xFC6590, c, code_70C30] #DONE +# # - [0xFC6880, c, code_70F20] #DONE +# # - [0xFC7180, c, code_71820] #DONE +# # - [0xFC79C0, c, code_72060] #DONE +# # - [0xFC8470, c, code_72B10] #DONE +# # - [0xFC8FA0, c, code_73640] #DONE +# # - [0xFC99F0, c, code_74090] #DONE +# # - [0xFC9BF0, c, code_74290] #DONE +# # - [0xFC9D80, c, code_74420] #DONE +# # - [0xFCA270, c, code_74910] #DONE +# # - [0xFCA830, c, code_74ED0] #DONE +# # - [0xFCADE0, c, code_75480] #DONE +# # - [0xFCB290, c, code_75930] #DONE +# # - [0xFCB7F0, c, code_75E90] #DONE +# # - [0xFCBCF0, c, fx/common1score] #DONE +# # - [0xFCBD30, c, fx/common2score] #DONE +# # - [0xFCC6F0, c, fx/honeycarrierscore] #DONE +# # - [0xFCD7B0, c, code_77E50] #DONE +# # - [0xFCDA60, c, fx/jinjoscore] #DONE +# # - [0xFCE7B0, c, fx/lifescore] #DONE +# # - [0xFCF190, c, fx/common3score] #DONE +# # - [0xFCF5E0, c, fx/healthscore] #DONE +# # - [0xFD00C0, c, fx/airscore] #DONE +# # - [0xFD08E0, c, code_7AF80] +# # - [0xFD7960, c, mapModel] #DONE +# # - [0xFD8CA0, c, code_83340] #DONE +# # - [0xFD96D0, c, gc/section] #DONE +# # - [0xFD9A30, c, gc/sky] #DONE +# # - [0xFD9DD0, c, gc/transition] #DONE +# # - [0xFDAB30, c, code_851D0] #DONE +# # - [0xFDB110, c, code_857B0] #DONE +# # - [0xFDB160, c, code_85800] #DONE +# # - [0xFDD790, c, gc/dialog] +# # - [0xFE0110, c, gc/pauseMenu] #DONE +# # - [0xFE3580, c, code_8DC20] #DONE +# # - [0xFE3BD0, c, gc/zoombox] #DONE +# # - [0xFE7770, c, code_91E10] #DONE +# # - [0xFE8F50, c, code_935F0] #DONE #chminigmae +# # - [0xFE9570, c, gc/parade] #DONE +# # - [0xFE9F80, c, code_94620] #DONE +# # - [0xFEA0E0, c, code_94780] #DONE +# # - [0xFEA380, c, code_94A20] #DONE +# # - [0xFEB010, c, code_956B0] #DONE +# # - [0xFEE610, c, code_98CB0] +# # - [0xFEF1C0, c, quizquestionaskedbitfield] #DONE +# # - [0xFEF300, c, code_999A0] #DONE +# # - [0xFEF8E0, c, jiggyscore] #DONE +# # - [0xFEFC80, c, honeycombscore] #DONE +# # - [0xFEFEE0, c, mumboscore] #DONE +# # - [0xFF00A0, c, code_9A740] #DONE +# # - [0xFF0330, c, code_9A9D0] #DONE +# # - [0xFF0660, c, levelspecificflags] #DONE +# # - [0xFF0AE0, c, code_9B180] #DONE +# # - [0xFF0FB0, c, code_9B650] #DONE +# # - [0xFF12F0, c, code_9B990] #DONE +# # - [0xFF1AD0, c, code_9C170] #DONE +# # - [0xFF2FA0, c, code_9D640] #DONE +# # - [0xFF30C0, c, code_9D760] #DONE +# # - [0xFF31C0, c, timedfuncqueue] #DONE +# # - [0xFF3CD0, c, code_9E370] +# # - [0xFFA660, c, code_A4D00] #DONE +# # - [0xFFB520, c, code_A5BC0] +# # - [0x1001560, c, code_ABC00] #DONE +# # - [0x1001E80, c, code_AC520] #DONE +# # - [0x1002A70, c, code_AD110] #DONE +# # - [0x1002F10, c, code_AD5B0] #DONE +# # - [0x1003BF0, c, code_AE290] #DONE +# # - [0x1003F30, c, skeletalanim] #DONE +# # - [0x1004700, c, code_AEDA0] +# # - [0x1006D60, c, modelRender] +# # - [0x1008EE0, c, code_B3580] #DONE +# # - [0x10093E0, c, code_B3A80] #DONE +# # - [0x100A9A0, c, code_B5040] #DONE +# # - [0x100B760, c, code_B5E00] #DONE +# # - [0x100BC10, c, code_B62B0] #DONE +# # - [0x100BFA0, c, code_B6640] #DONE +# # - [0x100C030, c, string] #DONE +# # - [0x100C5C0, c, code_B6C60] #DONE +# # - [0x100C640, c, code_B6CE0] #DONE +# # - [0x100C800, c, code_B6EA0] #DONE +# # - [0x100D480, c, code_B7B20] #DONE +# # - [0x100D8A0, c, code_B7F40] #DONE +# # - [0x100D980, c, code_B8020] #DONE +# # - [0x100D9D0, c, code_B8070] #DONE +# # - [0x100D9E0, c, code_B8080] #DONE +# # - [0x100E1C0, c, code_B8860] #DONE +# # - [0x100E9F0, c, code_B9090] #DONE +# # - [0x100F0D0, c, code_B9770] +# # - [0x1012A60, c, code_BD100] #DONE +# # - [0x1013620, c, code_BDCC0] #DONE +# # - [0x1013C20, c, code_BE2C0] #DONE +# # - [0x1014880, c, code_BEF20] +# # - [0x10164E0, c, code_C0B80] #DONE +# # - [0x1016650, c, code_C0CF0] #DONE +# # - [0x10167C0, c, code_C0E60] #DONE +# # - [0x1018580, c, animtexturecache] #DONE +# # - [0x1018890, c, code_C2F30] #DONE +# # - [0x1018B00, c, code_C31A0] #DONE +# # - [0x1018D60, c, rand] #DONE +# # - [0x10193A0, c, code_C3A40] #DONE +# # - [0x1019480, c, code_C3B20] #DONE +# # - [0x1019C80, c, code_C4320] #DONE +# # - [0x101A8A0, c, code_C4F40] #DONE +# # - [0x101ADA0, c, code_C5440] #DONE +# # - [0x101B450, c, code_C5AF0] #DONE +# # - [0x101B620, c, code_C5CC0] #DONE +# # - [0x101B860, c, code_C5F00] #DONE +# # - [0x101BB20, c, code_C61C0] #DONE +# # - [0x101BC10, c, code_C62B0] #DONE +# # - [0x101D030, c, code_C76D0] #DONE +# # - [0x101D620, c, code_C7CC0] #DONE +# # - [0x101DB90, c, code_C8230] #DONE +# # - [0x101DCC0, c, code_C8360] #DONE +# # - [0x101DDF0, c, code_C8490] #DONE +# # - [0x101E0C0, c, code_C8760] #DONE +# # - [0x101E320, c, code_C89C0] #DONE +# # - [0x101F150, c, code_C97F0] #DONE +# # - [0x101F7D0, c, code_C9E70] #DONE +# # - [0x101F860, c, code_C9F00] #DONE +# # - [0x10209B0, c, code_CB050] #DONE +# # - [0x1020F70, c, code_CB610] #DONE +# # - [0x1021200, c, code_CB8A0] #DONE +# # - [0x1021550, c, code_CBBF0] #DONE +# # - [0x1021670, c, code_CBD10] #DONE +# # - [0x1021B40, c, code_CC1E0] #DONE +# # - [0x1022A00, c, code_CD0A0] #DONE +# # - [0x1022D50, c, code_CD3F0] #DONE +# # - [0x1023040, c, code_CD6E0] #DONE +# # - [0x1024630, c, code_CECD0] #DONE +# # - [0x10249F0, c, code_CF090] #DONE +# # - [0x1024D40, c, code_CF3E0] #DONE +# # - [0x1024F50, c, code_CF5F0] #DONE +# # - [0x1025140, c, ch/clankerwhipcrack] #DONE +# # - [0x10253C0, c, ch/code_CFA60] #DONE +# # - [0x1025B20, c, ch/clucker] #DONE +# # - [0x1026600, c, code_D0CA0] #DONE +# # - [0x1027AE0, c, code_D2180] #DONE +# # - [0x1027E60, c, ch/firefx] #DONE +# # - [0x1028410, c, ch/drips] #DONE +# # - [0x1028770, c, ch/icecube] #DONE +# # - [0x10299B0, c, ch/ghost] #DONE +# # - [0x102AA50, c, ch/flotsam] #DONE +# # - [0x102B670, c, code_D5D10] #DONE +# # - [0x102B930, c, code_D5FD0] #DONE +# # - [0x102BAE0, c, code_D6180] #DONE +# # - [0x102BF60, c, code_D6600] #DONE +# # - [0x102C9A0, c, ch/termite] #DONE +# # - [0x102D670, c, ch/gravestone] #DONE +# # - [0x102E340, c, code_D89E0] +# # - [0x102F700, c, ch/whipcrack] #DONE +# # - [0x102FD00, c, code_DA3A0] #DONE +# # - [0x10300C0, c, code_DA760] #DONE +# # - [0x1030400, c, code_DAAA0] #DONE +# # - [0x1030970, c, code_DB010] #DONE +# # - [0x1031E10, c, code_DC4B0] #DONE +# # - [0x1031F60, bin, data_DC600] #unreferenced +# # - [0x1031F90, .data, code_1550] +# # - [0x1031FB0, .data, ba/anim] +# # - [0x1031FE0, .data, snackerctl] +# # - [0x1032000, .data, ba/marker] +# # - [0x1032060, .data, code_7060] +# # - [0x10320A0, .data, code_90E0] +# # - [0x1032150, .data, ba/model] +# # - [0x1032150, .data, code_B850] +# # - [0x1032170, .data, eggshatter] +# # - [0x10321C0, .data, ba/falldamage] +# # - [0x10321F0, .data, code_E910] +# # - [0x1032E10, .data, ba/physics] +# # - [0x1032E20, .data, code_117D0] +# # - [0x1032F30, .data, code_126C0] +# # - [0x1032F50, .data, code_12F30] +# # - [0x1032FF0, .data, code_14420] +# # - [0x1033330, .data, bs/ant] +# # - [0x1033360, .data, bs/bbuster] +# # - [0x1033380, .data, bs/beeFly] +# # - [0x10333B0, .data, bs/beeMain] +# # - [0x10333E0, .data, bs/bFlap] +# # - [0x10333F0, .data, bs/bFlip] +# # - [0x1033410, .data, bs/bLongLeg] +# # - [0x1033430, .data, bs/bPeck] +# # - [0x1033440, .data, bs/bShock] +# # - [0x1033450, bin, data_DDAF0] #unreferenced +# # - [0x1033460, .data, bs/bTrot] +# # - [0x10334A0, .data, bs/bWhirl] +# # - [0x10334C0, .data, bs/carry] +# # - [0x10334D0, .data, bs/croc] +# # - [0x1033500, .data, bs/drone] +# # - [0x1033580, .data, bs/dronexform] +# # - [0x10336A0, .data, bs/jump] +# # - [0x10336C0, .data, bs/pumpkin] +# # - [0x10336F0, .data, bs/stand] +# # - [0x1033710, .data, bs/swim] +# # - [0x1033740, .data, bs/walk] +# # - [0x1033790, .data, bs/walrus] +# # - [0x10337D0, .data, code_33F90] +# # - [0x1034160, .data, code_34310] +# # - [0x10341B0, .data, code_34790] +# # - [0x1034200, .data, code_35520] +# # - [0x10346A0, .data, nc/dynamicCamera] +# # - [0x1034730, .data, code_37E50] +# # - [0x1034760, .data, nc/dynamicCamD] +# # - [0x1034770, .data, nc/dynamicCamA] +# # - [0x1034790, .data, spawnqueue] +# # - [0x10347A0, .data, ch/gameSelect] +# # - [0x1034900, .data, code_3EAD0] +# # - [0x1034980, .data, code_3EC30] +# # - [0x10349B0, .data, ch/bubble] +# # - [0x10349E0, .data, ch/bigbutt] +# # - [0x1034AC0, .data, code_400F0] +# # - [0x1034C60, .data, ch/jiggy] +# # - [0x1034CA0, .data, ch/jigsawdance] +# # - [0x1034D00, .data, code_41460] +# # - [0x1034E00, .data, code_41F30] +# # - [0x1034E30, .data, code_41FB0] +# # - [0x1035620, .data, ch/musicnote] +# # - [0x1035650, .data, code_42CB0] +# # - [0x10356A0, .data, code_43250] +# # - [0x1035870, .data, ch/trainers] +# # - [0x10358C0, .data, code_43800] +# # - [0x10358F0, .data, code_43A40] +# # - [0x10359D0, .data, mapspecificflags] +# # - [0x10359E0, .data, ch/crab] +# # - [0x1035B00, .data, code_45310] +# # - [0x1035B30, .data, ch/code_468E0] +# # - [0x1035B80, .data, ch/jinjo] +# # - [0x1035C90, .data, ch/beehive] +# # - [0x1035CE0, .data, code_47BD0] +# # - [0x1035D10, .data, ch/soundsource] +# # - [0x1035D90, .data, ch/shrapnel] +# # - [0x1035E00, .data, ch/gloop] +# # - [0x1035E60, .data, code_4A6F0] +# # - [0x1035F00, .data, code_4BD70] +# # - [0x1035FC0, .data, code_4BE10] +# # - [0x1036050, .data, code_4C020] +# # - [0x10363D0, .data, ch/wadingboots] +# # - [0x1036420, .data, ch/badShad] +# # - [0x1036450, .data, code_50490] +# # - [0x10364F0, .data, ch/climbBase] +# # - [0x1036520, .data, code_509D0] +# # - [0x1036630, .data, code_517A0] +# # - [0x1036660, .data, code_51950] +# # - [0x10366D0, .data, ch/collectible] +# # - [0x1036740, .data, ch/mole] +# # - [0x10367D0, .data, ch/molehill] +# # - [0x1036840, .data, code_53A10] +# # - [0x1036870, .data, code_53C10] +# # - [0x1036900, .data, code_54D50] +# # - [0x10369B0, .data, code_55180] +# # - [0x1036A10, .data, code_55390] +# # - [0x1036A40, .data, code_556C0] +# # - [0x1036A70, .data, code_55850] +# # - [0x1036AA0, .data, ch/overlaycopyright] +# # - [0x1036AD0, .data, ch/overlaypressstart] +# # - [0x1036B20, .data, ch/overlaynocontroller] +# # - [0x1036B70, .data, ch/bottlesbonus] +# # - [0x1036CD0, .data, code_57C70] +# # - [0x1036D30, .data, code_581D0] +# # - [0x1036D80, .data, ch/bottlesbonuscursor] +# # - [0x1036E10, .data, code_59780] +# # - [0x1036F70, .data, code_59A80] +# # - [0x1036FA0, .data, ch/snacker] +# # - [0x1037020, .data, ch/snowman] +# # - [0x10370E0, .data, ch/snowball] +# # - [0x1037190, .data, ch/snowmanhat] +# # - [0x10371C0, .data, code_5C870] +# # - [0x1037200, .data, code_5DBC0] +# # - [0x1037220, .data, code_66D90] +# # - [0x1037230, .data, code_66FB0] +# # - [0x10372B0, .data, gc/bound] +# # - [0x1037300, .data, code_67650] +# # - [0x1037310, .data, particle] +# # - [0x10373A0, .data, code_6A4B0] +# # - [0x1037470, .data, code_6AEF0] +# # - [0x1037480, .data, code_6B030] +# # - [0x1037500, .data, fx/ripple] +# # - [0x10375A0, .data, fx/sparkle] +# # - [0x1037750, .data, code_6CD20] +# # - [0x10377A0, .data, code_6D030] +# # - [0x10377B0, .data, code_6D270] +# # - [0x10377C0, .data, code_6D490] +# # - [0x10379D0, .data, code_6DA30] +# # - [0x1037C50, .data, code_72060] +# # - [0x1037CB0, .data, code_73640] +# # - [0x10380F0, .data, code_74090] +# # - [0x10381A0, .data, code_74290] +# # - [0x10381D0, .data, code_74420] +# # - [0x1038200, .data, code_74910] +# # - [0x1038230, .data, code_74ED0] +# # - [0x1038260, .data, code_75480] +# # - [0x1038290, .data, code_75930] +# # - [0x10382C0, .data, code_75E90] +# # - [0x10382F0, .data, fx/common2score] +# # - [0x10389E0, .data, fx/honeycarrierscore] +# # - [0x1038A40, .data, fx/jinjoscore] +# # - [0x1038C30, .data, fx/lifescore] +# # - [0x1038C80, .data, fx/common3score] +# # - [0x10392E0, .data, fx/healthscore] +# # - [0x1039330, .data, fx/airscore] +# # - [0x1039380, .data, code_7AF80] +# # - [0x10395B0, .data, mapModel] +# # - [0x103A1D0, .data, code_83340] +# # - [0x103A1E0, .data, gc/section] +# # - [0x103A710, .data, gc/sky] +# # - [0x103AB20, .data, gc/transition] +# # - [0x103AE20, .data, code_851D0] +# # - [0x103AEA0, .data, gc/dialog] +# # - [0x103AEB0, .data, gc/pauseMenu] +# # - [0x103B000, .data, code_8DC20] +# # - [0x103B090, .data, gc/zoombox] +# # - [0x103C310, .data, code_91E10] +# # - [0x103C340, .data, code_935F0] +# # - [0x103C370, .data, gc/parade] +# # - [0x103C790, .data, code_94A20] +# # - [0x103C7A0, .data, code_956B0] +# # - [0x103C7C0, .data, code_98CB0] +# # - [0x103C7D0, .data, code_9B180] +# # - [0x103C850, .data, code_9B650] +# # - [0x103CC90, .data, code_9B990] +# # - [0x103CDF0, .data, code_9D640] +# # - [0x103CF30, .data, code_9E370] +# # - [0x103CFA0, .data, code_A4D00] +# # - [0x103D180, .data, code_A5BC0] #(file needs to be broken?) +# # - [0x103D1D0, .data, code_A5BC0] +# # - [0x103D200, .data, code_ABC00] +# # - [0x103E340, .data, code_AC520] +# # - [0x103E350, .data, code_AD110] +# # - [0x103EC20, .data, code_AD5B0] +# # - [0x103EC30, .data, code_AEDA0] +# # - [0x103ED10, .data, modelRender] +# # - [0x103F3B0, .data, code_B3A80] +# # - [0x103F3F0, .data, code_B5040] +# # - [0x103F490, .data, code_B62B0] +# # - [0x10407F0, .data, code_B6CE0] +# # - [0x1040800, .data, code_B6EA0] +# # - [0x1040830, .data, code_B7F40] +# # - [0x1040840, .data, code_B9770] +# # - [0x1040890, .data, code_BD100] +# # - [0x10408A0, .data, code_BE2C0] +# # - [0x10408B0, bin, data_EAF40] #unreferenced +# # - [0x10408C0, .data, code_C2F30] +# # - [0x10408D0, .data, code_C4320] +# # - [0x1040990, .data, code_C4F40] +# # - [0x1040A00, .data, code_C5440] +# # - [0x1040A70, .data, code_C8760] +# # - [0x1040A80, .data, code_C97F0] +# # - [0x1040F90, .data, code_C9F00] +# # - [0x1041040, .data, code_CBD10] +# # - [0x1041070, .data, code_CC1E0] +# # - [0x1041090, .data, code_CD6E0] +# # - [0x10410C0, .data, code_CECD0] +# # - [0x10410D0, .data, code_CF090] +# # - [0x1041100, .data, code_CF3E0] +# # - [0x10411C0, .data, code_CF5F0] +# # - [0x10411E0, .data, ch/clankerwhipcrack] +# # - [0x1041210, .data, ch/code_CFA60] +# # - [0x1041240, .data, ch/clucker] +# # - [0x1041270, .data, code_D0CA0] +# # - [0x1041310, .data, code_D2180] +# # - [0x1041460, .data, ch/firefx] +# # - [0x1041490, .data, ch/drips] +# # - [0x1041520, .data, ch/icecube] +# # - [0x10415B0, .data, ch/ghost] +# # - [0x1041650, .data, ch/flotsam] +# # - [0x10416F0, .data, code_D5D10] +# # - [0x1041770, .data, code_D5FD0] +# # - [0x10417F0, .data, code_D6180] +# # - [0x1041870, .data, code_D6600] +# # - [0x10418E0, .data, ch/termite] +# # - [0x1041950, .data, ch/gravestone] +# # - [0x1041A60, .data, code_D89E0] +# # - [0x1041AD0, .data, ch/whipcrack] +# # - [0x1041B00, .data, code_DA3A0] +# # - [0x1041B80, .data, code_DA760] +# # - [0x1041BB0, .data, code_DAAA0] +# # - [0x1041CB0, .data, code_DB010] +# # - [0x1042790, .data, code_DC4B0] +# # - [0x10427C0, ".rodata", animctrl] +# # - [0x10427F0, .rodata, anim/sprite] +# # - [0x1042800, .rodata, code_1930] +# # - [0x1042880, .rodata, ba/anim] +# # - [0x1042890, .rodata, snackerctl] +# # - [0x10428A0, .rodata, code_39D0] +# # - [0x1042940, .rodata, ba/marker] +# # - [0x1042D70, .rodata, code_6B30] +# # - [0x1042E60, .rodata, code_7060] +# # - [0x1042F90, .rodata, code_9450] +# # - [0x1042FC0, .rodata, code_9900] +# # - [0x1042FD0, .rodata, code_9BD0] +# # - [0x1043010, .rodata, ba/model] +# # - [0x10430C0, .rodata, ba/drone] +# # - [0x10430D0, .rodata, code_B850] +# # - [0x10430F0, .rodata, code_BD20] +# # - [0x1043110, .rodata, ba/falldamage] +# # - [0x1043130, .rodata, code_C4B0] +# # - [0x1043170, .rodata, code_D9B0] +# # - [0x1043180, .rodata, abilityprogress] +# # - [0x10431B0, .rodata, code_EF50] +# # - [0x1043350, .rodata, ba/physics] +# # - [0x10433B0, .rodata, code_10CD0] +# # - [0x10433C0, .rodata, pitch] +# # - [0x10433F0, .rodata, code_11040] +# # - [0x1043400, .rodata, climb] +# # - [0x1043410, .rodata, code_11660] +# # - [0x10435D0, .rodata, code_11870] +# # - [0x10435E0, .rodata, roll] +# # - [0x1043600, .rodata, yaw] +# # - [0x1043660, .rodata, code_12360] +# # - [0x1043690, .rodata, code_126C0] +# # - [0x10436C0, .rodata, code_12F30] +# # - [0x10436E0, .rodata, code_13FC0] +# # - [0x10436F0, .rodata, code_14420] +# # - [0x1043770, .rodata, code_16010] +# # - [0x1043BD0, .rodata, code_16C60] +# # - [0x1043C70, .rodata, bs/ant] +# # - [0x1043CA0, .rodata, bs/bBarge] +# # - [0x1043CE0, .rodata, bs/bbuster] +# # - [0x1043D20, .rodata, bs/beeFly] +# # - [0x1043D50, .rodata, bs/beeMain] +# # - [0x1043DC0, .rodata, bs/bEggAss] +# # - [0x1043DE0, .rodata, bs/bEggHead] +# # - [0x1043E00, .rodata, bs/bFlap] +# # - [0x1043E70, .rodata, bs/bFlip] +# # - [0x1043EC0, .rodata, bs/bFly] +# # - [0x1043F20, .rodata, bs/bLongLeg] +# # - [0x1043FB0, .rodata, bs/bPeck] +# # - [0x1043FE0, .rodata, bs/bShock] +# # - [0x1044000, .rodata, bs/bSwim] +# # - [0x1044070, .rodata, bs/bTrot] +# # - [0x10440E0, .rodata, bs/bWhirl] +# # - [0x1044110, .rodata, bs/carry] +# # - [0x1044130, .rodata, bs/claw] +# # - [0x1044170, .rodata, bs/climb] +# # - [0x1044180, .rodata, bs/croc] +# # - [0x10441E0, .rodata, bs/crouch] +# # - [0x1044210, .rodata, bs/die] +# # - [0x1044220, .rodata, bs/droneenter] +# # - [0x1044230, .rodata, bs/dronegoto] +# # - [0x1044240, .rodata, bs/dronelook] +# # - [0x1044250, .rodata, bs/dronevanish] +# # - [0x1044260, .rodata, bs/dronexform] +# # - [0x1044310, .rodata, bs/jig] +# # - [0x1044330, .rodata, bs/jump] +# # - [0x1044380, .rodata, bs/ow] +# # - [0x1044390, .rodata, bs/pumpkin] +# # - [0x1044410, .rodata, bs/rebound] +# # - [0x1044420, .rodata, bs/rest] +# # - [0x1044430, .rodata, bs/slide] +# # - [0x1044440, .rodata, bs/stand] +# # - [0x1044470, .rodata, bs/swim] +# # - [0x10444C0, .rodata, bs/surf] +# # - [0x10444D0, .rodata, bs/talk] +# # - [0x10444E0, .rodata, bs/timeout] +# # - [0x10444F0, .rodata, bs/throw] +# # - [0x1044500, .rodata, bs/turn] +# # - [0x1044520, .rodata, bs/twirl] +# # - [0x1044540, .rodata, bs/walk] +# # - [0x10445D0, .rodata, bs/walrus] +# # - [0x1044630, .rodata, bs/washy] +# # - [0x1044690, .rodata, nc/cameranodelist] +# # - [0x10446E0, .rodata, code_33F90] +# # - [0x1044700, .rodata, code_34310] +# # - [0x1044710, .rodata, code_34790] +# # - [0x1044740, .rodata, nc/dynamicCamera] +# # - [0x1044890, .rodata, code_37E50] +# # - [0x10448B0, .rodata, nc/dynamicCam10] +# # - [0x10448C0, .rodata, nc/dynamicCamD] +# # - [0x10448D0, .rodata, nc/dynamicCam5] +# # - [0x10448E0, .rodata, nc/dynamicCam4] +# # - [0x10448F0, .rodata, nc/dynamicCamC] +# # - [0x1044900, .rodata, code_F8EAF0] +# # - [0x1044910, .rodata, nc/dynamicCamB] +# # - [0x1044920, .rodata, nc/dynamicCam13] +# # - [0x1044930, .rodata, nc/dynamicCam9] +# # - [0x1044950, .rodata, nc/dynamicCam12] +# # - [0x1044980, .rodata, nc/dynamicCam3] +# # - [0x1044990, .rodata, nc/dynamicCamA] +# # - [0x10449A0, .rodata, spawnqueue] +# # - [0x10449F0, .rodata, ch/gameSelect] +# # - [0x1044B70, .rodata, ch/bubble] +# # - [0x1044B80, .rodata, ch/bigbutt] +# # - [0x1044C60, .rodata, code_400F0] +# # - [0x1044CC0, .rodata, ch/jiggy] +# # - [0x1044D40, .rodata, ch/jigsawdance] +# # - [0x1044DB0, .rodata, code_41460] +# # - [0x1044DE0, .rodata, code_41FB0] +# # - [0x1044E20, .rodata, ch/musicnote] +# # - [0x1044E30, .rodata, code_42CB0] +# # - [0x1044E40, .rodata, ch/trainers] +# # - [0x1044E50, .rodata, code_43800] +# # - [0x1044E60, .rodata, ch/crab] +# # - [0x1044EB0, .rodata, code_45310] +# # - [0x1044F30, .rodata, ch/jinjo] +# # - [0x1044FA0, .rodata, ch/beehive] +# # - [0x1044FB0, .rodata, code_47BD0] +# # - [0x1045010, .rodata, ch/shrapnel] +# # - [0x1045030, .rodata, ch/gloop] +# # - [0x1045040, .rodata, code_4A6F0] +# # - [0x10450F0, .rodata, code_4C020] +# # - [0x1045710, .rodata, ch/badShad] +# # - [0x1045720, .rodata, code_50490] +# # - [0x1045730, .rodata, code_509D0] +# # - [0x1045770, .rodata, code_517A0] +# # - [0x1045780, .rodata, code_51950] +# # - [0x1045790, .rodata, ch/mole] +# # - [0x1045830, .rodata, code_53C10] +# # - [0x10458A0, .rodata, code_54D50] +# # - [0x10458C0, .rodata, code_55180] +# # - [0x10458D0, .rodata, code_55390] +# # - [0x10458E0, .rodata, ch/overlaypressstart] +# # - [0x10458F0, .rodata, ch/overlaynocontroller] +# # - [0x1045900, .rodata, ch/bottlesbonus] +# # - [0x1045970, .rodata, code_57C70] +# # - [0x1045990, .rodata, code_581D0] +# # - [0x10459A0, .rodata, ch/bottlesbonuscursor] +# # - [0x1045A00, .rodata, code_599E0] +# # - [0x1045A10, .rodata, code_59A80] +# # - [0x1045A20, .rodata, ch/snacker] +# # - [0x1045A70, .rodata, ch/snowman] +# # - [0x1045AA0, .rodata, ch/snowball] +# # - [0x1045AD0, .rodata, code_5C240] +# # - [0x1045AE0, .rodata, code_5C870] +# # - [0x1045B50, .rodata, code_5FD90] +# # - [0x1045B60, .rodata, code_66FB0] +# # - [0x1045B70, .rodata, code_67650] +# # - [0x1045B80, .rodata, particle] +# # - [0x1045BA0, .rodata, code_6A4B0] +# # - [0x1045BB0, .rodata, code_6B030] +# # - [0x1045BC0, .rodata, fx/ripple] +# # - [0x1045BD0, .rodata, fx/sparkle] +# # - [0x1045BE0, .rodata, code_6CEC0] +# # - [0x1045BF0, .rodata, code_6D030] +# # - [0x1045C00, .rodata, code_6D270] +# # - [0x1045C10, .rodata, code_6DA30] +# # - [0x1045C90, .rodata, code_70F20] +# # - [0x1045CF0, .rodata, code_71820] +# # - [0x1045D10, .rodata, code_72060] +# # - [0x1045D30, .rodata, code_73640] +# # - [0x1045D60, .rodata, code_74420] +# # - [0x1045D70, .rodata, fx/common2score] +# # - [0x1045D80, .rodata, fx/honeycarrierscore] +# # - [0x1045DD0, .rodata, fx/jinjoscore] +# # - [0x1045E00, .rodata, fx/jinjoscore] +# # - [0x1045E30, .rodata, fx/common3score] +# # - [0x1045E50, .rodata, fx/healthscore] +# # - [0x1045E60, .rodata, fx/airscore] +# # - [0x1045E80, .rodata, code_7AF80] +# # - [0x1045F40, .rodata, mapModel] +# # - [0x1046100, .rodata, code_83340] +# # - [0x1046110, .rodata, gc/section] +# # - [0x1046E10, .rodata, gc/sky] +# # - [0x1046E20, .rodata, gc/transition] +# # - [0x1046E80, .rodata, code_85800] +# # - [0x1046EA0, .rodata, gc/dialog] +# # - [0x1046F10, .rodata, gc/pauseMenu] +# # - [0x1047250, .rodata, gc/zoombox] +# # - [0x1047320, .rodata, code_91E10] +# # - [0x1047360, .rodata, code_935F0] +# # - [0x1047380, .rodata, gc/parade] +# # - [0x1047700, .rodata, code_94A20] +# # - [0x1047710, .rodata, code_956B0] +# # - [0x1047720, .rodata, code_9A9D0] +# # - [0x1047750, .rodata, code_9B180] +# # - [0x1047770, .rodata, code_9C170] +# # - [0x10477C0, .rodata, code_9E370] +# # - [0x1047840, .rodata, code_A4D00] +# # - [0x1047870, .rodata, code_A5BC0] +# # - [0x1047890, .rodata, code_AD110] +# # - [0x10478B0, .rodata, skeletalanim] +# # - [0x10478C0, .rodata, code_AEDA0] +# # - [0x1047910, .rodata, modelRender] +# # - [0x1047920, .rodata, code_B3A80] +# # - [0x1047930, .rodata, string] +# # - [0x1047950, .rodata, code_B6C60] +# # - [0x1047960, .rodata, code_B6CE0] +# # - [0x1047990, .rodata, code_B9090] +# # - [0x10479C0, .rodata, code_B9770] +# # - [0x1047A50, .rodata, code_BD100] +# # - [0x1047A70, .rodata, code_BDCC0] +# # - [0x1047A90, .rodata, code_BE2C0] +# # - [0x1047AD0, .rodata, code_BEF20] +# # - [0x1047B10, .rodata, code_C0E60] +# # - [0x1047B20, .rodata, rand] +# # - [0x1047B40, .rodata, code_C3A40] +# # - [0x1047B50, .rodata, code_C4320] +# # - [0x1047B70, .rodata, code_C5AF0] +# # - [0x1047B90, .rodata, code_C5CC0] +# # - [0x1047BA0, .rodata, code_C5F00] +# # - [0x1047BD0, .rodata, code_C62B0] +# # - [0x1047C00, .rodata, code_C76D0] +# # - [0x1047C40, .rodata, code_C7CC0] +# # - [0x1047C80, .rodata, code_C8230] +# # - [0x1047C90, .rodata, code_C8360] +# # - [0x1047CA0, .rodata, code_C8490] +# # - [0x1047CC0, .rodata, code_C8760] +# # - [0x1047CD0, .rodata, code_C89C0] +# # - [0x1047D10, .rodata, code_C97F0] +# # - [0x1047D20, .rodata, code_C9F00] +# # - [0x1047D50, .rodata, code_CB050] +# # - [0x1047DC0, .rodata, code_CB610] +# # - [0x1047DE0, .rodata, code_CBD10] +# # - [0x1047E00, .rodata, code_CC1E0] +# # - [0x1047E20, .rodata, code_CD0A0] +# # - [0x1047E40, .rodata, code_CD3F0] +# # - [0x1047E50, .rodata, code_CD6E0] +# # - [0x1047E90, .rodata, code_CECD0] +# # - [0x1047EB0, .rodata, code_CF090] +# # - [0x1047EC0, .rodata, ch/clankerwhipcrack] +# # - [0x1047EE0, .rodata, ch/code_CFA60] +# # - [0x1047F30, .rodata, ch/clucker] +# # - [0x1047FD0, .rodata, code_D0CA0] +# # - [0x1048050, .rodata, code_D2180] +# # - [0x1048060, .rodata, ch/firefx] +# # - [0x10480A0, .rodata, ch/drips] +# # - [0x10480C0, .rodata, ch/icecube] +# # - [0x1048170, .rodata, ch/ghost] +# # - [0x10481E0, .rodata, ch/flotsam] +# # - [0x1048220, .rodata, code_D5D10] +# # - [0x1048230, .rodata, code_D6180] +# # - [0x1048240, .rodata, code_D6600] +# # - [0x1048280, .rodata, ch/termite] +# # - [0x10482F0, .rodata, ch/gravestone] +# # - [0x1048390, .rodata, code_D89E0] +# # - [0x10483C0, .rodata, code_D89E0] +# # - [0x1048430, .rodata, ch/whipcrack] +# # - [0x1048450, .rodata, code_DA3A0] +# # - [0x1048460, .rodata, code_DA760] +# # - [0x1048480, .rodata, code_DB010] +# # - [0x1048560, .bss, anim/sprite] +# # - [0x1048560, .bss, animcache] +# # - [0x1048560, .bss, code_1550] +# # - [0x1048560, .bss, code_1930] +# # - [0x1048560, .bss, ba/anim] +# # - [0x1048560, .bss, snackerctl] +# # - [0x1048560, .bss, code_39D0] +# # - [0x1048560, .bss, ba/marker] +# # - [0x1048560, .bss, code_6B30] +# # - [0x1048560, .bss, code_7060] +# # - [0x1048560, .bss, code_8DA0] +# # - [0x1048560, .bss, code_90E0] +# # - [0x1048560, .bss, code_9290] +# # - [0x1048560, .bss, code_9450] +# # - [0x1048560, .bss, code_9900] +# # - [0x1048560, .bss, code_9BD0] +# # - [0x1048560, .bss, code_A600] +# # - [0x1048560, .bss, statetimer] +# # - [0x1048560, .bss, ba/model] +# # - [0x1048560, .bss, ba/drone] +# # - [0x1048560, .bss, eggshatter] +# # - [0x1048560, .bss, code_BD20] +# # - [0x1048560, .bss, ba/falldamage] +# # - [0x1048560, .bss, code_C3F0] +# # - [0x1048560, .bss, code_C4B0] +# # - [0x1048560, .bss, ba/carry] +# # - [0x1048560, .bss, code_D9B0] +# # - [0x1048560, .bss, code_DF70] +# # - [0x1048560, .bss, code_E410] +# # - [0x1048560, .bss, abilityprogress] +# # - [0x1048560, .bss, code_E910] +# # - [0x1048560, .bss, code_EE40] +# # - [0x1048560, .bss, code_EF50] +# # - [0x1048560, .bss, ba/physics] +# # - [0x1048560, .bss, code_10CD0] +# # - [0x1048560, .bss, pitch] +# # - [0x1048560, .bss, code_11040] +# # - [0x1048560, .bss, climb] +# # - [0x1048560, .bss, code_11460] +# # - [0x1048560, .bss, code_11660] +# # - [0x1048560, .bss, code_117D0] +# # - [0x1048560, .bss, code_11870] +# # - [0x1048560, .bss, roll] +# # - [0x1048560, .bss, yaw] +# # - [0x1048560, .bss, code_12360] +# # - [0x1048560, .bss, code_126C0] +# # - [0x1048560, .bss, code_12F30] +# # - [0x1048560, .bss, bsList] +# # - [0x1048560, .bss, code_13780] +# # - [0x1048560, .bss, bsStoredState] +# # - [0x1048560, .bss, code_13A00] +# # - [0x1048560, .bss, code_13FC0] +# # - [0x1048560, .bss, code_14420] +# # - [0x1048560, .bss, code_15F20] +# # - [0x1048560, .bss, code_16010] +# # - [0x1048560, .bss, code_16C60] +# # - [0x1048560, .bss, code_171F0] +# # - [0x1048560, .bss, bs/ant] +# # - [0x1048560, .bss, bs/bBarge] +# # - [0x1048560, .bss, bs/bbuster] +# # - [0x1048560, .bss, bs/beeFly] +# # - [0x1048560, .bss, bs/beeMain] +# # - [0x1048560, .bss, bs/bEggAss] +# # - [0x1048560, .bss, bs/bEggHead] +# # - [0x1048560, .bss, bs/bFlap] +# # - [0x1048560, .bss, bs/bFlip] +# # - [0x1048560, .bss, bs/bFly] +# # - [0x1048560, .bss, bs/bLongLeg] +# # - [0x1048560, .bss, bs/bPeck] +# # - [0x1048560, .bss, bs/bShock] +# # - [0x1048560, .bss, bs/bSwim] +# # - [0x1048560, .bss, bs/bTrot] +# # - [0x1048560, .bss, bs/bWhirl] +# # - [0x1048560, .bss, bs/claw] +# # - [0x1048560, .bss, bs/climb] +# # - [0x1048560, .bss, bs/croc] +# # - [0x1048560, .bss, bs/crouch] +# # - [0x1048560, .bss, bs/die] +# # - [0x1048560, .bss, bs/droneenter] +# # - [0x1048560, .bss, bs/dronegoto] +# # - [0x1048560, .bss, bs/dronevanish] +# # - [0x1048560, .bss, bs/dronexform] +# # - [0x1048560, .bss, bs/jig] +# # - [0x1048560, .bss, bs/jump] +# # - [0x1048560, .bss, bs/ow] +# # - [0x1048560, .bss, bs/pumpkin] +# # - [0x1048560, .bss, bs/rebound] +# # - [0x1048560, .bss, bs/sled] +# # - [0x1048560, .bss, bs/slide] +# # - [0x1048560, .bss, bs/splat] +# # - [0x1048560, .bss, bs/stand] +# # - [0x1048560, .bss, bs/swim] +# # - [0x1048560, .bss, bs/surf] +# # - [0x1048560, .bss, bs/talk] +# # - [0x1048560, .bss, bs/throw] +# # - [0x1048560, .bss, bs/turn] +# # - [0x1048560, .bss, bs/twirl] +# # - [0x1048560, .bss, bs/walk] +# # - [0x1048560, .bss, bs/walrus] +# # - [0x1048560, .bss, bs/washy] +# # - [0x1048560, .bss, nc/cameranodelist] +# # - [0x1048560, .bss, code_33C30] +# # - [0x1048560, .bss, nc/staticCamera] +# # - [0x1048560, .bss, code_34310] +# # - [0x1048560, .bss, code_34790] +# # - [0x1048560, .bss, code_35520] +# # - [0x1048560, .bss, nc/dynamicCamera] +# # - [0x1048560, .bss, code_379B0] +# # - [0x1048560, .bss, nc/randomCamera] +# # - [0x1048560, .bss, code_37E50] +# # - [0x1048560, .bss, nc/dynamicCam10] +# # - [0x1048560, .bss, nc/dynamicCam5] +# # - [0x1048560, .bss, nc/dynamicCam11] +# # - [0x1048560, .bss, nc/dynamicCam8] +# # - [0x1048560, .bss, nc/dynamicCam4] +# # - [0x1048560, .bss, nc/dynamicCamC] +# # - [0x1048560, .bss, code_F8EAF0] +# # - [0x1048560, .bss, nc/dynamicCamB] +# # - [0x1048560, .bss, nc/dynamicCam13] +# # - [0x1048560, .bss, nc/dynamicCam9] +# # - [0x1048560, .bss, nc/dynamicCam12] +# # - [0x1048560, .bss, nc/dynamicCam3] +# # - [0x1048560, .bss, code_3B2C0] +# # - [0x1048560, .bss, nc/dynamicCamF] +# # - [0x1048560, .bss, nc/firstpersoncamera] +# # - [0x1048560, .bss, ch/gameSelect] +# # - [0x1048560, .bss, code_41460] +# # - [0x1048560, .bss, code_41FB0] +# # - [0x1048560, .bss, code_42CB0] +# # - [0x1048560, .bss, mapspecificflags] +# # - [0x1048560, .bss, code_47BD0] +# # - [0x1048560, .bss, code_4A6F0] +# # - [0x1048560, .bss, code_4C020] +# # - [0x1048560, .bss, ch/badShad] +# # - [0x1048560, .bss, ch/climbBase] +# # - [0x1048560, .bss, code_55390] +# # - [0x1048560, .bss, code_556C0] +# # - [0x1048560, .bss, code_55850] +# # - [0x1048560, .bss, ch/overlaycopyright] +# # - [0x1048560, .bss, ch/overlaypressstart] +# # - [0x1048560, .bss, ch/overlaynocontroller] +# # - [0x1048560, .bss, ch/bottlesbonus] +# # - [0x1048560, .bss, code_57C70] +# # - [0x1048560, .bss, code_581D0] +# # - [0x1048560, .bss, ch/bottlesbonuscursor] +# # - [0x1048560, .bss, code_59A80] +# # - [0x1048560, .bss, ch/snacker] +# # - [0x1048560, .bss, ch/snowball] +# # - [0x1048560, .bss, code_5BEB0] +# # - [0x1048560, .bss, code_5C240] +# # - [0x1048560, .bss, code_5C870] +# # - [0x1048560, .bss, code_5DBC0] +# # - [0x1048560, .bss, code_5FD90] +# # - [0x1048560, .bss, code_637D0] +# # - [0x1048560, .bss, code_654C0] +# # - [0x1048560, .bss, code_66D90] +# # - [0x1048560, .bss, gc/bound] +# # - [0x1048560, .bss, code_67650] +# # - [0x1048560, .bss, particle] +# # - [0x1048560, .bss, code_69F60] +# # - [0x1048560, .bss, code_6AEF0] +# # - [0x1048560, .bss, code_6B030] +# # - [0x1048560, .bss, fx/ripple] +# # - [0x1048560, .bss, code_6CD20] +# # - [0x1048560, .bss, code_6CEC0] +# # - [0x1048560, .bss, code_6D030] +# # - [0x1048560, .bss, code_6D270] +# # - [0x1048560, .bss, code_6DA30] +# # - [0x1048560, .bss, code_6DA30] +# # - [0x1048560, .bss, code_70C30] +# # - [0x1048560, .bss, code_72060] +# # - [0x1048560, .bss, code_72B10] +# # - [0x1048560, .bss, code_73640] +# # - [0x1048560, .bss, code_74420] +# # - [0x1048560, .bss, code_74910] +# # - [0x1048560, .bss, code_74ED0] +# # - [0x1048560, .bss, code_75480] +# # - [0x1048560, .bss, code_75930] +# # - [0x1048560, .bss, code_75E90] +# # - [0x1048560, .bss, fx/common1score] +# # - [0x1048560, .bss, fx/honeycarrierscore] +# # - [0x1048560, .bss, fx/jinjoscore] +# # - [0x1048560, .bss, fx/lifescore] +# # - [0x1048560, .bss, fx/healthscore] +# # - [0x1048560, .bss, fx/airscore] +# # - [0x1048560, .bss, code_7AF80] +# # - [0x1048560, .bss, mapModel] +# # - [0x1048560, .bss, code_83340] +# # - [0x1048560, .bss, gc/section] +# # - [0x1048560, .bss, gc/sky] +# # - [0x1048560, .bss, gc/transition] +# # - [0x1048560, .bss, code_851D0] +# # - [0x1048560, .bss, code_857B0] +# # - [0x1048560, .bss, code_85800] +# # - [0x1048560, .bss, gc/dialog] +# # - [0x1048560, .bss, gc/pauseMenu] +# # - [0x1048560, .bss, code_8DC20] +# # - [0x1048560, .bss, gc/zoombox] +# # - [0x1048560, .bss, code_91E10] +# # - [0x1048560, .bss, gc/parade] +# # - [0x1048560, .bss, code_94620] +# # - [0x1048560, .bss, code_94780] +# # - [0x1048560, .bss, code_956B0] +# # - [0x1048560, .bss, code_98CB0] +# # - [0x1048560, .bss, quizquestionaskedbitfield] +# # - [0x1048560, .bss, code_999A0] +# # - [0x1048560, .bss, jiggyscore] +# # - [0x1048560, .bss, honeycombscore] +# # - [0x1048560, .bss, mumboscore] +# # - [0x1048560, .bss, code_9A740] +# # - [0x1048560, .bss, code_9A9D0] +# # - [0x1048560, .bss, levelspecificflags] +# # - [0x1048560, .bss, code_9B180] +# # - [0x1048560, .bss, code_9B650] +# # - [0x1048560, .bss, code_9B990] +# # - [0x1048560, .bss, code_9C170] +# # - [0x1048560, .bss, timedfuncqueue] +# # - [0x1048560, .bss, code_9E370] +# # - [0x1048560, .bss, code_A4D00] +# # - [0x1048560, .bss, code_A5BC0] +# # - [0x1048560, .bss, code_ABC00] +# # - [0x1048560, .bss, code_AC520] +# # - [0x1048560, .bss, code_AD110] +# # - [0x1048560, .bss, code_AD5B0] +# # - [0x1048560, .bss, code_AE290] +# # - [0x1048560, .bss, code_AEDA0] +# # - [0x1048560, .bss, modelRender] +# # - [0x1048560, .bss, code_B3A80] +# # - [0x1048560, .bss, code_B5040] +# # - [0x1048560, .bss, code_B5E00] +# # - [0x1048560, .bss, code_B62B0] +# # - [0x1048560, .bss, code_B6C60] +# # - [0x1048560, .bss, code_B6CE0] +# # - [0x1048560, .bss, code_B6EA0] +# # - [0x1048560, .bss, code_B8020] +# # - [0x1048560, .bss, code_B8860] +# # - [0x1048560, .bss, code_B9770] +# # - [0x1048560, .bss, code_BD100] +# # - [0x1048560, .bss, code_BDCC0] +# # - [0x1048560, .bss, code_BEF20] +# # - [0x1048560, .bss, code_C0E60] +# # - [0x1048560, .bss, animtexturecache] +# # - [0x1048560, .bss, code_C2F30] +# # - [0x1048560, .bss, rand] +# # - [0x1048560, .bss, code_C4320] +# # - [0x1048560, .bss, code_C4F40] +# # - [0x1048560, .bss, code_C5440] +# # - [0x1048560, .bss, code_C89C0] +# # - [0x1048560, .bss, code_C97F0] +# # - [0x1048560, .bss, code_C9E70] +# # - [0x1048560, .bss, code_C9F00] +# # - [0x1048560, .bss, code_CB8A0] +# # - [0x1048560, .bss, code_CBBF0] +# # - [0x1048560, .bss, code_CD0A0] +# # - [0x1048560, .bss, code_CD6E0] +# - name: CC +# dir: CC +# type: bin +# start: 0x0106C980 +# # vram: 0x803863F0 +# # follows_vram: core2 +# # exclusive_ram_id: overlay +# # subsegments: +# # - [0x1048560, c, code_0] +# # - [0x1048A90, c, code_530] #Done +# # - [0x1049150, c, code_BF0] #Done +# # - [0x1049680, c, ch/tooth] #Done +# # - [0x1049920, c, code_13C0] #DONE +# # - [0x1049F10, c, code_19B0] #Done +# # - [0x104A0F0, c, code_1B90] #Done +# # - [0x104A4D0, c, code_1F70] #DONE +# # - [0x104B690, c, ch/sawblade] #Done +# # - [0x104B960, c, code_3400] #Done +# # - [0x104BC10, .data, code_0] +# # - [0x104BC40, .data, code_530] +# # - [0x104BC70, .data, code_BF0] +# # - [0x104BCC0, .data, ch/tooth] +# # - [0x104BD50, .data, crc] +# # - [0x104BD60, .data, code_1B90] +# # - [0x104BD70, .data, code_1F70] +# # - [0x104BDA0, .data, ch/sawblade] +# # - [0x104BFB0, .data, code_3400] +# # - [0x104C020, .rodata, code_0] +# # - [0x104C070, .rodata, code_530] +# # - [0x104C080, .rodata, ch/tooth] +# # - [0x104C090, .rodata, code_1B90] +# # - [0x104C0A0, .rodata, code_1F70] +# # - [0x104C0E0, .bss, bss_pad] +# # - [0x104C0E0, .bss, code_BF0] +# # - [0x104C0E0, .bss, code_1B90] +# # - [0x104C0E0, .bss, code_1F70] +# - name: GV +# dir: GV +# type: bin +# start: 0x01070500 +# # vram: 0x803863F0 +# # follows_vram: core2 +# # exclusive_ram_id: overlay +# # subsegments: +# # - [0x104C0E0, c, ch/toots] #DONE +# # - [0x104C310, c, ch/ancientone] #DONE +# # - [0x104CE40, c, ch/gobi1] #DONE +# # - [0x104D650, c, ch/gobi2] #DONE +# # - [0x104DF60, c, ch/gobi3] #DONE +# # - [0x104E5B0, c, ch/gobirope] #DONE +# # - [0x104E810, c, ch/gobirock] #DONE +# # - [0x104EC60, c, ch/trunker] #DONE +# # - [0x104EFC0, c, code_2EE0] #DONE +# # - [0x104F1A0, c, ch/sarcophagus] #DONE +# # - [0x104F710, c, code_3630] #DONE +# # - [0x104FB80, c, code_3AA0] #DONE +# # - [0x104FBF0, c, code_3B10] #DONE +# # - [0x104FC90, c, code_3BB0] #DONE +# # - [0x104FE70, c, code_3D90] #DONE +# # - [0x1050490, c, code_43B0] #DONE +# # - [0x1050820, c, code_4740] #DONE +# # - [0x1051650, c, code_5570] #DONE +# # - [0x10522C0, c, code_61E0] #DONE +# # - [0x1052450, c, code_6370] #DONE +# # - [0x1053060, c, code_6F80] #DONE +# # - [0x1053140, c, code_7060] #DONE +# # - [0x1053610, c, ch/histup] #DONE +# # - [0x1053E30, c, code_7D50] #DONE +# # - [0x1053E90, c, code_7DB0] #DONE +# # - [0x10540A0, c, code_7FC0] #DONE +# # - [0x10540D0, c, code_7FF0] #DONE +# # - [0x1055210, c, ch/mazectrl] #DONE +# # - [0x1055940, c, ch/buriedpyramid] #DONE +# # - [0x1055C50, c, code_9B70] #DONE +# # - [0x1055CF0, c, code_9C10] #DONE +# # - [0x1055E90, c, matchinggame] #DONE +# # - [0x1056570, c, waterctrl] #DONE +# # - [0x10568C0, .data, ch/toots] +# # - [0x1056910, .data, ch/ancientone] +# # - [0x1056970, .data, ch/gobi1] +# # - [0x10569A0, .data, ch/gobi2] +# # - [0x10569F0, .data, ch/gobi3] +# # - [0x1056A20, .data, ch/gobirope] +# # - [0x1056A50, .data, ch/gobirock] +# # - [0x1056A80, .data, ch/trunker] +# # - [0x1056AB0, .data, code_2EE0] +# # - [0x1056AF0, .data, ch/sarcophagus] +# # - [0x1056B90, .data, code_3630] +# # - [0x1056BF0, .data, code_3AA0] +# # - [0x1056C20, .data, code_3B10] +# # - [0x1056C30, .data, code_3BB0] +# # - [0x1056C90, .data, code_3D90] +# # - [0x1056CF0, .data, code_43B0] +# # - [0x1056D30, .data, code_4740] +# # - [0x1056E10, .data, code_5570] +# # - [0x1056E80, .data, code_61E0] +# # - [0x1056EE0, .data, code_6370] +# # - [0x1056F50, .data, code_6F80] +# # - [0x1056F80, .data, code_7060] +# # - [0x1056FD0, .data, ch/histup] +# # - [0x1057030, .data, code_7DB0] +# # - [0x1057070, .data, code_7FC0] +# # - [0x10570D0, .data, code_7FF0] +# # - [0x10572B0, .data, ch/mazectrl] +# # - [0x1057310, .data, ch/buriedpyramid] +# # - [0x1057340, .data, matchinggame] +# # - [0x10573E0, .rodata, ch/ancientone] +# # - [0x1057400, .rodata, ch/gobi1] +# # - [0x1057410, .rodata, ch/gobi2] +# # - [0x1057430, .rodata, ch/gobi3] +# # - [0x1057470, .rodata, ch/gobirock] +# # - [0x1057480, .rodata, ch/sarcophagus] +# # - [0x1057490, .rodata, code_3BB0] +# # - [0x10574A0, .rodata, code_3D90] +# # - [0x10574B0, .rodata, code_43B0] +# # - [0x10574C0, .rodata, code_4740] +# # - [0x1057530, .rodata, code_5570] +# # - [0x1057580, .rodata, code_6370] +# # - [0x10575E0, .rodata, code_7060] +# # - [0x1057600, .rodata, ch/histup] +# # - [0x1057630, .rodata, code_7FF0] +# # - [0x1057690, .rodata, ch/mazectrl] +# # - [0x10576B0, .rodata, ch/buriedpyramid] +# # - [0x10576F0, .rodata, matchinggame] +# # - [0x1057700, .rodata, waterctrl] +# # - [0x1057710, .bss, bss_pad] +# # - [0x1057710, .bss, ch/toots] +# # - [0x1057710, .bss, ch/gobi1] +# # - [0x1057710, .bss, ch/gobi2] +# # - [0x1057710, .bss, ch/gobirock] +# # - [0x1057710, .bss, code_4740] +# # - [0x1057710, .bss, code_5570] +# # - [0x1057710, .bss, code_61E0] +# # - [0x1057710, .bss, code_6F80] +# # - [0x1057710, .bss, code_7D50] +# # - [0x1057710, .bss, code_7FF0] +# # - [0x1057710, .bss, code_9C10] +# # - [0x1057710, .bss, matchinggame] +# # - [0x1057710, .bss, waterctrl] +# - name: MMM +# dir: MMM +# type: bin +# start: 0x0107BB30 +# # vram: 0x803863F0 +# # follows_vram: core2 +# # exclusive_ram_id: overlay +# # subsegments: +# # - [0x1057710, c, ch/loggo] #DONE +# # - [0x1057C80, c, ch/napper] #DONE +# # - [0x10584D0, c, code_DC0] #DONE +# # - [0x1058730, c, ch/motzhand] #DONE +# # - [0x1058DC0, c, code_16B0] #DONE +# # - [0x1059750, c, code_2040] #DONE +# # - [0x105A670, c, code_2F60] #DONE +# # - [0x105A830, c, code_3120] #DONE +# # - [0x105AB30, c, code_3420] #DONE +# # - [0x105B460, c, crc] #DONE +# # - [0x105B460, c, code_3D50] #DONE +# # - [0x105BEE0, c, code_47D0] #DONE +# # - [0x105C710, c, code_5000] #DONE +# # - [0x105CD00, .data, ch/loggo] +# # - [0x105CD40, .data, ch/napper] +# # - [0x105CD70, .data, code_DC0] +# # - [0x105CDB0, .data, ch/motzhand] +# # - [0x105CDF0, .data, code_16B0] +# # - [0x105CF00, .data, code_2040] +# # - [0x105D150, .data, code_2F60] +# # - [0x105D240, .data, code_3420] +# # - [0x105D510, .data, code_3D50] +# # - [0x105D620, .data, crc] +# # - [0x105D630, .data, code_5000] +# # - [0x105D660, .rodata, ch/loggo] +# # - [0x105D690, .rodata, ch/napper] +# # - [0x105D6B0, .rodata, ch/motzhand] +# # - [0x105D6D0, .rodata, code_16B0] +# # - [0x105D720, .rodata, code_2040] +# # - [0x105D760, .rodata, code_3120] +# # - [0x105D770, .rodata, code_3420] +# # - [0x105D780, .rodata, code_3D50] +# # - [0x105D7A0, .rodata, code_47D0] +# # - [0x105D7D0, .rodata, code_5000] +# # - [0x105D7E0, .bss, bss_pad] +# # - [0x105D7E0, .bss, code_2040] +# # - [0x105D7E0, .bss, code_3120] +# # - [0x105D7E0, .bss, code_3420] +# # - [0x105D7E0, .bss, code_3D50] +# - name: TTC +# dir: TTC +# type: bin +# start: 0x01081C00 +# # vram: 0x803863F0 +# # follows_vram: core2 +# # exclusive_ram_id: overlay +# # subsegments: +# # - [0x105D7E0, c, ch/clam] #DONE +# # - [0x105E880, c, ch/blubber] #DONE +# # - [0x105F1B0, c, ch/nipper] #DONE +# # - [0x105FEB0, c, code_26D0] #DONE +# # - [0x1060360, c, ch/leaky] #DONE +# # - [0x1060820, c, code_3040] #DONE +# # - [0x10608B0, c, ch/lockup] #DONE +# # - [0x1060DB0, c, ch/treasurehunt] #DONE +# # - [0x1061610, c, code_3E30] #DONE +# # - [0x10633B0, c, ch/treasure] #DONE +# # - [0x10637A0, .data, ch/clam] +# # - [0x10638D0, .data, ch/blubber] +# # - [0x1063930, .data, ch/nipper] +# # - [0x10639D0, .data, code_26D0] +# # - [0x1063AF0, .data, ch/leaky] +# # - [0x1063B40, .data, code_3040] +# # - [0x1063B50, .data, ch/lockup] +# # - [0x1063C10, .data, ch/treasurehunt] +# # - [0x1063D70, .data, code_3E30] +# # - [0x1064080, .data, ch/treasure] +# # - [0x10640D0, .rodata, ch/clam] +# # - [0x1064130, .rodata, ch/blubber] +# # - [0x1064160, .rodata, ch/nipper] +# # - [0x1064180, .rodata, code_26D0] +# # - [0x10641C0, .rodata, ch/leaky] +# # - [0x10641E0, .rodata, ch/lockup] +# # - [0x1064210, .rodata, ch/treasurehunt] +# # - [0x1064240, .rodata, code_3E30] +# # - [0x1064A90, .rodata, ch/treasure] +# # - [0x1064AE0, .bss, code_3040] +# # - [0x1064AE0, .bss, ch/treasurehunt] +# # - [0x1064AE0, .bss, code_3E30] +# - name: MM +# dir: MM +# type: code +# start: 0x01088F00 +# # vram: 0x803863F0 +# # follows_vram: core2 +# # exclusive_ram_id: overlay +# # subsegments: +# # - [0x1064AE0, c, ch/orangepad] +# # - [0x1065050, c, ch/hut] +# # - [0x1065390, c, ch/chimpystump] +# # - [0x10655C0, c, ch/conga] +# # - [0x10665B0, c, crc] +# # - [0x1066680, c, ch/orange] +# # - [0x10669F0, c, ch/lmonkey] #chimpy +# # - [0x1066FA0, c, code_24C0] +# # - [0x1067090, c, ch/grublin] +# # - [0x1067220, c, ch/jujuhitbox] +# # - [0x10676C0, c, ch/juju] +# # - [0x1067F80, .data, ch/orangepad] +# # - [0x1067FB0, .data, ch/hut] +# # - [0x1068010, .data, ch/chimpystump] +# # - [0x1068040, .data, ch/conga] +# # - [0x10680B0, .data, crc] +# # - [0x10680C0, .data, ch/orange] +# # - [0x1068100, .data, ch/lmonkey] +# # - [0x1068150, .data, ch/grublin] +# # - [0x10681D0, .data, ch/jujuhitbox] +# # - [0x1068200, .data, ch/juju] +# # - [0x1068230, .rodata, ch/orangepad] +# # - [0x1068240, .rodata, ch/hut] +# # - [0x1068250, .rodata, ch/conga] +# # - [0x10682D0, .rodata, ch/orange] +# # - [0x10682F0, .rodata, ch/lmonkey] +# # - [0x1068340, .rodata, ch/grublin] +# # - [0x1068350, .rodata, ch/jujuhitbox] +# # - [0x1068360, .rodata, ch/juju] +# # - [0x1068370, .bss, ch/hut] +# # - [0x1068370, .bss, ch/juju] +# - name: BGS +# dir: BGS +# type: code +# start: 0x0108C790 +# # vram: 0x803863F0 +# # follows_vram: core2 +# # exclusive_ram_id: overlay +# # # after: core2-data +# # subsegments: +# # - [0x1068370, c, ch/flibbit] #DONE +# # - [0x1069960, c, ch/pinkegg] #DONE +# # - [0x1069C10, c, ch/croctus] #DONE +# # - [0x106A5E0, c, ch/code_2270] #DONE +# # - [0x106B3A0, c, code_3030] #DONE +# # - [0x106B790, c, code_3420] +# # - [0x106D0E0, c, ch/yumblie] #DONE +# # - [0x106D970, c, ch/mrvile] #DONE +# # - [0x106EAA0, c, ch/frogminigame] #DONE +# # - [0x106F160, c, ch/yellowflibbit] #DONE +# # - [0x10709B0, c, ch/mudhut] #DONE +# # - [0x1070DD0, c, ch/code_8A60] #DONE +# # - [0x1071160, c, code_8DF0] #DONE +# # - [0x10713F0, c, ch/tanktup] +# # - [0x1071AC0, c, code_9750] #DONE +# # - [0x1071C30, c, ch/bigalligator] #DONE +# # - [0x1071C90, c, ch/leafboat] #DONE +# # - [0x1072610, .data, ch/flibbit] +# # - [0x1072640, .data, ch/pinkegg] +# # - [0x1072730, .data, ch/croctus] +# # - [0x10727B0, .data, ch/code_2270] +# # - [0x1072800, .data, code_3030] +# # - [0x10728E0, .data, code_3420] +# # - [0x10729C0, .data, ch/yumblie] +# # - [0x10729F0, .data, ch/mrvile] +# # - [0x1072A30, .data, ch/frogminigame] +# # - [0x1072A60, .data, ch/yellowflibbit] +# # - [0x1072AA0, .data, crc] +# # - [0x1072AB0, .data, ch/mudhut] +# # - [0x1072B10, .data, ch/code_8A60] +# # - [0x1072BA0, .data, ch/tanktup] +# # - [0x1072BD0, .data, code_9750] +# # - [0x1072CF0, .data, ch/bigalligator] +# # - [0x1072D20, .data, ch/leafboat] +# # - [0x1072D50, .rodata, ch/flibbit] +# # - [0x1072E60, .rodata, ch/croctus] +# # - [0x1072EF0, .rodata, ch/code_2270] +# # - [0x1072F60, .rodata, code_3030] +# # - [0x1072F70, .rodata, code_3420] +# # - [0x1072F90, .rodata, ch/yumblie] +# # - [0x1072FC0, .rodata, ch/mrvile] +# # - [0x1073010, .rodata, ch/frogminigame] +# # - [0x1073020, .rodata, ch/yellowflibbit] +# # - [0x1073110, .rodata, ch/mudhut] +# # - [0x1073120, .rodata, ch/code_8A60] +# # - [0x1073130, .rodata, ch/tanktup] +# # - [0x1073140, .rodata, code_9750] +# # - [0x1073150, .rodata, ch/leafboat] +# # - [0x10731B0, .bss, bss_pad] +# # - [0x10731B0, .bss, ch/frogminigame] +# - name: RBB +# dir: RBB +# type: code +# start: 0x010975D0 +# # vram: 0x803863F0 +# # follows_vram: core2 +# # exclusive_ram_id: overlay +# # subsegments: +# # - [0x10731B0, c, ch/eggtoll1] +# # - [0x10737F0, c, code_640] +# # - [0x1073E50, c, code_CA0] +# # - [0x1074720, c, code_1570] +# # - [0x1075170, c, ch/grimlet] +# # - [0x1075990, c, ch/cog] +# # - [0x1075C20, c, ch/axle] +# # - [0x1076040, c, ch/enginefan] +# # - [0x1076660, c, ch/enginefanswitch] +# # - [0x1076850, c, ch/propellor] +# # - [0x1076E60, c, ch/propellorswitch] +# # - [0x10772A0, c, ch/engineparts] +# # - [0x1077980, c, ch/whistleswitch] +# # - [0x1077E20, c, ch/whistle] +# # - [0x1078210, c, ch/whistlectrl] +# # - [0x10784A0, c, ch/anchorswitch] +# # - [0x1078640, c, ch/dolphin] +# # - [0x1078C60, c, ch/anchor] +# # - [0x1078DC0, c, ch/anchorctrl] +# # - [0x10790C0, c, ch/rarewareflag] +# # - [0x1079130, c, ch/bossboombox] +# # - [0x107AC10, c, ch/bossboomboxctrl] +# # - [0x107ACD0, c, ch/bellbuoy] +# # - [0x107B180, c, ch/rowboat] +# # - [0x107B6D0, c, ch/boombox] +# # - [0x107C820, c, code_9670] +# # - [0x107C9F0, c, code_9840] +# # - [0x107CBA0, c, propellorctrl] +# # - [0x107CE10, .data, ch/eggtoll1] +# # - [0x107CE90, .data, code_640] +# # - [0x107CFC0, .data, code_CA0] +# # - [0x107D030, .data, code_1570] +# # - [0x107D140, .data, ch/grimlet] +# # - [0x107D170, .data, ch/cog] +# # - [0x107D1F0, .data, ch/axle] +# # - [0x107D2F0, .data, ch/enginefan] +# # - [0x107D470, .data, ch/enginefanswitch] +# # - [0x107D4A0, .data, ch/propellor] +# # - [0x107D4E0, .data, ch/propellorswitch] +# # - [0x107D520, .data, ch/engineparts] +# # - [0x107D630, .data, ch/whistleswitch] +# # - [0x107D710, .data, ch/whistle] +# # - [0x107D810, .data, ch/whistlectrl] +# # - [0x107D840, .data, ch/anchorswitch] +# # - [0x107D870, .data, ch/dolphin] +# # - [0x107D8A0, .data, ch/anchor] +# # - [0x107D8D0, .data, ch/anchorctrl] +# # - [0x107D900, .data, ch/rarewareflag] +# # - [0x107D930, .data, ch/bossboombox] +# # - [0x107DAB0, .data, ch/bossboomboxctrl] +# # - [0x107DAE0, .data, ch/bellbuoy] +# # - [0x107DB10, .data, ch/rowboat] +# # - [0x107DB40, .data, ch/boombox] +# # - [0x107DBC0, .data, code_9670] +# # - [0x107DBF0, .data, code_9840] +# # - [0x107DC40, .rodata, code_640] +# # - [0x107DC50, .rodata, code_CA0] +# # - [0x107DC70, .rodata, code_1570] +# # - [0x107DCD0, .rodata, ch/grimlet] +# # - [0x107DD30, .rodata, ch/axle] +# # - [0x107DD40, .rodata, ch/enginefanswitch] +# # - [0x107DD50, .rodata, ch/propellor] +# # - [0x107DD70, .rodata, ch/propellorswitch] +# # - [0x107DD80, .rodata, ch/whistle] +# # - [0x107DD90, .rodata, ch/whistlectrl] +# # - [0x107DDB0, .rodata, ch/dolphin] +# # - [0x107DE80, .rodata, ch/anchor] +# # - [0x107DE90, .rodata, ch/anchorctrl] +# # - [0x107DEA0, .rodata, ch/bossboombox] +# # - [0x107DF30, .rodata, ch/bellbuoy] +# # - [0x107DF60, .rodata, ch/rowboat] +# # - [0x107DFB0, .rodata, ch/boombox] +# # - [0x107E020, .rodata, code_9670] +# # - [0x107E030, .bss, bss_pad] +# # - [0x107E030, .bss, ch/bossboombox] +# # - [0x107E030, .bss, ch/boombox] +# # - [0x107E030, .bss, ch/boombox] +# # - [0x107E030, .bss, code_9670] +# # - [0x107E030, .bss, propellorctrl] +# - name: FP +# dir: FP +# type: code +# start: 0x010A2470 +# # vram: 0x803863F0 +# # follows_vram: core2 +# # exclusive_ram_id: overlay +# # subsegments: +# # - [0x107E030, c, ch/scarfsled] #DONE +# # - [0x107E500, c, ch/racesled] #DONE +# # - [0x107E7C0, c, ch/snowmanbutton] #DONE +# # - [0x107EA70, c, ch/xmastree] #DONE +# # - [0x107F220, c, ch/boggy1] #DONE +# # - [0x107FA10, c, code_19E0] #DONE +# # - [0x1080020, c, code_1FF0] #DONE +# # - [0x1080380, c, ch/boggy2] #DONE +# # - [0x1081E30, c, ch/bearcub] #DONE +# # - [0x1082430, c, sirslushgame] #DONE +# # - [0x1082600, c, snowmanbuttongame] #DONE +# # - [0x10827A0, c, racectrl] #DONE +# # - [0x1083CF0, c, ch/twinkly] +# # - [0x1084B10, c, ch/twinklybox] #DONE +# # - [0x10859B0, c, ch/twinklymuncher] #DONE +# # - [0x1086360, c, ch/xmastreeswitch] #DONE +# # - [0x1086810, c, ch/xmastreestar] #DONE +# # - [0x1086D30, c, ch/present] #DONE +# # - [0x1086E50, c, ch/wozza] #DONE +# # - [0x1087B40, c, ch/wozzasjig] #DONE +# # - [0x1087ED0, c, ch/boggy3] #DONE +# # - [0x10881F0, c, code_A1C0] #DONE +# # - [0x1088270, c, ch/cavewozza] #DONE +# # - [0x1088530, c, ch/xmastreeice] #DONE +# # - [0x10888B0, c, ch/xmastreeeggtoll] #DONE +# # - [0x1088C00, c, code_ABD0] #DONE +# # - [0x1089500, c, code_B4D0] #DONE +# # - [0x1089630, .data, ch/scarfsled] +# # - [0x1089680, .data, ch/racesled] +# # - [0x10896D0, .data, ch/snowmanbutton] +# # - [0x1089790, .data, ch/xmastree] +# # - [0x10897C0, .data, ch/boggy1] +# # - [0x1089840, .data, code_19E0] +# # - [0x1089880, .data, code_1FF0] +# # - [0x10898C0, .data, ch/boggy2] +# # - [0x1089A30, .data, ch/bearcub] +# # - [0x1089AF0, .data, sirslushgame] +# # - [0x1089B00, .data, snowmanbuttongame] +# # - [0x1089B10, .data, racectrl] +# # - [0x1089B90, .data, ch/twinkly] +# # - [0x1089D00, .data, ch/twinklybox] +# # - [0x1089FD0, .data, ch/twinklymuncher] +# # - [0x108A040, .data, ch/xmastreeswitch] +# # - [0x108A0B0, .data, ch/xmastreestar] +# # - [0x108A0E0, .data, ch/present] +# # - [0x108A160, .data, ch/wozza] +# # - [0x108A200, .data, ch/wozzasjig] +# # - [0x108A2C0, .data, ch/boggy3] +# # - [0x108A300, .data, code_A1C0] +# # - [0x108A330, .data, ch/cavewozza] +# # - [0x108A370, .data, ch/xmastreeice] +# # - [0x108A480, .data, ch/xmastreeeggtoll] +# # - [0x108A520, .data, code_ABD0] +# # - [0x108A7C0, .rodata, ch/scarfsled] +# # - [0x108A7D0, .rodata, ch/xmastree] +# # - [0x108A830, .rodata, ch/boggy1] +# # - [0x108A850, .rodata, code_19E0] +# # - [0x108A860, .rodata, code_1FF0] +# # - [0x108A870, .rodata, ch/boggy2] +# # - [0x108A950, .rodata, ch/bearcub] +# # - [0x108A970, .rodata, racectrl] +# # - [0x108A9C0, .rodata, ch/twinkly] +# # - [0x108AA40, .rodata, ch/twinklybox] +# # - [0x108AA80, .rodata, ch/twinklymuncher] +# # - [0x108AAB0, .rodata, ch/xmastreestar] +# # - [0x108AAC0, .rodata, ch/wozza] +# # - [0x108AB10, .rodata, ch/wozzasjig] +# # - [0x108AB30, .rodata, ch/xmastreeice] +# # - [0x108AB40, .rodata, ch/xmastreeeggtoll] +# # - [0x108AB50, .bss, bss_pad] +# # - [0x108AB50, .bss, ch/boggy2] +# # - [0x108AB50, .bss, sirslushgame] +# # - [0x108AB50, .bss, snowmanbuttongame] +# # - [0x108AB50, .bss, racectrl] +# # - [0x108AB50, .bss, ch/xmastreestar] +# # - [0x108AB50, .bss, code_B4D0] +# - name: SM +# dir: SM +# type: bin +# start: 0x010AEF90 +# # vram: 0x803863F0 +# # follows_vram: core2 +# # exclusive_ram_id: overlay +# # subsegments: +# # - [0x108AB50, c, code_0] +# # - [0x108AC40, c, code_F0] +# # - [0x108B100, c, code_5B0] +# # - [0x108B740, c, code_BF0] +# # - [0x108B8B0, c, ch/attacktutorial] +# # - [0x108C070, c, ch/vegetables] +# # - [0x108D450, c, code_2900] +# # - [0x108D4E0, c, code_2990] +# # - [0x108EB10, c, code_3FC0] +# # - [0x108EBC0, c, code_4070] +# # - [0x108F020, c, code_44D0] +# # - [0x108F210, c, code_46C0] +# # - [0x108F220, .data, code_0] +# # - [0x108F240, .data, code_F0] +# # - [0x108F250, .data, code_5B0] +# # - [0x108F350, .data, code_BF0] +# # - [0x108F380, .data, ch/attacktutorial] +# # - [0x108F3B0, .data, ch/vegetables] +# # - [0x108F6C0, .data, code_2990] +# # - [0x108F750, .data, code_3FC0] +# # - [0x108F810, .data, code_4070] +# # - [0x108F840, .data, code_44D0] +# # - [0x108F870, .rodata, code_5B0] +# # - [0x108F890, .rodata, ch/attacktutorial] +# # - [0x108F930, .rodata, ch/vegetables] +# # - [0x108F960, .rodata, code_2990] +# # - [0x108FA70, .rodata, code_44D0] +# # - [0x108FA80, .bss, code_F0] +# - name: cutscenes +# dir: cutscenes +# type: bin +# start: 0x010B4170 +# # vram: 0x803863F0 +# # follows_vram: core2 +# # exclusive_ram_id: overlay +# # subsegments: +# # - [0x108FA80, c, code_0] +# # - [0x1095B70, c, code_60F0] #DONE +# # - [0x10961B0, c, code_6730] #DONE +# # - [0x1096470, c, code_69F0] #DONE +# # - [0x1096710, c, code_6C90] #DONE +# # - [0x10969E0, .data, code_0] +# # - [0x1097320, .data, code_60F0] +# # - [0x1097D90, .data, code_6730] +# # - [0x1097E30, .data, code_69F0] +# # - [0x1097F20, .data, code_6C90] +# # - [0x1097FC0, .rodata, code_0] +# # - [0x1098040, .rodata, code_6730] +# # - [0x1098050, .rodata, code_69F0] +# # - [0x1098060, .rodata, code_6C90] +# # - [0x1098070, .bss, bss_pad] +# - name: lair +# dir: lair +# type: code +# start: 0x010BC760 +# # vram: 0x803863F0 +# # follows_vram: core2 +# # exclusive_ram_id: overlay +# # subsegments: +# # - [0x1098070, c, code_0] #DONE +# # - [0x109C310, c, ch/cauldron] #DONE +# # - [0x109D6B0, c, ch/brentilda] #DONE +# # - [0x109DF40, c, code_5ED0] #DONE +# # - [0x10A0760, c, code_86F0] #DONE +# # - [0x10A1CB0, c, code_9C40] #DONE +# # - [0x10A21E0, c, code_A170] #DONE +# # - [0x10A24A0, c, code_A430] #DONE +# # - [0x10A2510, c, code_A4A0] #DONE +# # - [0x10A2880, c, code_A810] #DONE +# # - [0x10A2DE0, c, code_AD70] #DONE +# # - [0x10A3C40, c, code_BBD0] #DONE +# # - [0x10A4230, c, code_C1C0] #DONE +# # - [0x10A4730, c, code_C6C0] #DONE +# # - [0x10A4930, .data, code_0] +# # - [0x10A51A0, .data, ch/cauldron] +# # - [0x10A5390, .data, ch/brentilda] +# # - [0x10A53E0, .data, code_5ED0] +# # - [0x10A6430, .data, code_86F0] +# # - [0x10A64E0, .data, code_9C40] +# # - [0x10A6560, .data, code_A170] +# # - [0x10A6600, .data, code_A430] +# # - [0x10A6630, .data, code_A4A0] +# # - [0x10A6700, .data, code_A810] +# # - [0x10A6730, .data, code_AD70] +# # - [0x10A6860, .data, code_BBD0] +# # - [0x10A6940, .data, code_C1C0] +# # - [0x10A69A0, .data, code_C6C0] +# # - [0x10A69D0, .rodata, code_0] +# # - [0x10A6C80, .rodata, ch/cauldron] +# # - [0x10A6D10, .rodata, ch/brentilda] +# # - [0x10A6D40, .rodata, code_5ED0] +# # - [0x10A6E50, .rodata, code_86F0] +# # - [0x10A6EC0, .rodata, code_9C40] +# # - [0x10A6EF0, .rodata, code_A4A0] +# # - [0x10A6F30, .rodata, code_A810] +# # - [0x10A6F50, .rodata, code_AD70] +# # - [0x10A6F70, .rodata, code_BBD0] +# # - [0x10A6FB0, .rodata, code_C1C0] +# # - [0x10A6FC0, .rodata, code_C6C0] +# # - [0x10A6FD0, .bss, bss_pad] +# # - [0x10A6FD0, .bss, code_0] +# # - [0x10A6FD0, .bss, code_A810] +# - name: fight +# dir: fight +# type: bin +# start: 0x010CB6C0 +# # vram: 0x803863F0 +# # follows_vram: core2 +# # exclusive_ram_id: overlay +# # subsegments: +# # - [0x10A6FD0, c, code_0] #DONE +# # - [0x10A7150, c, chfinalboss] +# # - [0x10ACEA0, c, chbossjinjo] #DONE +# # - [0x10ADE60, c, chbossjinjobase] #DONE +# # - [0x10AE550, c, chstonejinjo] #DONE +# # - [0x10AEBB0, c, chjinjonatorbase] #DONE +# # - [0x10AF360, c, chspellbarrier] #DONE +# # - [0x10AF770, c, chspellfireball] #DONE +# # - [0x10B0820, c, code_9850] #DONE +# # - [0x10B0D10, c, chjinjonator] #DONE +# # - [0x10B1EA0, c, chbossshadow] #DONE +# # - [0x10B1F60, .data, chfinalboss] +# # - [0x10B23F0, .data, chbossjinjo] +# # - [0x10B2570, .data, chbossjinjobase] +# # - [0x10B25D0, .data, chstonejinjo] +# # - [0x10B2620, .data, chjinjonatorbase] +# # - [0x10B26B0, .data, chspellbarrier] +# # - [0x10B26E0, .data, chspellfireball] +# # - [0x10B29A0, .data, code_9850] +# # - [0x10B2B90, .data, chjinjonator] +# # - [0x10B2C70, .data, chbossshadow] +# # - [0x10B2CA0, .rodata, chfinalboss] +# # - [0x10B3060, .rodata, chbossjinjo] +# # - [0x10B3110, .rodata, chbossjinjobase] +# # - [0x10B3120, .rodata, chstonejinjo] +# # - [0x10B3160, .rodata, chjinjonatorbase] +# # - [0x10B3190, .rodata, chspellbarrier] +# # - [0x10B31A0, .rodata, chspellfireball] +# # - [0x10B31F0, .rodata, code_9850] +# # - [0x10B3200, .rodata, chjinjonator] +# # - [0x10B3310, .rodata, chbossshadow] +# # - [0x10B3320, .bss, code_0] +# # - [0x10B3320, .bss, chfinalboss] +# # - [0x10B3320, .bss, chspellfireball] +# # - [0x10B3320, .bss, chjinjonator] +# - name: CCW +# dir: CCW +# type: bin +# start: 0x010D7A90 +# vram: 0x803863F0 +# # follows_vram: core2 +# exclusive_ram_id: overlay +# subsegments: + # - [0x10B3320, c, code_0] #DONE + # - [0x10B3480, c, code_160] #DONE + # - [0x10B3C70, c, code_950] #DONE + # - [0x10B47D0, c, code_14B0] #DONE + # - [0x10B4E40, c, code_1B20] #DONE + # - [0x10B54C0, c, code_21A0] #DONE + # - [0x10B5590, c, code_2270] #DONE + # - [0x10B5E20, c, code_2B00] #DONE + # - [0x10B6370, c, code_3050] #DONE + # - [0x10B6630, c, code_3310] #DONE + # - [0x10B70C0, c, code_3DA0] #DONE + # - [0x10B7850, c, code_4530] #DONE + # - [0x10B7C80, c, code_4960] #DONE + # - [0x10B8020, c, code_4D00] #DONE + # - [0x10B83F0, c, code_50D0] #DONE + # - [0x10B8860, c, code_5540] #DONE + # - [0x10B8F10, c, code_5BF0] #DONE + # - [0x10B9500, c, code_61E0] #DONE + # - [0x10B9940, c, code_6620] #DONE + # - [0x10B9DE0, c, code_6AC0] #DONE + # - [0x10BA1E0, c, code_6EC0] #DONE + # - [0x10BA440, c, code_7120] #DONE + # - [0x10BA890, c, code_7570] #DONE + # - [0x10BA9E0, c, code_76C0] #DONE + # - [0x10BAEE0, c, code_7BC0] #DONE + # - [0x10BAF10, c, code_7BF0] #DONE + # - [0x10BB370, c, ch/grublinhood] #DONE + # - [0x10BB990, c, ch/vacationtexttrigger] #DONE + # - [0x10BBA80, .data, code_0] + # - [0x10BBAD0, .data, code_160] + # - [0x10BBB00, .data, code_950] + # - [0x10BBB30, .data, code_14B0] + # - [0x10BBB70, .data, code_1B20] + # - [0x10BBBD0, .data, code_21A0] + # - [0x10BBC00, .data, code_2270] + # - [0x10BBC40, .data, code_2B00] + # - [0x10BBDA0, .data, code_3050] + # - [0x10BBDD0, .data, code_3310] + # - [0x10BC090, .data, code_3DA0] + # - [0x10BC0C0, .data, code_4530] + # - [0x10BC160, .data, code_4960] + # - [0x10BC1A0, .data, code_4D00] + # - [0x10BC230, .data, code_50D0] + # - [0x10BC280, .data, code_5540] + # - [0x10BC2B0, .data, code_5BF0] + # - [0x10BC390, .data, code_61E0] + # - [0x10BC3C0, .data, code_6620] + # - [0x10BC400, .data, code_6AC0] + # - [0x10BC530, .data, code_6EC0] + # - [0x10BC570, .data, code_7120] + # - [0x10BC620, .data, code_7570] + # - [0x10BC650, .data, code_76C0] + # - [0x10BC7E0, .data, code_7BC0] + # - [0x10BC820, .data, code_7BF0] + # - [0x10BC860, .data, ch/grublinhood] + # - [0x10BC930, .data, ch/vacationtexttrigger] + # - [0x10BC960, .rodata, code_160] + # - [0x10BC980, .rodata, code_950] + # - [0x10BC9E0, .rodata, code_1B20] + # - [0x10BCA10, .rodata, code_2270] + # - [0x10BCA40, .rodata, code_2B00] + # - [0x10BCA70, .rodata, code_3310] + # - [0x10BCA90, .rodata, code_3DA0] + # - [0x10BCAD0, .rodata, code_4530] + # - [0x10BCB10, .rodata, code_4960] + # - [0x10BCB20, .rodata, code_4D00] + # - [0x10BCB50, .rodata, code_50D0] + # - [0x10BCB90, .rodata, code_5540] + # - [0x10BCBB0, .rodata, code_5BF0] + # - [0x10BCBF0, .rodata, code_61E0] + # - [0x10BCC10, .rodata, code_6620] + # - [0x10BCC20, .rodata, code_6AC0] + # - [0x10BCC40, .rodata, code_76C0] + # - [0x10BCC50, .rodata, code_7BF0] + # - [0x10BCC60, .rodata, ch/grublinhood] + # - [0x10BCD00, .bss, bss_pad] + # - [0x10BCD00, .bss, code_3310] +- name: emptyLvl + dir: emptyLvl + type: code + start: 0x010E1470 + vram: 0x803863F0 + # follows_vram: core2 + exclusive_ram_id: overlay + subsegments: + - [0x010E1470, c, code_0] + - [0x010E1480, .data, code_0] + - [0x010E1490, .bss, code_0] +- [0x010E1490] # end of ROM diff --git a/include/version.h b/include/version.h new file mode 100644 index 00000000..bed81f3d --- /dev/null +++ b/include/version.h @@ -0,0 +1,50 @@ +#ifndef __BANJO_KAZOOIE_VERSION_H__ +#define __BANJO_KAZOOIE_VERSION_H__ + +//These values of `VERSION` match the values defined via the Makefile +#define VERSION_USA_1_0 0 +#define VERSION_PAL 1 +#define VERSION_USA_1_1 2 +#define VERSION_JP 3 + +#if VERSION == VERSION_USA_1_0 +#define USA10_EXCLUSIVE(body) body +#else +#define USA10_EXCLUSIVE(body) +#endif + +#if VERSION == VERSION_PAL +#define PAL_EXCLUSIVE(body) body +#else +#define PAL_EXCLUSIVE(body) +#endif + +#if VERSION == VERSION_USA_1_1 +#define USA11_EXCLUSIVE(body) body +#else +#define USA11_EXCLUSIVE(body) +#endif + +#if VERSION == VERSION_JP +#define JP_EXCLUSIVE(body) body +#else +#define JP_EXCLUSIVE(body) +#endif + +#if VERSION == VERSION_USA_1_0 +#define VER_SELECT(usa0, pal, usa1, jp) usa0 +#elif VERSION == VERSION_PAL +#define VER_SELECT(usa0, pal, usa1, jp) pal +#elif VERSION == VERSION_USA_1_1 +#define VER_SELECT(usa0, pal, usa1, jp) usa1 +#elif VERSION == VERSION_JP +#define VER_SELECT(usa0, pal, usa1, jp) jp +#endif + +#if VERSION == VERSION_PAL +#define FRAMERATE 50 +#else +#define FRAMERATE 60 +#endif + +#endif // __BANJO_KAZOOIE_VERSION_H__ diff --git a/manual_syms.pal.txt b/manual_syms.pal.txt new file mode 100644 index 00000000..aaf6b727 --- /dev/null +++ b/manual_syms.pal.txt @@ -0,0 +1,177 @@ +/* Microcode renames to match ucode.h names */ +/* +n_aspMainTextStart = _binary_bin_core1_n_aspMain_text_bin_start; +n_aspMainTextEnd = _binary_bin_core1_n_aspMain_text_bin_end; +gSPF3DEX_fifoTextStart = _binary_bin_core1_gSPF3DEX_fifo_text_bin_start; +gSPF3DEX_fifoTextEnd = _binary_bin_core1_gSPF3DEX_fifo_text_bin_end; +gSPL3DEX_fifoTextStart = _binary_bin_core1_gSPL3DEX_fifo_text_bin_start; +gSPL3DEX_fifoTextEnd = _binary_bin_core1_gSPL3DEX_fifo_text_bin_end; +n_aspMainDataStart = _binary_bin_core1_n_aspMain_data_bin_start; +n_aspMainDataEnd = _binary_bin_core1_n_aspMain_data_bin_end; +gSPF3DEX_fifoDataStart = _binary_bin_core1_gSPF3DEX_fifo_data_bin_start; +gSPF3DEX_fifoDataEnd = _binary_bin_core1_gSPF3DEX_fifo_data_bin_end; +gSPL3DEX_fifoDataStart = _binary_bin_core1_gSPL3DEX_fifo_data_bin_start; +gSPL3DEX_fifoDataEnd = _binary_bin_core1_gSPL3DEX_fifo_data_bin_end; +*/ + +/* Fixed-address buffers */ +D_8000E800 = 0x8000E800; +D_8002D500 = 0x8002D500; +D_8023DA00 = 0x8023DA00; /* confirm */ +func_8023DA20 = 0x8023E620; +D_803FBE00 = 0x803FBE00; +D_803FFE00 = 0x803FFE00; +D_803FFE10 = 0x803FFE10; +gOverlayTable = 0x803FFE10; +D_803A5D00 = 0x803A5D00; /* framebuffers */ + +/* Renames for the boot segment */ +boot_D_8002D500 = D_8002D500; +boot_core1_VRAM = core1_VRAM; +boot_D_803FBE00 = D_803FBE00; +boot_D_803FFE00 = D_803FFE00; +boot_gOverlayTable = gOverlayTable; +boot_func_8023DA20 = func_8023DA20; + +/* Temporary Correct*/ +D_80000300 = 0x80000300; +func_8024BE30 = 0x8024BAC0; +func_8024C428 = 0x8024C078; +viewport_get_position_vec3f = 0x8024c21c; +veiwport_get_position_vec3w = 0x8024c240; +viewport_get_rotation_vec3f = 0x8024c3b4; +func_8024E71C = 0x8024e36c; +pfsManager_update = 0x8024e418; +pfsManager_init = 0x8024ecac; +musicInstruments_init = 0x8024f130; +func_80250650 = 0x802502a0; +rumbleManager_80250C08 = 0x80250858; +rumbleManager_init = 0x802508d4; +overlayManagerloadCore2 = 0x80250f58; +func_802535A8 = 0x802531f8; +func_80254008 = 0x80253c58; +func_80254028 = 0x80253c78; +func_8025425C = 0x80253eac; +heap_init = 0x80254360; +malloc = 0x802548f8; +free = 0x80254d40; +func_80255198 = 0x80254de8; +func_80255524 = 0x80255174; +func_80255ACC = 0x8025571c; +write_file_blocks = 0x80255780; +func_80255C30 = 0x80255880; +func_80255CD8 = 0x80255928; +func_80255D44 = 0x80255994; +ml_dotProduct_vec3f = 0x80255c84; +ml_distance_vec3f = 0x80255cb4; +ml_vec3f_normalize_copy = 0x80256008; +ml_vec3f_normalize = 0x802560a0; +ml_vec3f_set_length_copy = 0x80256230; +ml_vec3f_yaw_rotate_copy = 0x80256550; +ml_init = 0x80257074; +ml_sin_deg = 0x8025840c; +ml_cos_deg = 0x8025843c; +ml_vec3f_copy = 0x802587f4; +ml_vec3f_diff_copy = 0x80258810; +ml_vec3f_diff = 0x80258844; +ml_vec3f_add = 0x80258898; +func_8025AFB0 = 0x8025AC00; +sns_find_and_parse_payload = 0x8025ae30; +sns_write_payload_over_heap = 0x8025b350; +DEBUG_use_special_bootmap = 0x8025b460; +n_alInit = 0x8025bf70; +n_alAudioFrame = 0x8025c118; +alEvtqPostEvent = 0x8025ca4c; +alEvtqNextEvent = 0x8025cb70; +alEvtqNew = 0x8025cbfc; +n_alSynAddSndPlayer = 0x8025cd80; +n_alSynAllocVoice = 0x8025ce58; +n_alSynSetVol = 0x8025d050; +n_alSynStartVoice = 0x8025d0f0; +n_alSynSetPan = 0x8025d170; +n_alSynSetPitch = 0x8025d1f0; +n_alSynSetFXMix = 0x8025d270; +n_alSynStopVoice = 0x8025d300; +n_alSynFreeVoice = 0x8025d370; +bzero = 0x80263790; +osWriteBackDCacheAll = 0x80263830; +__osInitialize_common = 0x80263860; +osCreateThread = 0x80263b50; +sinf = 0x80263ca0; +guMtxIdentF = 0x80264e30; +alCents2Ratio = 0x80263e60; +alHeapInit = 0x80263eb0; +osCreateMesgQueue = 0x80263ef0; +osAiSetFrequency = 0x80263f20; +alUnlink = 0x80264080; +alLink = 0x802640b0; +alHeapDBAlloc = 0x80264140; +osRecvMesg = 0x802641a0; +osAiGetLength = 0x802642e0; +osVirtualToPhysical = 0x802642f0; +osAiSetNextBuffer = 0x80264370; +osPiStartDma = 0x80264420; +osStopThread = 0x80264530; +osStartThread = 0x802645f0; +osWritebackDCache = 0x80264740; +osInvalDCache = 0x802647C0; +osCreatePiManager = 0x80264870; +osDestroyThread = 0x80264a00; +osSendMesg = 0x80264b00; +osSetThreadPri = 0x80264c50; +guMtxF2L = 0x80264d30; +gu_sqrtf = 0x80264fa0; +cosf = 0x80264fb0; +osSetIntMask = 0x80265120; + +framebuffer_width = 0x802762d8; +framebuffer_height = 0x802762dc; +n_syn = 0x80276bd4; +osViClock = 0x80276e78; + +core2_TEXT_START = 0x80286db0; +spawnQueue_func_802C3A18 = 0x802C3898; +spawnQueue_flush = 0x802c38b8; +mapSpecificFlags_validateCRC1 = 0x802cb1cc; +func_802E3580 = 0x802E3770; +func_802E35D0 = 0x802E37C0; +func_802E35D8 = 0x802E37c8; +func_802E3F8C = 0x802E417c; +func_802E4170 = 0x802E4360; +func_802E4214 = 0x802E4404; +func_802E4424 = 0x802E4614; +game_defrag = 0x802e4ac8; +getGameMode = 0x802e4bec; +func_80309B48 = 0x80309ce8; +gctransition_reset = 0x8030c07c; +func_8030D90C = 0x8030daac; +func_8030DA44 = 0x8030dbe4; +sfxsource_setSfxId = 0x8030dc20; +sfxsource_setSampleRate = 0x8030dc5c; +func_8030DBB4 = 0x8030dd54; +func_8030E2C4 = 0x8030e464; +func_8030E6A4 = 0x8030e844; +func_8030ED70 = 0x8030ef10; +func_8030E394 = 0x8030e534; +func_8031C44C = 0x8031c82c; +func_8031C5AC = 0x8031c98c; +func_8031C5D4 = 0x8031c9b4; +func_8031C618 = 0x8031c9f8; +func_8031C638 = 0x8031ca18; +func_80320240 = 0x80320630; +func_8032056C = 0x8032095C; +func_80320B98 = 0x80320f88; +func_80320C94 = 0x80321084; +func_80320DB0 = 0x803211a0; +levelSpecificFlags_validateCRC1 = 0x8032243c; +func_80323240 = 0x80323690; +marker_getActor = 0x80329db0; +sfxInstruments_init = 0x80335670; +assetCache_init = 0x8033bfd4; +func_8033BD6C = 0x8033C1BC; +time_getDelta = 0x8033e1ec; +func_8033EF58 = 0x8033f3a8; +func_8034C630 = 0x8034ca90; +func_8034E698 = 0x8034eaf8; + +/* Temporary */ diff --git a/manual_syms.txt b/manual_syms.us.v10.txt similarity index 99% rename from manual_syms.txt rename to manual_syms.us.v10.txt index 4cc3d756..d1b2f670 100644 --- a/manual_syms.txt +++ b/manual_syms.us.v10.txt @@ -29,3 +29,4 @@ boot_D_803FBE00 = D_803FBE00; boot_D_803FFE00 = D_803FFE00; boot_gOverlayTable = gOverlayTable; boot_func_8023DA20 = func_8023DA20; + diff --git a/rzip_dummy_addrs.pal.txt b/rzip_dummy_addrs.pal.txt new file mode 100644 index 00000000..b0e7d6dc --- /dev/null +++ b/rzip_dummy_addrs.pal.txt @@ -0,0 +1,32 @@ +boot_core1_rzip_ROM_START = 0xF3D980; +boot_core1_rzip_ROM_END = 0xF5BEC0; +boot_core2_rzip_ROM_START = 0xF5BEC0; +boot_core2_rzip_ROM_END = 0xFC8460; +boot_CC_rzip_ROM_START = 0xFC8460; +boot_CC_rzip_ROM_END = 0xFCA3C0; +boot_MMM_rzip_ROM_START = 0xFCA3C0; +boot_MMM_rzip_ROM_END = 0xFCD5C0; +boot_GV_rzip_ROM_START = 0xFCD5C0; +boot_GV_rzip_ROM_END = 0xFD2CC0; +boot_TTC_rzip_ROM_START = 0xFD2CC0; +boot_TTC_rzip_ROM_END = 0xFD6900; +boot_MM_rzip_ROM_START = 0xFD6900; +boot_MM_rzip_ROM_END = 0xFD8930; +boot_BGS_rzip_ROM_START = 0xFD8930; +boot_BGS_rzip_ROM_END = 0xFDDE80; +boot_RBB_rzip_ROM_START = 0xFDDE80; +boot_RBB_rzip_ROM_END = 0xFE3060; +boot_FP_rzip_ROM_START = 0xFE3060; +boot_FP_rzip_ROM_END = 0xFE8CA0; +boot_CCW_rzip_ROM_START = 0xFFA830; +boot_CCW_rzip_ROM_END = 0xFFF090; +boot_SM_rzip_ROM_START = 0xFE8CA0; +boot_SM_rzip_ROM_END = 0xFEB540; +boot_cutscenes_rzip_ROM_START = 0xFEB540; +boot_cutscenes_rzip_ROM_END = 0xFED780; +boot_lair_rzip_ROM_START = 0xFED780; +boot_lair_rzip_ROM_END = 0xFF4A50; +boot_fight_rzip_ROM_START = 0xFF4A50; +boot_fight_rzip_ROM_END = 0xFFA830; +boot_emptyLvl_rzip_ROM_START = 0xFFF090; +boot_emptyLvl_rzip_ROM_END = 0xFFF0B0; \ No newline at end of file diff --git a/rzip_dummy_addrs.txt b/rzip_dummy_addrs.txt deleted file mode 100644 index 9baca249..00000000 --- a/rzip_dummy_addrs.txt +++ /dev/null @@ -1,32 +0,0 @@ -boot_core1_us_v10_rzip_ROM_START = 0xF19250; -boot_core1_us_v10_rzip_ROM_END = 0xF37F90; -boot_core2_us_v10_rzip_ROM_START = 0xF37F90; -boot_core2_us_v10_rzip_ROM_END = 0xFA3FD0; -boot_CC_us_v10_rzip_ROM_START = 0xFA3FD0; -boot_CC_us_v10_rzip_ROM_END = 0xFA5F50; -boot_MMM_us_v10_rzip_ROM_START = 0xFA5F50; -boot_MMM_us_v10_rzip_ROM_END = 0xFA9150; -boot_GV_us_v10_rzip_ROM_START = 0xFA9150; -boot_GV_us_v10_rzip_ROM_END = 0xFAE860; -boot_TTC_us_v10_rzip_ROM_START = 0xFAE860; -boot_TTC_us_v10_rzip_ROM_END = 0xFB24A0; -boot_MM_us_v10_rzip_ROM_START = 0xFB24A0; -boot_MM_us_v10_rzip_ROM_END = 0xFB44E0; -boot_BGS_us_v10_rzip_ROM_START = 0xFB44E0; -boot_BGS_us_v10_rzip_ROM_END = 0xFB9A30; -boot_RBB_us_v10_rzip_ROM_START = 0xFB9A30; -boot_RBB_us_v10_rzip_ROM_END = 0xFBEBE0; -boot_FP_us_v10_rzip_ROM_START = 0xFBEBE0; -boot_FP_us_v10_rzip_ROM_END = 0xFC4810; -boot_CCW_us_v10_rzip_ROM_START = 0xFD6190; -boot_CCW_us_v10_rzip_ROM_END = 0xFDAA10; -boot_SM_us_v10_rzip_ROM_START = 0xFC4810; -boot_SM_us_v10_rzip_ROM_END = 0xFC6F20; -boot_cutscenes_us_v10_rzip_ROM_START = 0xFC6F20; -boot_cutscenes_us_v10_rzip_ROM_END = 0xFC9150; -boot_lair_us_v10_rzip_ROM_START = 0xFC9150; -boot_lair_us_v10_rzip_ROM_END = 0xFD0420; -boot_fight_us_v10_rzip_ROM_START = 0xFD0420; -boot_fight_us_v10_rzip_ROM_END = 0xFD6190; -boot_emptyLvl_us_v10_rzip_ROM_START = 0xFDAA10; -boot_emptyLvl_us_v10_rzip_ROM_END = 0xFDAA30; diff --git a/rzip_dummy_addrs.us.v10.txt b/rzip_dummy_addrs.us.v10.txt new file mode 100644 index 00000000..a5f545de --- /dev/null +++ b/rzip_dummy_addrs.us.v10.txt @@ -0,0 +1,32 @@ +boot_core1_rzip_ROM_START = 0xF19250; +boot_core1_rzip_ROM_END = 0xF37F90; +boot_core2_rzip_ROM_START = 0xF37F90; +boot_core2_rzip_ROM_END = 0xFA3FD0; +boot_CC_rzip_ROM_START =0xFA3FD0; +boot_CC_rzip_ROM_END = 0xFA5F50; +boot_MMM_rzip_ROM_START = 0xFA5F50; +boot_MMM_rzip_ROM_END = 0xFA9150; +boot_GV_rzip_ROM_START = 0xFA9150; +boot_GV_rzip_ROM_END = 0xFAE860; +boot_TTC_rzip_ROM_START = 0xFAE860; +boot_TTC_rzip_ROM_END = 0xFB24A0; +boot_MM_rzip_ROM_START = 0xFB24A0; +boot_MM_rzip_ROM_END = 0xFB44E0; +boot_BGS_rzip_ROM_START = 0xFB44E0; +boot_BGS_rzip_ROM_END = 0xFB9A30; +boot_RBB_rzip_ROM_START = 0xFB9A30; +boot_RBB_rzip_ROM_END = 0xFBEBE0; +boot_FP_rzip_ROM_START = 0xFBEBE0; +boot_FP_rzip_ROM_END = 0xFC4810; +boot_CCW_rzip_ROM_START = 0xFD6190; +boot_CCW_rzip_ROM_END = 0xFDAA10; +boot_SM_rzip_ROM_START = 0xFC4810; +boot_SM_rzip_ROM_END = 0xFC6F20; +boot_cutscenes_rzip_ROM_START = 0xFC6F20; +boot_cutscenes_rzip_ROM_END = 0xFC9150; +boot_lair_rzip_ROM_START = 0xFC9150; +boot_lair_rzip_ROM_END = 0xFD0420; +boot_fight_rzip_ROM_START = 0xFD0420; +boot_fight_rzip_ROM_END = 0xFD6190; +boot_emptyLvl_rzip_ROM_START = 0xFDAA10; +boot_emptyLvl_rzip_ROM_END = 0xFDAA30; diff --git a/src/SM/code_46C0.c b/src/SM/code_46C0.c index d00ade88..061a6c9a 100644 --- a/src/SM/code_46C0.c +++ b/src/SM/code_46C0.c @@ -12,44 +12,44 @@ u8 D_8038BFC2; int func_8038AAB0(void){return 0;} #elif VERSION == PAL -void func_8038AAB0(s32 arg0, s32 arg1){ - if(arg1 < 0){ - func_8031A844(); - } - else{ - D_8038BFC2 = arg1; - func_8038B4D0(3); - } -} +// void func_8038AAB0(s32 arg0, s32 arg1){ +// if(arg1 < 0){ +// func_8031A844(); +// } +// else{ +// D_8038BFC2 = arg1; +// func_8038B4D0(3); +// } +// } // #pragma GLOBAL_ASM("asm/nonmatchings/SM/code_46C0/func_8038A8F0.s") -void func_8038A8F0(s32 arg0) { - u8 temp_v0; +// void func_8038A8F0(s32 arg0) { +// u8 temp_v0; - switch (arg0) { /* irregular */ - case 1: - D_8038BFC1 = 1; - func_80319400(); - break; - case 2: - D_8038BFC8->unk0 = (s32) D_8038BD38; - D_8038BFC8->unk4 = (s32) D_8038BD3C; - D_8038BFC8->unk10 = (s32) D_8038BD40; - D_8038BFC8->unk20 = (s32) D_8038BD44; - D_8038BFC8->unk30 = (s32) D_8038BD48; - func_8031A5E4(&D_8038BD30, &D_8038BD34, (void *)0x8038BFC8, 0xA, &D_8038B490); - break; - case 3: - temp_v0 = *(u8 *)0x8038BFC2; - if (temp_v0 != 0) { - func_8031B9A4(temp_v0 - 1, 0x80390000); - } - func_802FAF44(0); - D_8038BFC1 = 0; - break; - } - D_8038BFC0 = (s8) arg0; -} +// switch (arg0) { /* irregular */ +// case 1: +// D_8038BFC1 = 1; +// func_80319400(); +// break; +// case 2: +// D_8038BFC8->unk0 = (s32) D_8038BD38; +// D_8038BFC8->unk4 = (s32) D_8038BD3C; +// D_8038BFC8->unk10 = (s32) D_8038BD40; +// D_8038BFC8->unk20 = (s32) D_8038BD44; +// D_8038BFC8->unk30 = (s32) D_8038BD48; +// func_8031A5E4(&D_8038BD30, &D_8038BD34, (void *)0x8038BFC8, 0xA, &D_8038B490); +// break; +// case 3: +// temp_v0 = *(u8 *)0x8038BFC2; +// if (temp_v0 != 0) { +// func_8031B9A4(temp_v0 - 1, 0x80390000); +// } +// func_802FAF44(0); +// D_8038BFC1 = 0; +// break; +// } +// D_8038BFC0 = (s8) arg0; +// } // #pragma GLOBAL_ASM("asm/nonmatchings/SM/code_46C0/func_8038A9E4.s") diff --git a/src/core1/code_0.c b/src/core1/code_0.c index 809965f9..e73c1d2b 100644 --- a/src/core1/code_0.c +++ b/src/core1/code_0.c @@ -1,13 +1,16 @@ #include #include "functions.h" #include "variables.h" - +#include "version.h" #include "gc/gctransition.h" void func_8023E00C(enum map_e); void func_8023DFF0(s32); +#if VERSION == VERSION_PAL + extern s32 D_80000300; +#endif s32 D_80275610 = 0; s32 D_80275614 = 0; @@ -16,10 +19,9 @@ u32 D_8027561C[] = { 0x9, 0x4, 0xA, 0x3, 0xB, 0x2, 0xC, 0x5, 0x0, 0x1, 0x6, 0xD, -1 }; -u32 D_80275650 = 0xAD019D3C; //SM_DATA_CRC_1 -u32 D_80275654 = 0xD381B72F; //SM_DATA_CRC_2 -char D_80275658[] = "HjunkDire:218755"; - +u32 D_80275650 = VER_SELECT(0xAD019D3C, 0xA371A8F3, 0, 0); //SM_DATA_CRC_1 +u32 D_80275654 = VER_SELECT(0xD381B72F, 0xD0709154, 0, 0); //SM_DATA_CRC_2 +char D_80275658[] = VER_SELECT("HjunkDire:218755", "HjunkDire:300875", "HjunkDire:", "HjunkDire:"); /* .bss */ u32 D_8027A130; @@ -99,6 +101,9 @@ void func_8023DBDC(void){ } void core1_init(void){ +#if VERSION == VERSION_PAL + D_80000300 = 0; +#endif func_80255C30(); func_8023E00C(func_8023DBA4()); rarezip_init(); //initialize decompressor's huft table diff --git a/src/core1/code_1D00.c b/src/core1/code_1D00.c index e88dea9f..e3a5e46a 100644 --- a/src/core1/code_1D00.c +++ b/src/core1/code_1D00.c @@ -1,9 +1,12 @@ #include #include "functions.h" #include "variables.h" +#include "version.h" #include "2.0L/PR/sched.h" #include "n_libaudio.h" +#define AUDIO_HEAP_SIZE VER_SELECT(0x21000, 0x23A00, 0x21000, 0x21000) + extern void n_alInit(N_ALGlobals *, ALSynConfig *); typedef struct AudioInfo_s { @@ -144,12 +147,12 @@ struct { } audioManager; u8 pad_8027C178[0xE78]; ALHeap D_8027CFF0; -u8 * D_8027D000; +u8 * D_8027D000; s32 D_8027D004; OSMesgQueue D_8027D008; -OSMesg D_8027D020[50]; +OSMesg D_8027D020[3000/FRAMERATE]; OSIoMesg D_8027D0E8; -Struct_core1_1D00_4 D_8027D100[50]; +Struct_core1_1D00_4 D_8027D100[3000/FRAMERATE]; struct { u8 unk0; Struct_1D00_3 *unk4; @@ -282,11 +285,16 @@ void func_8023FA64(ALSeqpConfig *arg0) { } void audioManager_init(void){ - D_8027D000 = (u8 *) malloc(0x21000); - bzero(D_8027D000, 0x21000); - alHeapInit(&D_8027CFF0, D_8027D000, 0x21000); + D_8027D000 = (u8 *) malloc(AUDIO_HEAP_SIZE); + bzero(D_8027D000, AUDIO_HEAP_SIZE); + alHeapInit(&D_8027CFF0, D_8027D000, AUDIO_HEAP_SIZE); +#if VERSION == VERSION_USA_1_0 if(osTvType != OS_TV_NTSC) osViClock = 0x2e6025c; +#elif VERSION == VERSION_PAL +PAL_EXCLUSIVE( + osViClock = 0x2f5b2d2; +) audioManager_create(); sfxInstruments_init(); musicInstruments_init(); @@ -297,10 +305,10 @@ void audioManager_create(void) { int i; f32 var_f0; - osCreateMesgQueue(&D_8027D008, D_8027D020, 50); + osCreateMesgQueue(&D_8027D008, D_8027D020, 3000/FRAMERATE); osCreateMesgQueue(&audioManager.audioReplyMsgQ, audioManager.audioReplyMsgBuf, 8); //audioReplyMesgQueue osCreateMesgQueue(&audioManager.audioFrameMsgQ, audioManager.audioFrameMsgBuf, 8); - var_f0 = 733.333313f; + var_f0 = 44000.0f/FRAMERATE; D_8027DD74 = (s32)var_f0; if ((f32) D_8027DD74 < var_f0) { D_8027DD74++; @@ -321,14 +329,14 @@ void audioManager_create(void) { D_8027D5C0[0].unk0.next = NULL; for(i = 0; i < 89; i++){ alLink((ALLink *)&D_8027D5C0[i+1], (ALLink *)&D_8027D5C0[i]); - D_8027D5C0[i].unk10 = alHeapDBAlloc(0, 0, D_8027DD50.heap, 1, 0x200); + D_8027D5C0[i].unk10 = alHeapDBAlloc(0, 0, D_8027DD50.heap, 1, VER_SELECT(0x200, 0x270, 0x200, 0x200)); } - D_8027D5C0[i].unk10 = alHeapDBAlloc(0, 0, D_8027DD50.heap, 1, 0x200); - + D_8027D5C0[i].unk10 = alHeapDBAlloc(0, 0, D_8027DD50.heap, 1, VER_SELECT(0x200, 0x270, 0x200, 0x200)); for(i = 0; i < 2; i++){ - audioManager.ACMDList[i] = malloc(20000); + audioManager.ACMDList[i] = malloc(1200000/FRAMERATE); } - D_8027DD80 = 2500; + + D_8027DD80 = 150000/FRAMERATE; for(i = 0; i < 3; i++){ audioManager.audioInfo[i] = alHeapDBAlloc(0, 0, D_8027DD50.heap, 1, 0x10); audioManager.audioInfo[i]->unk8 = 0; @@ -368,7 +376,11 @@ bool audioManager_handleFrameMsg(AudioInfo *info, AudioInfo *prev_info){ s16 *outbuffer; Acmd *sp38; s32 sp34; +#if VERSION == VERSION_USA_1_0 s32 sp30 = 0; +#else + s32 sp30; +#endif f32 pad; outbuffer = (s16 *)osVirtualToPhysical(info->data); @@ -377,13 +389,15 @@ bool audioManager_handleFrameMsg(AudioInfo *info, AudioInfo *prev_info){ if(prev_info){ sp30 = osAiSetNextBuffer(prev_info->data, prev_info->frameSamples*4); }//L8024003C + +#if VERSION == VERSION_USA_1_0 if(sp30 == -1){ func_80247F24(2, 0x7d2); func_80247F9C(prev_info->frameSamples); func_80247F9C(info->frameSamples); func_802483D8(); - - } + } +#endif if((D_80275770 >= 0x139) & !D_80275778){ info->frameSamples = D_8027DD78; @@ -401,12 +415,14 @@ bool audioManager_handleFrameMsg(AudioInfo *info, AudioInfo *prev_info){ sp38 = n_alAudioFrame(audioManager.ACMDList[D_8027DCD0], &sp34, outbuffer, info->frameSamples); +#if VERSION == VERSION_USA_1_0 if(D_8027DD80 < sp34){ func_80247F24(2, 2000); func_80247F9C(sp34); func_80247F9C(D_8027DD80); func_802483D8(); } +#endif if(sp34 == 0){ return 0; @@ -426,6 +442,7 @@ void audioManager_handleDoneMsg(AudioInfo *info) } } +#if VERSION == VERSION_USA_1_0 s32 func_80240204(s32 addr, s32 len, void *state){ void *sp44; s32 sp40; @@ -479,6 +496,63 @@ s32 func_80240204(s32 addr, s32 len, void *state){ osPiStartDma(&D_8027D100[D_8027DCCC++], 1, 0, addr, sp44, 0x200U, &D_8027D008); return osVirtualToPhysical(sp44) + sp40; } +#elif VERSION == VERSION_PAL +#ifndef NONMATCHING +s32 func_80240204(s32 addr, s32 len, void *state); +#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_1D00/func_80240204.s") +#else +s32 func_80240204(s32 addr, s32 len, void *state){ + void *sp44; + s32 sp40; + Struct_1D00_3 *phi_s0; + Struct_1D00_3 *phi_v0; + s32 new_var; + Struct_1D00_3 *sp30; + + phi_v0 = D_8027D5B0.unk4; + sp30 = NULL; + for(phi_s0 = phi_v0; phi_s0 != NULL; phi_s0 = phi_s0->unk0.next) { + sp40 = (phi_s0->unk8 + 0x270); + if ((phi_s0->unk8 > addr)) break; + + sp30 = phi_s0; + if ((addr + len) <= sp40) { + phi_s0->unkC = (s32) D_8027DCC8; + return osVirtualToPhysical(phi_s0->unk10 + (addr - phi_s0->unk8)); + } + } + phi_s0 = D_8027D5B0.unk8; + if (phi_s0 == NULL) { + return osVirtualToPhysical(phi_v0); + } + D_8027D5B0.unk8 = phi_s0->unk0.next; + alUnlink(phi_s0); + if (sp30 != NULL) { + alLink(phi_s0, sp30); + } else { + phi_v0 = D_8027D5B0.unk4; + if (phi_v0 != NULL) { + D_8027D5B0.unk4 = phi_s0; + phi_s0->unk0.next = (ALLink *)phi_v0; + phi_s0->unk0.prev = NULL; + phi_v0->unk0.prev = (ALLink *)phi_s0; + } else { + D_8027D5B0.unk4 = phi_s0; + phi_s0->unk0.next = NULL; + phi_s0->unk0.prev = NULL; + } + } + + new_var = addr & 1; + addr = addr - new_var; + phi_s0->unk8 = addr; + phi_s0->unkC = (s32) D_8027DCC8; + sp44 = phi_s0->unk10; + osPiStartDma(&D_8027D100[D_8027DCCC++], 1, 0, phi_s0->unk8, phi_s0->unk10, 0x270U, &D_8027D008); + return osVirtualToPhysical(sp44) + new_var; +} +#endif +#endif void *func_802403B8(void *state) { if (D_8027D5B0.unk0 == 0) { @@ -498,12 +572,17 @@ void func_802403F0(void) { sp40 = NULL; for(phi_s0 = 0; phi_s0 < D_8027DCCC; phi_s0++){ + +#if VERSION == VERSION_USA_1_0 if (osRecvMesg(&D_8027D008, &sp40, 0) == -1) { func_80247F24(2, 0x7D5); func_80247F9C(D_8027DCCC); func_80247F9C(phi_s0); func_802483D8(); } +#else + osRecvMesg(&D_8027D008, &sp40, 0); +#endif } phi_s0_2 = D_8027D5B0.unk4; while(phi_s0_2 != NULL){ @@ -527,6 +606,11 @@ void func_802403F0(void) { D_8027DCC8 += 1; } +#if VERSION == VERSION_PAL +void *audioManager_getThread_PAL(void){ + return &audioManager.thread; +} + void audioManager_stopThread(void){ if(D_80275774){ D_80275774 = 0; diff --git a/src/core1/code_2BD0.c b/src/core1/code_2BD0.c index 13b56978..f358c09f 100644 --- a/src/core1/code_2BD0.c +++ b/src/core1/code_2BD0.c @@ -1,6 +1,8 @@ #include #include "functions.h" #include "variables.h" +#include "version.h" + OSIoMesg D_8027E090; struct { @@ -13,7 +15,7 @@ OSMesgQueue D_8027E108; //g_PimgrMesgQueue void func_802405F0(u32 * arg0, s32 arg1, s32 size){ s32 block_cnt; s32 block_remainder; - s32 block_size = 0x20000; + s32 block_size = VER_SELECT(0x20000, 0x8000, 0, 0); int i; osWritebackDCache(arg0, size); @@ -21,10 +23,10 @@ void func_802405F0(u32 * arg0, s32 arg1, s32 size){ block_remainder = size % block_size; for(i = 0; i < block_cnt; i++){ - osPiStartDma(&D_8027E090, OS_MESG_PRI_NORMAL, OS_READ, arg1, arg0, 0x20000, &D_8027E0A8.queue); + osPiStartDma(&D_8027E090, OS_MESG_PRI_NORMAL, OS_READ, arg1, arg0, VER_SELECT(0x20000, 0x8000, 0, 0), &D_8027E0A8.queue); osRecvMesg(&D_8027E0A8.queue, NULL, 1); - arg1 += 0x20000; - arg0 += 0x8000; + arg1 += VER_SELECT(0x20000, 0x8000, 0, 0); + arg0 += VER_SELECT(0x8000, 0x2000, 0, 0); } osPiStartDma(&D_8027E090, OS_MESG_PRI_NORMAL, OS_READ, arg1, arg0, block_remainder, &D_8027E0A8.queue); diff --git a/src/core1/code_7F60.c b/src/core1/code_7F60.c index 6f2381e7..57e10ce8 100644 --- a/src/core1/code_7F60.c +++ b/src/core1/code_7F60.c @@ -1,10 +1,16 @@ #include #include "functions.h" #include "variables.h" +#include "version.h" static void _guMtxIdentF(float mf[4][4]); -u8 D_80275900[] = {0xCF, 0xAD, 0xA2, 0x90, 0x93, 0x4A, 0x83, 0xF1}; +#if VERSION == VERSION_USA_1_0 +u8 D_80275900[8] = {0xCF, 0xAD, 0xA2, 0x90, 0x93, 0x4A, 0x83, 0xF1}; +#elif VERSION == VERSION_PAL +u8 D_80275900[8] = {0xD3, 0x9E, 0xA6, 0x20, 0xC7, 0x7E, 0xD5, 0xC6}; +#endif + f32 D_80275908 = BAD_DTOR; static s32 guFToFix32(f32 arg0){ diff --git a/src/done/bk_boot_1050.c b/src/done/bk_boot_1050.c index 924c77a3..206bcfa6 100644 --- a/src/done/bk_boot_1050.c +++ b/src/done/bk_boot_1050.c @@ -9,8 +9,8 @@ u64 gEntryStack[ENTRY_STACK_LEN_U64]; -extern u8 core1_us_v10_rzip_ROM_START[]; -extern u8 core1_us_v10_rzip_ROM_END[]; +extern u8 core1_rzip_ROM_START[]; +extern u8 core1_rzip_ROM_END[]; extern u8 D_8002D500; extern u8 core1_VRAM; extern u32 D_803FFE00[4]; @@ -25,7 +25,7 @@ void func_80000450(s32 arg0){ tmp = &D_8002D500; dst = &core1_VRAM; osInitialize(); - osPiRawStartDma(OS_READ, core1_us_v10_rzip_ROM_START, tmp, core1_us_v10_rzip_ROM_END - core1_us_v10_rzip_ROM_START); + osPiRawStartDma(OS_READ, core1_rzip_ROM_START, tmp, core1_rzip_ROM_END - core1_rzip_ROM_START); while(osPiGetStatus() & PI_STATUS_DMA_BUSY); func_8000055C(); func_80000594(&tmp, &dst); diff --git a/src/done/overlays.c b/src/done/overlays.c index 7db4666c..bb8c6b85 100644 --- a/src/done/overlays.c +++ b/src/done/overlays.c @@ -3,42 +3,42 @@ #include "variables.h" #define OVERLAY(ovl, _) \ - extern u8 ovl##_us_v10_rzip_ROM_START[]; \ - extern u8 ovl##_us_v10_rzip_ROM_END[]; + extern u8 ovl##_rzip_ROM_START[]; \ + extern u8 ovl##_rzip_ROM_END[]; #include #undef OVERLAY // This doesn't match as macros, even if two macros are used per overlay. // Look into autogenerating this table in the long run for a cleaner solution. void overlay_table_init(void) { - gOverlayTable[ 0].start = core2_us_v10_rzip_ROM_START; - gOverlayTable[ 0].end = core2_us_v10_rzip_ROM_END; - gOverlayTable[ 1].start = emptyLvl_us_v10_rzip_ROM_START; - gOverlayTable[ 1].end = emptyLvl_us_v10_rzip_ROM_END; - gOverlayTable[ 2].start = CC_us_v10_rzip_ROM_START; - gOverlayTable[ 2].end = CC_us_v10_rzip_ROM_END; - gOverlayTable[ 3].start = MMM_us_v10_rzip_ROM_START; - gOverlayTable[ 3].end = MMM_us_v10_rzip_ROM_END; - gOverlayTable[ 4].start = GV_us_v10_rzip_ROM_START; - gOverlayTable[ 4].end = GV_us_v10_rzip_ROM_END; - gOverlayTable[ 5].start = TTC_us_v10_rzip_ROM_START; - gOverlayTable[ 5].end = TTC_us_v10_rzip_ROM_END; - gOverlayTable[ 6].start = MM_us_v10_rzip_ROM_START; - gOverlayTable[ 6].end = MM_us_v10_rzip_ROM_END; - gOverlayTable[ 7].start = BGS_us_v10_rzip_ROM_START; - gOverlayTable[ 7].end = BGS_us_v10_rzip_ROM_END; - gOverlayTable[ 8].start = RBB_us_v10_rzip_ROM_START; - gOverlayTable[ 8].end = RBB_us_v10_rzip_ROM_END; - gOverlayTable[ 9].start = FP_us_v10_rzip_ROM_START; - gOverlayTable[ 9].end = FP_us_v10_rzip_ROM_END; - gOverlayTable[10].start = CCW_us_v10_rzip_ROM_START; - gOverlayTable[10].end = CCW_us_v10_rzip_ROM_END; - gOverlayTable[11].start = SM_us_v10_rzip_ROM_START; - gOverlayTable[11].end = SM_us_v10_rzip_ROM_END; - gOverlayTable[12].start = cutscenes_us_v10_rzip_ROM_START; - gOverlayTable[12].end = cutscenes_us_v10_rzip_ROM_END; - gOverlayTable[13].start = lair_us_v10_rzip_ROM_START; - gOverlayTable[13].end = lair_us_v10_rzip_ROM_END; - gOverlayTable[14].start = fight_us_v10_rzip_ROM_START; - gOverlayTable[14].end = fight_us_v10_rzip_ROM_END; + gOverlayTable[ 0].start = core2_rzip_ROM_START; + gOverlayTable[ 0].end = core2_rzip_ROM_END; + gOverlayTable[ 1].start = emptyLvl_rzip_ROM_START; + gOverlayTable[ 1].end = emptyLvl_rzip_ROM_END; + gOverlayTable[ 2].start = CC_rzip_ROM_START; + gOverlayTable[ 2].end = CC_rzip_ROM_END; + gOverlayTable[ 3].start = MMM_rzip_ROM_START; + gOverlayTable[ 3].end = MMM_rzip_ROM_END; + gOverlayTable[ 4].start = GV_rzip_ROM_START; + gOverlayTable[ 4].end = GV_rzip_ROM_END; + gOverlayTable[ 5].start = TTC_rzip_ROM_START; + gOverlayTable[ 5].end = TTC_rzip_ROM_END; + gOverlayTable[ 6].start = MM_rzip_ROM_START; + gOverlayTable[ 6].end = MM_rzip_ROM_END; + gOverlayTable[ 7].start = BGS_rzip_ROM_START; + gOverlayTable[ 7].end = BGS_rzip_ROM_END; + gOverlayTable[ 8].start = RBB_rzip_ROM_START; + gOverlayTable[ 8].end = RBB_rzip_ROM_END; + gOverlayTable[ 9].start = FP_rzip_ROM_START; + gOverlayTable[ 9].end = FP_rzip_ROM_END; + gOverlayTable[10].start = CCW_rzip_ROM_START; + gOverlayTable[10].end = CCW_rzip_ROM_END; + gOverlayTable[11].start = SM_rzip_ROM_START; + gOverlayTable[11].end = SM_rzip_ROM_END; + gOverlayTable[12].start = cutscenes_rzip_ROM_START; + gOverlayTable[12].end = cutscenes_rzip_ROM_END; + gOverlayTable[13].start = lair_rzip_ROM_START; + gOverlayTable[13].end = lair_rzip_ROM_END; + gOverlayTable[14].start = fight_rzip_ROM_START; + gOverlayTable[14].end = fight_rzip_ROM_END; } diff --git a/symbol_addrs.pal.txt b/symbol_addrs.pal.txt new file mode 100644 index 00000000..d436dd59 --- /dev/null +++ b/symbol_addrs.pal.txt @@ -0,0 +1,62 @@ +D_5E90 = 0x5E90; +D_D846C0 = 0xD846C0; +D_D954B0 = 0xD954B0; +D_EA3EB0 = 0xEA3EB0; +D_EADE60 = 0xEADE60; +osRomBase = 0x80000308; +bzero = 0x800020F0; +__osSetSR = 0x80002190; +__osGetSR = 0x800021A0; +__osSetFpcCsr = 0x800021B0; +osWritebackDCache = 0x80002B70; +osInvalICache = 0x80002BF0; +osMapTLBRdb = 0x80002C70; +__osProbeTLB = 0x80003BD0; +__osDisableInt = 0x80003FC0; +__osRestoreInt = 0x80003FE0; +bk_boot_BSS_START = 0x80005270; +___osGetSR = 0x8025AFE0; +bzero = 0x80263B40; +osWriteBackDCacheAll = 0x80263BE0; +osVirtualToPhysical = 0x802646A0; +osRecvMesg = 0x80264550; +osPiStartDma = 0x802647D0; +osWritebackDCache = 0x80264AF0; +osInvalDCache = 0x80264B70; +osDestroyThread = 0x80264DB0; +osSetThreadPri = 0x80265000; +osSetIntMask = 0x802654D0; +osInvalICache = 0x802684C0; +__osSetSR = 0x8026A210; +__osGetSR = 0x8026A220; +__osSetFpcCsr = 0x8026A230; +__osEnqueueAndYield = 0x8026A90C; +__osEnqueueThread = 0x8026AA0C; +__osPopThread = 0x8026AA54; +__osDispatchThread = 0x8026AA64; +__osCleanupThread = 0x8026ABE0; +osMapTLBRdb = 0x8026ABF0; +__osDisableInt = 0x8026ACB0; +__osRestoreInt = 0x8026ACD0; +__osProbeTLB = 0x8026B420; +bcopy = 0x8026C110; +__osSetCompare = 0x8026CA70; +osGetCount = 0x8026CE00; +__osShutdown = 0x8027712C; +__OSGlobalIntMask = 0x80277130; +__osRunQueue = 0x80277378; +__osRunningThread = 0x80277380; +__osFaultedThread = 0x80277384; +__osRcpImTable = 0x80278C60; +__libm_qnan_f = 0x80278DB0; + +func_80240204 = 0x80240D80; +alUnlink = 0x80264080; +alLink = 0x802640b0; +osVirtualToPhysical = 0x802642f0; +osPiStartDma = 0x80264420; +D_8027D008 = 0x8027cd48; +D_8027D5B0 = 0x8027D408; +D_8027DCC8 = 0x8027DB20; +D_8027DCCC = 0x8027DB24; +D_8027D100 = 0x8027CE68; \ No newline at end of file