From 9d582da336a901fac5d6f56fc18702c0d05fe31f Mon Sep 17 00:00:00 2001 From: Mark Street Date: Sun, 3 Aug 2025 10:10:10 +0000 Subject: [PATCH 1/2] Update splat to 0.23.0 --- conker.us.yaml | 18 +- conker/Makefile | 4 +- conker/conker.us.yaml | 2254 ++++++++++++++-------- conker/include/macro.inc | 12 +- conker/src/debugger/data/data_16003FE0.c | 114 -- conker/src/game/data/data_800959E0.c | 8 - conker/src/game/done/game_75810.c | 6 + conker/src/game/done/game_75A90.c | 7 +- conker/src/game/entrypoint.c | 11 - conker/src/game_14FF90.c | 63 +- conker/src/game_2DF70.c | 14 +- conker/src/game_3E890.c | 4 +- conker/src/game_75C90.c | 9 + conker/src/game_75FC0.c | 10 +- conker/src/game_76710.c | 27 +- conker/src/game_981E0.c | 7 - conker/src/game_A9D90.c | 6 - conker/src/init/data/data_2C200.c | 20 - conker/src/init/data/data_2C3F0.c | 6 - conker/src/init/data/data_2C400.c | 6 - conker/src/init/data/data_2C460.c | 158 -- conker/src/init/data/data_2C6B0.c | 6 - conker/src/init/data/data_2C750.c | 6 - conker/src/init/data/data_2C810.c | 17 - conker/src/init_1050.c | 2 +- conker/src/init_50A0.c | 104 +- conker/src/init_5AB0.c | 64 - conker/src/libultra/audio/cents2ratio.c | 1 - conker/src/libultra/audio/init_1CBF0.c | 13 +- conker/src/libultra/audio/init_1D900.c | 1 - conker/symbol_addrs.us.txt | 38 +- conker/undefined_syms.us.txt | 2 + game.us.rzip.yaml | 3 + tools/asm-differ | 2 +- tools/asm-processor | 2 +- tools/n64splat | 2 +- tools/splat_ext/rzip.py | 12 +- 37 files changed, 1721 insertions(+), 1318 deletions(-) delete mode 100644 conker/src/debugger/data/data_16003FE0.c delete mode 100644 conker/src/game/data/data_800959E0.c delete mode 100644 conker/src/init/data/data_2C200.c delete mode 100644 conker/src/init/data/data_2C3F0.c delete mode 100644 conker/src/init/data/data_2C400.c delete mode 100644 conker/src/init/data/data_2C460.c delete mode 100644 conker/src/init/data/data_2C6B0.c delete mode 100644 conker/src/init/data/data_2C750.c delete mode 100644 conker/src/init/data/data_2C810.c delete mode 100644 conker/src/init_5AB0.c diff --git a/conker.us.yaml b/conker.us.yaml index 6b3eb45..de94f1f 100644 --- a/conker.us.yaml +++ b/conker.us.yaml @@ -1,10 +1,16 @@ +sha1: 4cbadd3c4e0729dec46af64ad018050eada4f47a + options: + platform: n64 basename: conker target_path: baserom.us.z64 base_path: . compiler: IDO extensions_path: tools/splat_ext - sha1: 4cbadd3c4e0729dec46af64ad018050eada4f47a + + create_undefined_funcs_auto: no + create_undefined_syms_auto: no + segments: - name: header.us type: bin @@ -41,15 +47,15 @@ segments: - [0x0003c124, bin] # ucode .data section - name: game.us.rzip type: bin - start: 0x00042450 + start: 0x42450 - name: debugger.us type: bin - start: 0x0019EA88 + start: 0x19EA88 ### - - [0x001A37E0, bin, compressed] # 7760 files - - [0x00AB1941, bin, compressed_padding] # 15 bytes 0x0 padding + - [0x1A37E0, bin, compressed] # 7760 files + - [0xAB1941, bin, compressed_padding] # 15 bytes 0x0 padding ### - - [0x00AB1950, bin, assets_offsets_table] # TODO: use to generate this next section + - [0xAB1950, bin, assets_offsets_table] # TODO: use to generate this next section - name: assets00 type: rzip start: 0x00AB1A40 diff --git a/conker/Makefile b/conker/Makefile index 6f6aaf5..039058b 100644 --- a/conker/Makefile +++ b/conker/Makefile @@ -32,7 +32,7 @@ endif ASM_DIRS = asm \ asm/libultra asm/libultra/audio asm/libultra/gu asm/libultra/io asm/libultra/libc asm/libultra/os \ - asm/data asm/data/init asm/data/game asm/data/libultra + asm/data asm/data/init asm/data/init/data asm/data/game asm/data/libultra BIN_DIRS = assets @@ -201,7 +201,7 @@ $(GLOBAL_ASM_O_FILES): $(BUILD_DIR)/%.c.o: %.c include/variables.h include/struc $(PYTHON) $(ASM_PROCESSOR_DIR)/asm_processor.py $(OPT_FLAGS) $< > $(BUILD_DIR)/$< $(CC) -c -32 $(CFLAGS) $(OPT_FLAGS) $(LOOP_UNROLL) $(MIPSBIT) -o $@ $(BUILD_DIR)/$< $(PYTHON) $(ASM_PROCESSOR_DIR)/asm_processor.py $(OPT_FLAGS) $< --post-process $@ \ - --assembler "$(AS) $(ASFLAGS)" --asm-prelude $(ASM_PROCESSOR_DIR)/prelude.s + --assembler "$(AS) $(ASFLAGS)" --asm-prelude $(ASM_PROCESSOR_DIR)/prelude.inc endif $(BUILD_DIR)/%.c.o: %.c diff --git a/conker/conker.us.yaml b/conker/conker.us.yaml index fc43fe0..c4e2792 100644 --- a/conker/conker.us.yaml +++ b/conker/conker.us.yaml @@ -1,16 +1,23 @@ +sha1: 842e3d348e3c8ae0039e2ab367ad492f9b5266d8 + options: + platform: n64 basename: conker target_path: conker.us.bin base_path: . - # find_file_boundaries: yes compiler: IDO generated_c_preamble: | #include #include "functions.h" #include "variables.h" - create_detected_syms: yes - undefined_syms_path: undefined_syms.us.txt symbol_addrs_path: symbol_addrs.us.txt + + auto_all_sections: [] + string_encoding: ASCII + + # asm_jtbl_label_macro: jlabel + # asm_data_macro: dlabel + segments: - name: header type: header @@ -23,792 +30,1497 @@ segments: start: 0x00001000 vram: 0x10001000 subsegments: - # -O2 -g3 from here - - [0x1000, asm, entrypoint] - - [0x1050, c, init_1050] - - [0x1420, c, init_1420] - - [0x2070, c, init_2070] - - [0x2DB0, c, libultra/io/aisetnextbuf] - - [0x2E50, c, init_2E50] - - [0x30A0, c, libultra/io/pimgr] - - [0x3220, c, libultra/io/sptask] - - [0x34E0, asm, libultra/io/vimgr] - - [0x37F0, c, libultra/os/createthread] - - [0x38C0, c, init_38C0] - - [0x38E0, c, init_38E0] - - [0x3920, c, init_3920] - - [0x3930, c, init_3930] - - [0x39B0, c, init_39B0] - - [0x39C0, c, init_39C0] - - [0x3BD0, c, init_3BD0] - - [0x3C40, c, init_3C40] - - [0x4470, c, init_4470] - - [0x49E0, c, init_49E0] - - [0x50A0, c, init_50A0] - - [0x5570, asm, libultra/io/motor] - # - [0x57E0, asm] no file split here! - - [0x5AB0, c, init_5AB0] - # - [0x6240, c] - # - [0x71D0, c] - - [0x8120, asm, libultra/os/maptlbrdb] - - [0x8180, c, init_8180] - - [0x8F90, c, init_8F90] - - [0xA420, c, init_A420] - - [0xB1B0, c, init_B1B0] - - [0xEB00, c, init_EB00] - - [0x11FA0, c, init_11FA0] - - [0x12560, c, init_12560] - # -g from here (libultra (n)audio code) - - [0x12820, c, libultra/audio/heap] - - [0x128D0, c, libultra/audio/init_128D0] - - [0x13320, c, libultra/audio/n_csplayer] - - [0x15550, c, libultra/audio/init_15550] - - [0x17870, c, libultra/audio/init_17870] - - [0x17A80, c, libultra/audio/n_cspgetstate] - - [0x17AA0, c, libultra/audio/code_17AA0] - - [0x17AF0, c, libultra/audio/init_17AF0] - - [0x17C00, c, libultra/audio/init_17C00] - - [0x17D80, c, libultra/audio/code_17D80] - - [0x17DF0, c, libultra/audio/init_17DF0] - - [0x17EC0, c, libultra/audio/n_cspgettempo] - - [0x17F10, c, libultra/audio/init_17F10] - - [0x17F80, c, libultra/audio/n_csq] - - [0x18C60, c, libultra/audio/code_18C60] - - [0x18CB0, c, libultra/audio/code_18CB0] - - [0x18D00, c, libultra/audio/init_18D00] - - [0x18D50, c, libultra/audio/init_18D50] - - [0x18DA0, c, libultra/audio/n_sl] - - [0x18E60, c, libultra/audio/n_synthesizer] - - [0x19AB0, c, libultra/audio/cents2ratio] - - [0x19B50, c, libultra/audio/init_19B50] - - [0x1AAE0, c, init_1AAE0] - - [0x1C060, c, init_1C060] - - [0x1C690, c, libultra/audio/n_synaddplayer] - - [0x1C770, c, libultra/audio/n_synstopvoice] - - [0x1C810, c, libultra/audio/n_synfreevoice] - - [0x1C910, c, libultra/audio/n_synsetvol] - - [0x1C9E0, c, libultra/audio/n_synsetpitch] - - [0x1CA90, c, libultra/audio/n_synsetpitch2] - - [0x1CB40, c, libultra/audio/n_synsetpan] - - [0x1CBF0, c, libultra/audio/init_1CBF0] # contains n_drvrNew.c + other - - [0x1D900, c, libultra/audio/init_1D900] #, libultra/audio/n_synsetfxmix - - [0x1DBA0, c, libultra/audio/n_cseqnextdelta] # split out of cseq - - [0x1DC80, c, libultra/audio/n_synallocvoice] - - [0x1E170, c, libultra/audio/n_synstartvoiceparam] - - [0x1E2A0, c, libultra/audio/init_1E2A0] - - [0x1E350, c, libultra/audio/init_1E350] - - [0x1E400, c, libultra/audio/init_1E400] - - [0x1E480, c, init_1E480] - - [0x1E4A0, c, init_1E4A0] - - [0x1E530, c, init_1E530] - - [0x1FB40, c, init_1FB40] - - [0x1FFE0, c, libultra/audio/n_synsetpriority] - - [0x20000, c, init_20000] - - [0x210C0, c, init_210C0] - - [0x214F0, c, init_214F0] - - [0x22040, c, init_22040] - - [0x22460, c, init_22460] - # -O2 -g3 from here - - [0x226F0, asm, libultra/libc/bzero] - - [0x22790, c, libultra/os/initialize] - - [0x22A30, asm, libultra/os/setsr] - - [0x22A40, asm, libultra/os/getsr] - - [0x22A50, asm, libultra/os/setfpccsr] - - [0x22A60, asm, libultra/os/startthread] - - [0x22BB0, asm, libultra/os/setthreadpri] - - [0x22C90, asm, libultra/os/invalicache] - - [0x22D10, asm, libultra/os/invaldcache] - - [0x22DC0, asm, libultra/os/interrupt] - - [0x22E00, asm, libultra/os/stopthread] - - [0x22EC0, asm, libultra/libc/string] - - [0x22F60, asm, libultra/libc/lldiv] - - [0x23060, asm, libultra/libc/ldiv] - - [0x230F0, asm, libultra/libc/xlitob] - - [0x23390, c, libultra/io/ai] - - [0x233C0, asm, libultra/os/virtualtophysical] - - [0x23440, asm, libultra/os/recvmesg] - - [0x23580, asm, libultra/os/sendmesg] - - [0x236D0, asm, libultra/os/piacs] - - [0x23790, asm, libultra/os/createmesgqueue] - - [0x237C0, asm, libultra/os/seteventmesg] - - [0x23830, c, libultra/os/getthreadpri] - - [0x23850, asm, libultra/io/pirawdma] - - [0x23930, asm, libultra/io/epirawdma] - - [0x23A10, asm, libultra/libc/bcopy] - - [0x23D20, asm, libultra/os/writebackdcache] - - [0x23DA0, asm, libultra/io/spsetstat] - - [0x23DB0, asm, libultra/io/spsetpc] - - [0x23DF0, asm, libultra/io/sprawdma] - - [0x23E80, asm, libultra/io/sp] - - [0x23EB0, asm, libultra/os/timerintr] - - [0x242B0, asm, libultra/io/vi] - - [0x24400, asm, libultra/io/pigettype] - - [0x24410, asm, libultra/io/viswapcontext] - - [0x24770, asm, libultra/os/getcount] - - [0x24780, asm, libultra/os/thread] - - [0x247C0, asm, libultra/io/visetmode] - - [0x24830, asm, libultra/io/viswapbuf] - - [0x24880, asm, libultra/os/setintmask] - - [0x24920, asm, libultra/io/pidma] - - [0x24A30, c, libultra/io/aigetstat] - - [0x24A40, asm, libultra/os/settimer] - - [0x24B20, asm, libultra/io/sptaskyielded] - - [0x24BA0, asm, libultra/io/sptaskyield] - - [0x24BC0, asm, libultra/io/contreaddata] - - [0x24E20, asm, libultra/io/vigetcurrframebuf] - - [0x24E60, asm, libultra/io/vigetnextframebuf] - - [0x24EA0, asm, libultra/io/visetevent] - - [0x24F10, asm, libultra/os/writebackdcacheall] - - [0x24F40, asm, libultra/os/gettime] - - [0x24FD0, asm, libultra/io/pfsisplug] - - [0x25340, asm, libultra/io/controller] - - [0x25700, asm, libultra/io/siacs] - - [0x257C0, asm, libultra/io/sirawdma] - - [0x25870, asm, libultra/io/contramwrite] - - [0x25C20, asm, libultra/io/contramread] - - [0x25FD0, asm, libultra/io/crc] - - [0x26150, asm, libultra/os/destroythread] - - [0x26250, asm, libultra/io/viblack] - - [0x262C0, asm, libultra/io/pigetstat] - - [0x262D0, asm, libultra/os/unmaptlb] - - [0x26310, asm, libultra/os/maptlb] - - [0x263D0, c, libultra/io/aisetfreq] # -O1 - - [0x26530, asm, libultra/gu/sqrtf] - - [0x26540, asm, libultra/gu/sinf] - - [0x26700, asm, libultra/io/sprawread] - - [0x26750, asm, libultra/io/sprawwrite] - - [0x267A0, asm, libultra/io/pirawread] - - [0x26800, asm, libultra/libc/__ull_rshift] - - [0x26AC0, asm, libultra/os/sethwinterrupt] - - [0x26B10, asm, libultra/io/leointerrupt] - - [0x273D0, asm, libultra/os/probetlb] - - [0x27490, asm, libultra/os/setcompare] - - [0x274A0, asm, libultra/os/jammesg] - - [0x275F0, asm, libultra/io/pigetcmdq] - - [0x27620, asm, libultra/io/spgetstat] - - [0x27630, asm, libultra/io/si] - - [0x27660, asm, libultra/io/pfsinit] - - [0x27820, asm, libultra/io/leodiskinit] - - [0x27910, asm, libultra/io/contpfs] - - [0x28670, asm, libultra/io/pfschecker] + # -O2 -g3 from here + - [0x1000, asm, entrypoint] + - [0x1050, c, init_1050] + - [0x1420, c, init_1420] + - [0x2070, c, init_2070] + - [0x2DB0, c, libultra/io/aisetnextbuf] + - [0x2E50, c, init_2E50] + - [0x30A0, c, libultra/io/pimgr] + - [0x3220, c, libultra/io/sptask] + - [0x34E0, asm, libultra/io/vimgr] + - [0x37F0, c, libultra/os/createthread] + - [0x38C0, c, init_38C0] + - [0x38E0, c, init_38E0] + - [0x3920, c, init_3920] + - [0x3930, c, init_3930] + - [0x39B0, c, init_39B0] + - [0x39C0, c, init_39C0] + - [0x3BD0, c, init_3BD0] + - [0x3C40, c, init_3C40] + - [0x4470, c, init_4470] + - [0x49E0, c, init_49E0] + - [0x50A0, c, init_50A0] + - [0x5570, asm, libultra/io/motor] + - [0x5AB0, asm, init_5AB0] # handwritten TLB + - [0x8120, asm, libultra/os/maptlbrdb] + - [0x8180, c, init_8180] + - [0x8F90, c, init_8F90] + - [0xA420, c, init_A420] + - [0xB1B0, c, init_B1B0] + - [0xEB00, c, init_EB00] + - [0x11FA0, c, init_11FA0] + - [0x12560, c, init_12560] + # -g from here (libultra (n)audio code) + - [0x12820, c, libultra/audio/heap] + - [0x128D0, c, libultra/audio/init_128D0] + - [0x13320, c, libultra/audio/n_csplayer] + - [0x15550, c, libultra/audio/init_15550] + - [0x17870, c, libultra/audio/init_17870] + - [0x17A80, c, libultra/audio/n_cspgetstate] + - [0x17AA0, c, libultra/audio/code_17AA0] + - [0x17AF0, c, libultra/audio/init_17AF0] + - [0x17C00, c, libultra/audio/init_17C00] + - [0x17D80, c, libultra/audio/code_17D80] + - [0x17DF0, c, libultra/audio/init_17DF0] + - [0x17EC0, c, libultra/audio/n_cspgettempo] + - [0x17F10, c, libultra/audio/init_17F10] + - [0x17F80, c, libultra/audio/n_csq] + - [0x18C60, c, libultra/audio/code_18C60] + - [0x18CB0, c, libultra/audio/code_18CB0] + - [0x18D00, c, libultra/audio/init_18D00] + - [0x18D50, c, libultra/audio/init_18D50] + - [0x18DA0, c, libultra/audio/n_sl] + - [0x18E60, c, libultra/audio/n_synthesizer] + - [0x19AB0, c, libultra/audio/cents2ratio] + - [0x19B50, c, libultra/audio/init_19B50] + - [0x1AAE0, c, init_1AAE0] + - [0x1C060, c, init_1C060] + - [0x1C690, c, libultra/audio/n_synaddplayer] + - [0x1C770, c, libultra/audio/n_synstopvoice] + - [0x1C810, c, libultra/audio/n_synfreevoice] + - [0x1C910, c, libultra/audio/n_synsetvol] + - [0x1C9E0, c, libultra/audio/n_synsetpitch] + - [0x1CA90, c, libultra/audio/n_synsetpitch2] + - [0x1CB40, c, libultra/audio/n_synsetpan] + - [0x1CBF0, c, libultra/audio/init_1CBF0] # contains n_drvrNew.c + other + - [0x1D900, c, libultra/audio/init_1D900] #, libultra/audio/n_synsetfxmix + - [0x1DBA0, c, libultra/audio/n_cseqnextdelta] # split out of cseq + - [0x1DC80, c, libultra/audio/n_synallocvoice] + - [0x1E170, c, libultra/audio/n_synstartvoiceparam] + - [0x1E2A0, c, libultra/audio/init_1E2A0] + - [0x1E350, c, libultra/audio/init_1E350] + - [0x1E400, c, libultra/audio/init_1E400] + - [0x1E480, c, init_1E480] + - [0x1E4A0, c, init_1E4A0] + - [0x1E530, c, init_1E530] + - [0x1FB40, c, init_1FB40] + - [0x1FFE0, c, libultra/audio/n_synsetpriority] + - [0x20000, c, init_20000] + - [0x210C0, c, init_210C0] + - [0x214F0, c, init_214F0] + - [0x22040, c, init_22040] + - [0x22460, c, init_22460] + + # LIBULTRA.A + + # -O2 -g3 from here + - [0x226F0, asm, libultra/libc/bzero] + - [0x22790, c, libultra/os/initialize] + - [0x22A30, asm, libultra/os/setsr] + - [0x22A40, asm, libultra/os/getsr] + - [0x22A50, asm, libultra/os/setfpccsr] + - [0x22A60, asm, libultra/os/startthread] + - [0x22BB0, asm, libultra/os/setthreadpri] + - [0x22C90, asm, libultra/os/invalicache] + - [0x22D10, asm, libultra/os/invaldcache] + - [0x22DC0, asm, libultra/os/interrupt] + - [0x22E00, asm, libultra/os/stopthread] + - [0x22EC0, asm, libultra/libc/string] + - [0x22F60, asm, libultra/libc/lldiv] + - [0x23060, asm, libultra/libc/ldiv] + - [0x230F0, asm, libultra/libc/xlitob] + - [0x23390, c, libultra/io/ai] + - [0x233C0, asm, libultra/os/virtualtophysical] + - [0x23440, asm, libultra/os/recvmesg] + - [0x23580, asm, libultra/os/sendmesg] + - [0x236D0, asm, libultra/os/piacs] + - [0x23790, asm, libultra/os/createmesgqueue] + - [0x237C0, asm, libultra/os/seteventmesg] + - [0x23830, c, libultra/os/getthreadpri] + - [0x23850, asm, libultra/io/pirawdma] + - [0x23930, asm, libultra/io/epirawdma] + - [0x23A10, asm, libultra/libc/bcopy] + - [0x23D20, asm, libultra/os/writebackdcache] + - [0x23DA0, asm, libultra/io/spsetstat] + - [0x23DB0, asm, libultra/io/spsetpc] + - [0x23DF0, asm, libultra/io/sprawdma] + - [0x23E80, asm, libultra/io/sp] + - [0x23EB0, asm, libultra/os/timerintr] + - [0x242B0, asm, libultra/io/vi] + - [0x24400, asm, libultra/io/pigettype] + - [0x24410, asm, libultra/io/viswapcontext] + - [0x24770, asm, libultra/os/getcount] + - [0x24780, asm, libultra/os/thread] + - [0x247C0, asm, libultra/io/visetmode] + - [0x24830, asm, libultra/io/viswapbuf] + - [0x24880, asm, libultra/os/setintmask] + - [0x24920, asm, libultra/io/pidma] + - [0x24A30, c, libultra/io/aigetstat] + - [0x24A40, asm, libultra/os/settimer] + - [0x24B20, asm, libultra/io/sptaskyielded] + - [0x24BA0, asm, libultra/io/sptaskyield] + - [0x24BC0, asm, libultra/io/contreaddata] + - [0x24E20, asm, libultra/io/vigetcurrframebuf] + - [0x24E60, asm, libultra/io/vigetnextframebuf] + - [0x24EA0, asm, libultra/io/visetevent] + - [0x24F10, asm, libultra/os/writebackdcacheall] + - [0x24F40, asm, libultra/os/gettime] + - [0x24FD0, asm, libultra/io/pfsisplug] + - [0x25340, asm, libultra/io/controller] + - [0x25700, asm, libultra/io/siacs] + - [0x257C0, asm, libultra/io/sirawdma] + - [0x25870, asm, libultra/io/contramwrite] + - [0x25C20, asm, libultra/io/contramread] + - [0x25FD0, asm, libultra/io/crc] + - [0x26150, asm, libultra/os/destroythread] + - [0x26250, asm, libultra/io/viblack] + - [0x262C0, asm, libultra/io/pigetstat] + - [0x262D0, asm, libultra/os/unmaptlb] + - [0x26310, asm, libultra/os/maptlb] + - [0x263D0, c, libultra/io/aisetfreq] # -O1 + - [0x26530, asm, libultra/gu/sqrtf] + - [0x26540, asm, libultra/gu/sinf] + - [0x26700, asm, libultra/io/sprawread] + - [0x26750, asm, libultra/io/sprawwrite] + - [0x267A0, asm, libultra/io/pirawread] + - [0x26800, asm, libultra/libc/__ull_rshift] + - [0x26AC0, asm, libultra/os/sethwinterrupt] + - [0x26B10, asm, libultra/io/leointerrupt] + - [0x273D0, asm, libultra/os/probetlb] + - [0x27490, asm, libultra/os/setcompare] + - [0x274A0, asm, libultra/os/jammesg] + - [0x275F0, asm, libultra/io/pigetcmdq] + - [0x27620, asm, libultra/io/spgetstat] + - [0x27630, asm, libultra/io/si] + - [0x27660, asm, libultra/io/pfsinit] + - [0x27820, asm, libultra/io/leodiskinit] + - [0x27910, asm, libultra/io/contpfs] + - [0x28670, asm, libultra/io/pfschecker] + - name: init_data type: code start: 0x000290D0 vram: 0x800290D0 # rom is at 0x1000000 + bss_size: 0x16690 subsegments: - # - [0x290D0, linker, data] - - [0x290D0, bin] # data (for boot?) - - [0x291A0, bin] # ? - - [0x2AAD0, bin] # first int is 0x42450, second is 0x19ea88 - - [0x2C080, rodata, init_2E50] # jump table for func_10002E50 - - [0x2C0A0, rodata, init_49E0] # jump table for func_100049E0 - - [0x2C0C0, bin] - - [0x0002C200, .data, init/data/data_2C200] - - [0x0002C250, bin] # more data - - [0x0002C3F0, .data, init/data/data_2C3F0] - - [0x0002C400, .data, init/data/data_2C400] - - [0x0002C410, rodata, init_11FA0] - - [0x0002C450, .rodata, libultra/audio/init_128D0] - - [0x0002C460, .data, init/data/data_2C460] # jumptables for code_13320.c - - [0x0002C6B0, .data, init/data/data_2C6B0] - - [0x0002C710, bin] # more data - - [0x0002C750, .data, init/data/data_2C750] - - [0x0002C760, .rodata, libultra/audio/cents2ratio] - - [0x0002C770, .data, libultra/audio/init_1CBF0] - - [0x0002C790, .rodata, libultra/audio/init_1D900] - - [0x0002C7A0, bin] # more data - - [0x0002C810, .data, init/data/data_2C810] - - [0x0002C850, bin] # more data + - [0x290D0, data] # could be larger/smaller + + - [0x2BF20, rodata] + - [0x2C080, rodata] + - [0x2C0A0, rodata] + - [0x2C0C0, rodata] + - [0x2C120, rodata] + - [0x2C1B0, rodata] + - [0x2C200, rodata] + - [0x2C240, rodata] + - [0x2C250, rodata] + - [0x2C450, .rodata, libultra/audio/init_128D0] + - [0x2C460, rodata] + - [0x2C6B0, rodata] + - [0x2C750, rodata] + - [0x2C760, .rodata, libultra/audio/cents2ratio] + - [0x2C770, rodata] + - [0x2C790, .rodata, libultra/audio/init_1D900] + - [0x2C7A0, rodata] + - [0x2C820, rodata] + - [0x2C830, rodata] + - [0x2C850, rodata] + - [0x2C920, rodata] + - [0x2C960, rodata] + # TODO: could .bss be from 0x8002D4B0 to 0x80082B20 (0x55670 big) i.e. to start of game_data ? + # func_10001050 suggests .bss is from 0x8002D4B0 to 0x80043B40 + # - {start: 0x2D4B0, type: bss, vram: 0x8002D4B0} + # - {start: 0x2D4B0, type: .bss, vram: 0x8003B260, name: init_50A0} + # - {start: 0x2D4B0, type: bss, vram: 0x8003B270} + - name: game type: code start: 0x0002D4B0 vram: 0x15000000 subsegments: - - [0x2D4B0, c, game_2D4B0] - - [0x2DDF0, c, game_2DDF0] - - [0x2DF70, c, game_2DF70] - - [0x305D0, c, game_305D0] - - [0x30E90, c, game_30E90] - - [0x32200, c, game_32200] - - [0x322b0, c, game/done/game_322B0] - - [0x323b0, c, game/done/game_323B0] - - [0x323e0, c, game/done/game_323E0] - - [0x32490, c, game_32490] - - [0x32720, c, game/done/game_32720] - - [0x32740, c, game_32740] - - [0x32F10, c, game/done/game_32F10] - - [0x32f60, c, game/done/game_32F60] - - [0x32fb0, c, game/done/game_32FB0] - - [0x32fc0, c, game/done/game_32FC0] - - [0x33000, c, game/done/game_33000] - - [0x33010, c, game/done/game_33010] - - [0x33020, c, game/done/game_33020] - - [0x33080, c, game/done/game_33080] - - [0x330e0, c, game/done/game_330E0] - - [0x33130, c, game/done/game_33130] - - [0x331b0, c, game/done/game_331B0] - - [0x33210, c, game/done/game_33210] - - [0x33260, c, game/done/game_33260] - - [0x332e0, c, game/done/game_332E0] - - [0x33320, c, game/done/game_33320] - - [0x33390, c, game/done/game_33390] - - [0x333d0, c, game/done/game_333D0] - - [0x33410, c, game/done/game_33410] - - [0x33450, c, game/done/game_33450] - - [0x33460, c, game/done/game_33460] - - [0x334c0, c, game/done/game_334C0] - - [0x33620, c, game/done/game_33620] - - [0x33660, c, game_33660] - - [0x33990, c, game_33990] - - [0x34ce0, c, game/entrypoint] # called from main code - - [0x34ED0, c, game/done/game_34ED0] - - [0x34F20, c, game_34F20] - - [0x357F0, c, game_357F0] - - [0x35cf0, c, game/done/game_35CF0] - - [0x35D20, c, game_35D20] - - [0x35e80, c, game/done/game_35E80] - - [0x35ec0, c, game/done/game_35EC0] - - [0x36040, c, game/done/game_36040] - - [0x360A0, c, game_360A0] - - [0x36280, c, game/done/game_36280] - - [0x362B0, c, game_362B0] - - [0x36600, c, game/done/game_36600] - - [0x36680, c, game_36680] - - [0x39690, c, game/done/game_39690] - - [0x39750, c, game_39750] - - [0x3B920, c, game_3B920] - - [0x3BA70, c, game_3BA70] - - [0x3bfd0, c, game/done/game_3BFD0] - - [0x3bfe0, c, game/done/game_3BFE0] - - [0x3c230, c, game/done/game_3C230] - - [0x3c3d0, c, game/done/game_3C3D0] - - [0x3c6c0, c, game/done/game_3C6C0] - - [0x3c740, asm] - - [0x3ce80, asm] - - [0x3d2e0, asm] - - [0x3D5C0, c, game_3D5C0] - - [0x3d6f0, c, game/done/game_3D6F0] - - [0x3d770, c, game/done/game_3D770] - - [0x3d780, c, game/done/game_3D780] - - [0x3D9A0, c, game_3D9A0] - - [0x3db30, c, game/done/game_3DB30] - - [0x3db50, c, game/done/game_3DB50] - - [0x3db60, c, game/done/game_3DB60] - - [0x3db80, c, game/done/game_3DB80] - - [0x3DC30, c, game_3DC30] - - [0x3DF10, c, game_3DF10] - - [0x3E460, c, game/done/game_3E460] - - [0x3e5a0, c, game/done/game_3E5A0] - - [0x3e620, c, game/done/game_3E620] - - [0x3e7e0, c, game/done/game_3E7E0] - - [0x3e810, c, game/done/game_3E810] - - [0x3E890, c, game_3E890] - - [0x3efb0, c, game/done/game_3EFB0] - - [0x3f0f0, c, game/done/game_3F0F0] - - [0x3f120, c, game/done/game_3F120] - - [0x3F1F0, c, game_3F1F0] - - [0x3f3d0, c, game/done/game_3F3D0] - - [0x3f450, c, game/done/game_3F450] - - [0x3f4d0, c, game/done/game_3F4D0] - - [0x3f560, c, game/done/game_3F560] - - [0x3F670, c, game_3F670] - - [0x3F820, c, game_3F820] - - [0x3fbd0, c, game/done/game_3FBD0] - - [0x3fc20, c, game/done/game_3FC20] - - [0x3fc30, c, game/done/game_3FC30] - - [0x3fc60, asm] - - [0x40490, c, game_40490] - - [0x42dc0, asm] - - [0x43330, asm] - - [0x433F0, c, game_433F0] - - [0x43620, c, game_43620] - - [0x43760, c, game/done/game_43760] - - [0x43820, c, game/done/game_43820] - - [0x43880, asm] - - [0x439B0, c, game_439B0] - - [0x43B20, c, game/done/game_43B20] - - [0x43d00, asm] - - [0x447B0, c, game_447B0] - - [0x44A90, c, game_44A90] - - [0x44C40, c, game_44C40] - - [0x45880, asm] - - [0x45B80, c, game_45B80] - - [0x476D0, c, game_476D0] - - [0x487d0, asm] - - [0x48fd0, asm] - - [0x49be0, asm] - - [0x49d10, c, game/done/game_49D10] - - [0x49d20, c, game/done/game_49D20] - - [0x49d30, asm] - - [0x50d20, asm] - - [0x50d80, asm] - - [0x57FA0, c, game_57FA0] - - [0x58f80, asm] - - [0x5d2c0, asm] - - [0x61490, asm] - - [0x61d10, asm] - - [0x637c0, asm] - - [0x63a20, asm] - - [0x64120, asm] - - [0x68c70, asm] - - [0x6A3D0, asm] - - [0x6b280, asm] - - [0x6b320, asm] - - [0x6c960, asm] - - [0x6ccb0, asm] - - [0x6cea0, asm] - - [0x6D800, c, game_6D800] - - [0x6E240, c, game_6E240] - - [0x6E770, asm] - - [0x70200, c, game_70200] - - [0x71240, c, game_71240] - - [0x71770, c, game_71770] - - [0x71820, asm] - - [0x750b0, c, libultra/gu/cosf] - - [0x75210, c, libultra/gu/sinf] - - [0x753B0, c, libultra/gu/guPerspectiveF] - - [0x75640, c, libultra/gu/guRotateF] - - [0x75810, c, game/done/game_75810] - - [0x75950, c, game/done/game_75950] - - [0x75a90, c, game/done/game_75A90] - - [0x75bd0, c, game/done/game_75BD0] - - [0x75C90, c, game_75C90] - - [0x75E60, c, game_75E60] - - [0x75FC0, c, game_75FC0] - - [0x76710, c, game_76710] - - [0x768f0, c, game/done/game_768F0] - - [0x76a60, asm] - - [0x76c90, asm] - - [0x76E50, asm] - - [0x770f0, asm] - - [0x77760, asm] - - [0x778b0, asm] - - [0x77a90, c, game/done/game_77A90] - - [0x77AD0, c, game_77AD0] - - [0x83300, c, game_83300] - - [0x90840, asm] - - [0x97AA0, asm] - - [0x981E0, c, game_981E0] - - [0xA28B0, c, game_A28B0] - - [0xA9260, asm] - - [0xA9D90, c, game_A9D90] - - [0xAB760, asm] - - [0xAC030, asm] - - [0xAD6B0, asm] - - [0xAD9B0, asm] - - [0xAE1D0, asm] - - [0xAEB40, asm] - - [0xb21b0, asm] - - [0xB3020, asm] - - [0xBC430, c, game_BC430] - - [0xBC510, c, game_BC510] - - [0xC1d70, asm] - - [0xC3e20, asm] - - [0xC4dc0, asm] - - [0xC8950, c, game_C8950] - - [0xC98f0, asm] - - [0xC9ec0, asm] - - [0xCB1C0, c, game_CB1C0] - - [0xCB3D0, asm] - - [0xCbaf0, asm] - - [0xCbdb0, asm] - - [0xCcd00, asm] - - [0xCd5a0, asm] - - [0xCd860, asm] - - [0xCDE80, asm] - - [0xD0f20, asm] - - [0xD2570, asm] - - [0xD3040, asm] - - [0xD3d10, asm] - - [0xD4450, asm] - - [0xD4C20, c, game_D4C20] - - [0xD4c40, c, libultra/gu/guMtxF2L] - - [0xD4E10, asm] - - [0xD5030, c, game_D5030] - - [0xD5070, c, libultra/gu/guMtxIdentF] - - [0xD50C0, asm] - - [0xD5160, c, game_D5160] - - [0xD51B0, c, game_D51B0] - - [0xD5250, c, game_D5250] - - [0xD52A0, asm] - - [0xD5500, c, game_D5500] - - [0xD5650, asm] - - [0xD70F0, asm] - - [0xD7980, asm] - - [0xD86a0, asm] - - [0xDac20, asm] # syscall - - [0xDac30, asm] - - [0xDad60, asm] - - [0xDADB0, asm] - - [0xDAE10, asm] - - [0xDAE50, c, game_DAE50] - - [0xDafa0, asm] - - [0xDBA60, c, game_DBA60] - - [0xDc360, asm] - - [0xDc6b0, asm] - - [0xDdb60, asm] - - [0xDe5a0, asm] - - [0xDf260, asm] - - [0xDf930, asm] - - [0xDfbf0, asm] - - [0xe0f60, asm] - - [0xe1280, asm] - - [0xe2880, asm] - - [0xe2da0, asm] - - [0xe3c90, asm] - - [0xe4070, asm] - - [0xe5e90, asm] - - [0xe7380, asm] - - [0xe7970, asm] - - [0xe8090, asm] - - [0xe8bb0, asm] - - [0xe8c10, asm] - - [0xeb020, asm] - - [0xeb340, asm] - - [0xEBD00, asm] - - [0xebe60, asm] - - [0xec420, asm] - - [0xede60, asm] - - [0xee710, asm] - - [0xeeb10, asm] - - [0xeee70, asm] - - [0xEF410, c, game_EF410] - - [0xF15d0, asm] - - [0xF20a0, c, game/done/game_F20A0] - - [0xF21d0, asm] - - [0xF2820, asm] - - [0xF3270, asm] - - [0xF3ba0, asm] - - [0xF44d0, asm] - - [0xF4800, asm] - - [0xF4890, asm] - - [0xF4b20, asm] - - [0xF4c20, asm] - - [0xF4d20, asm] - - [0xF52B0, asm] - - [0xF5800, asm] - - [0xF8590, asm] - - [0xF9430, asm] - - [0xFa240, asm] - - [0xFa360, asm] - - [0xFb060, asm] - - [0xFb600, asm] - - [0xFc3c0, c, game/done/game_FC3C0] - - [0xFc410, asm] - - [0xFc550, asm] - - [0xFc5f0, asm] - - [0xFdb00, asm] - - [0xFdbe0, asm] - - [0xFdd70, asm] - - [0xFe850, asm] - - [0xFe9e0, asm] - - [0xFecc0, asm] - - [0xFeff0, asm] - - [0xFf0e0, asm] - - [0xFf5c0, asm] - - [0xFf900, asm] - - [0xFfba0, asm] - - [0x100810, asm] - - [0x1028f0, asm] - - [0x1045d0, asm] - - [0x1048d0, asm] - - [0x105760, asm] - - [0x105fc0, asm] - - [0x108320, asm] - - [0x108e90, asm] - - [0x10b7c0, c, game/done/game_10B7C0] - - [0x10b7d0, asm] - - [0x10c140, c, game/done/game_10C140] - - [0x10c170, asm] - - [0x10ccd0, asm] - - [0x10cd70, asm] - - [0x10dd20, asm] - - [0x10e240, asm] - - [0x10ea20, asm] - - [0x10ecb0, c, game/done/game_10ECB0] - - [0x10ed10, asm] - - [0x10EF60, asm] - - [0x1104d0, asm] - - [0x111670, asm] - - [0x112f90, asm] - - [0x113480, asm] - - [0x113d60, asm] - - [0x116d40, asm] - - [0x117490, asm] - - [0x118400, asm] - - [0x118670, asm] - - [0x1188e0, asm] - - [0x119370, asm] - - [0x119960, c, game/done/game_119960] - - [0x1199D0, asm] - - [0x11a680, asm] - - [0x11c2b0, asm] - - [0x11f780, asm] - - [0x11ff10, asm] - - [0x121a20, asm] - - [0x122650, c, game/done/game_122650] - - [0x122760, asm] - - [0x1227f0, asm] - - [0x1228d0, asm] - - [0x123FB0, c, game_123FB0] - - [0x124260, asm] - - [0x124920, asm] - - [0x126ed0, asm] - - [0x126f60, asm] - - [0x128970, asm] - - [0x128d70, asm] - - [0x129eb0, c, game/done/game_129EB0] - - [0x129ee0, asm] - - [0x12b1c0, asm] - - [0x12b250, asm] - - [0x12b7d0, asm] - - [0x12bd10, asm] - - [0x12c1e0, asm] - - [0x12d630, asm] - - [0x12d7e0, c, game/done/game_12D7E0] - - [0x12d7f0, asm] - - [0x12dab0, asm] - - [0x12fdd0, asm] - - [0x1308e0, asm] - - [0x130b40, asm] - - [0x130CB0, c, game_130CB0] - - [0x1312f0, asm] - - [0x131620, asm] - - [0x1319d0, asm] - - [0x131a90, asm] - - [0x131F30, c, game_131F30] - - [0x133190, asm] - - [0x135490, asm] - - [0x1355d0, asm] - - [0x135780, asm] - - [0x135d00, asm] - - [0x1368c0, asm] - - [0x137de0, asm] - - [0x137ed0, asm] - - [0x138520, asm] - - [0x139fc0, asm] - - [0x13ae20, asm] - - [0x13bb20, asm] - - [0x13d350, asm] - - [0x142560, asm] - - [0x14ce30, asm] - - [0x14d0d0, c, game/done/game_14D0D0] - - [0x14d110, asm] - - [0x14ee80, asm] - - [0x14f130, asm] - - [0x14f580, asm] - - [0x14f8f0, asm] - - [0x14FF90, c, game_14FF90] - - [0x155c90, asm] - - [0x156160, asm] - - [0x1570e0, asm] - - [0x157840, asm] - - [0x159940, asm] - - [0x15A830, c, game/done/game_15A830] - - [0x15a840, asm] - - [0x15aa10, asm] - - [0x15aba0, asm] - - [0x15B200, c, game_15B200] - - [0x15B5F0, asm] - - [0x15b960, asm] - - [0x15baa0, asm] - - [0x15bd90, asm] - - [0x15d6e0, asm] - - [0x15d730, asm] - - [0x15f680, asm] - - [0x161520, c, game_161520] - - [0x168A90, c, game_168A90] - - [0x169510, c, game_169510] - - [0x16DC80, c, game_16DC80] - - [0x16EE20, c, game_16EE20] - - [0x173d40, asm] - - [0x174bf0, asm] - - [0x175250, asm] - - [0x1765E0, c, game/done/game_1765E0] - - [0x176a00, asm] - - [0x179f30, asm] - - [0x17caf0, asm] - - [0x182c30, asm] - - [0x183640, asm] - - [0x185560, asm] - - [0x188440, asm] - - [0x188f90, asm] - - [0x1897A0, c, game_1897A0] - - [0x18a8f0, asm] - - [0x18d250, asm] - - [0x18D770, c, game_18D770] - - [0x191c30, asm] - - [0x193130, asm] - - [0x193420, c, game/done/game_193420] - - [0x193430, asm] - - [0x193e50, asm] - - [0x1944C0, c, game_1944C0] - - [0x196db0, asm] - - [0x197120, asm] - - [0x197c20, asm] - - [0x19a8b0, asm] - - [0x19E040, asm] - - [0x19f150, asm] - - [0x1a0100, asm] - - [0x1a0420, asm] - - [0x1a0790, asm] - - [0x1a0e60, asm] - - [0x1a11b0, asm] - - [0x1a1b40, asm] - - [0x1a1e50, asm] - - [0x1a20a0, asm] - - [0x1a48c0, asm] - - [0x1a5440, asm] - - [0x1a6300, c, game/done/game_1A6300] - - [0x1a6360, asm] - - [0x1a7260, asm] - - [0x1a8060, asm] - - [0x1a89b0, asm] - - [0x1ab530, asm] - - [0x1ac2f0, asm] - - [0x1afc80, asm] - - [0x1b0740, asm] - - [0x1b1600, asm] - - [0x1b5370, asm] - - [0x1b5cc0, asm] - - [0x1b6db0, asm] - - [0x1b74a0, asm] - - [0x1b7870, asm] - - [0x1b7ec0, asm] - - [0x1b81d0, asm] - - [0x1B8B60, asm] - - [0x1b8f40, asm] - - [0x1b9db0, asm] - - [0x1b9f30, asm] - - [0x1ba1d0, asm] - - [0x1bf090, asm] - - [0x1BFC70, c, game_1BFC70] - - [0x1bfcb0, asm] - - [0x1bfdd0, asm] - - [0x1c0840, asm] - - [0x1c0b10, asm] - - [0x1c1150, asm] - - [0x1c2c60, asm] - - [0x1ca420, asm] - - [0x1cbe20, asm] - - [0x1cc420, c, game/done/game_1CC420] - - [0x1cc440, asm] - - [0x1d0840, asm] - - [0x1d2b10, asm] - - [0x1d43b0, asm] - - [0x1d4e00, asm] - - [0x1D6E80, asm] - - [0x1d92f0, asm] - - [0x1dca70, asm] - - [0x1dd500, asm] - - [0x1df510, asm] - - [0x1e0560, asm] - - [0x1e2180, asm] - - [0x1e26f0, asm] - - [0x1e3050, asm] - - [0x1e30a0, asm] - - [0x1e34c0, asm] - - [0x1e37d0, asm] - - [0x1e58b0, asm] - - [0x1e5ff0, asm] - - [0x1e6260, asm] - - [0x1e6b40, asm] - - [0x1E73B0, asm] - - [0x1ed0f0, asm] - - [0x1ef500, asm] - - [0x1F2730, asm] - - [0x1f3780, asm] - - [0x1f4650, asm] - - [0x1fa770, asm] - - [0x1ffb70, asm] - - [0x1FFF60, c, game_1FFF60] - - [0x200930, asm] - - [0x203340, asm] - - [0x203e20, asm] - - [0x204660, asm] - - [0x205c90, asm] - - [0x2062D0, c, game_2062D0] - - [0x209b50, asm] - - [0x20A290, asm] - - [0x20a3a0, asm] - - [0x20a5f0, asm] - - [0x20a850, asm] - - [0x20a910, asm] - - [0x20a990, asm] - - [0x20ae20, asm] - - [0x215960, asm] - - [0x21c4f0, asm] - - [0x21c540, asm] - - [0x21C900, asm, libultra/io/pfsinit2] # dupe of libultra/io/pfsinit - - [0x21CAC0, asm] - - [0x21CAF0, asm] - - [0x21ccb0, asm] # gu function - - [0x21ce70, asm] # modified osSetTimer ? - - [0x21cf50, asm, libultra/io/contreaddata2] - - [0x21d1b0, asm] # more matrix funcs - - [0x21D420, asm] - - [0x21d4a0, c, libultra/gu/guNormalize] - - [0x21d530, c, libultra/gu/mtxcatl] - - [0x21D5F0, c, game_21D5F0] - - [0x21d800, asm, libultra/io/siacs2] # dupe of libultra/io/siacs - - [0x21D8C0, asm, libultra/io/sirawdma2] # dupe of libultra/io/sirawdma - - [0x21d970, asm, libultra/os/gettime2] # dupe of libultra/os/gettime - - [0x21da00, asm, libultra/io/contpfs2] # dupe of libultra/io/contpfs - - [0x21e760, c, libultra/io/pfschecker2] # dupe of libultra/io/pfschecker - - [0x21F1C0, c, libultra/io/pfsisplug2] # dupe of libultra/io/pfsisplug - - [0x21F530, asm, libultra/io/contramread2] # dupe of libultra/io/contramread - - [0x21f8e0, asm, libultra/io/contramwrite2] # dupe of libultra/io/contramwrite - - [0x21fc90, c, libultra/audio/game_21FC90] # -g - - [0x221290, c, game_221290] - - [0x225d20, asm] - - [0x2270a0, asm] + - [0x2D4B0, c, game_2D4B0] + - [0x2DDF0, c, game_2DDF0] + - [0x2DF70, c, game_2DF70] + - [0x305D0, c, game_305D0] + - [0x30E90, c, game_30E90] + - [0x32200, c, game_32200] + - [0x322b0, c, game/done/game_322B0] + - [0x323b0, c, game/done/game_323B0] + - [0x323e0, c, game/done/game_323E0] + - [0x32490, c, game_32490] + - [0x32720, c, game/done/game_32720] + - [0x32740, c, game_32740] + - [0x32F10, c, game/done/game_32F10] + - [0x32f60, c, game/done/game_32F60] + - [0x32fb0, c, game/done/game_32FB0] + - [0x32fc0, c, game/done/game_32FC0] + - [0x33000, c, game/done/game_33000] + - [0x33010, c, game/done/game_33010] + - [0x33020, c, game/done/game_33020] + - [0x33080, c, game/done/game_33080] + - [0x330e0, c, game/done/game_330E0] + - [0x33130, c, game/done/game_33130] + - [0x331b0, c, game/done/game_331B0] + - [0x33210, c, game/done/game_33210] + - [0x33260, c, game/done/game_33260] + - [0x332e0, c, game/done/game_332E0] + - [0x33320, c, game/done/game_33320] + - [0x33390, c, game/done/game_33390] + - [0x333d0, c, game/done/game_333D0] + - [0x33410, c, game/done/game_33410] + - [0x33450, c, game/done/game_33450] + - [0x33460, c, game/done/game_33460] + - [0x334c0, c, game/done/game_334C0] + - [0x33620, c, game/done/game_33620] + - [0x33660, c, game_33660] + - [0x33990, c, game_33990] + - [0x34ce0, c, game/entrypoint] # called from main code + - [0x34ED0, c, game/done/game_34ED0] + - [0x34F20, c, game_34F20] + - [0x357F0, c, game_357F0] + - [0x35cf0, c, game/done/game_35CF0] + - [0x35D20, c, game_35D20] + - [0x35e80, c, game/done/game_35E80] + - [0x35ec0, c, game/done/game_35EC0] + - [0x36040, c, game/done/game_36040] + - [0x360A0, c, game_360A0] + - [0x36280, c, game/done/game_36280] + - [0x362B0, c, game_362B0] + - [0x36600, c, game/done/game_36600] + - [0x36680, c, game_36680] + - [0x39690, c, game/done/game_39690] + - [0x39750, c, game_39750] + - [0x3B920, c, game_3B920] + - [0x3BA70, c, game_3BA70] + - [0x3bfd0, c, game/done/game_3BFD0] + - [0x3bfe0, c, game/done/game_3BFE0] + - [0x3c230, c, game/done/game_3C230] + - [0x3c3d0, c, game/done/game_3C3D0] + - [0x3c6c0, c, game/done/game_3C6C0] + - [0x3c740, asm] + - [0x3ce80, asm] + - [0x3d2e0, asm] + - [0x3D5C0, c, game_3D5C0] + - [0x3d6f0, c, game/done/game_3D6F0] + - [0x3d770, c, game/done/game_3D770] + - [0x3d780, c, game/done/game_3D780] + - [0x3D9A0, c, game_3D9A0] + - [0x3db30, c, game/done/game_3DB30] + - [0x3db50, c, game/done/game_3DB50] + - [0x3db60, c, game/done/game_3DB60] + - [0x3db80, c, game/done/game_3DB80] + - [0x3DC30, c, game_3DC30] + - [0x3DF10, c, game_3DF10] + - [0x3E460, c, game/done/game_3E460] + - [0x3e5a0, c, game/done/game_3E5A0] + - [0x3e620, c, game/done/game_3E620] + - [0x3e7e0, c, game/done/game_3E7E0] + - [0x3e810, c, game/done/game_3E810] + - [0x3E890, c, game_3E890] + - [0x3efb0, c, game/done/game_3EFB0] + - [0x3f0f0, c, game/done/game_3F0F0] + - [0x3f120, c, game/done/game_3F120] + - [0x3F1F0, c, game_3F1F0] + - [0x3f3d0, c, game/done/game_3F3D0] + - [0x3f450, c, game/done/game_3F450] + - [0x3f4d0, c, game/done/game_3F4D0] + - [0x3f560, c, game/done/game_3F560] + - [0x3F670, c, game_3F670] + - [0x3F820, c, game_3F820] + - [0x3fbd0, c, game/done/game_3FBD0] + - [0x3fc20, c, game/done/game_3FC20] + - [0x3fc30, c, game/done/game_3FC30] + - [0x3fc60, asm] + - [0x40490, c, game_40490] + - [0x42dc0, asm] + - [0x43330, asm] + - [0x433F0, c, game_433F0] + - [0x43620, c, game_43620] + - [0x43760, c, game/done/game_43760] + - [0x43820, c, game/done/game_43820] + - [0x43880, asm] + - [0x439B0, c, game_439B0] + - [0x43B20, c, game/done/game_43B20] + - [0x43d00, asm] + - [0x447B0, c, game_447B0] + - [0x44A90, c, game_44A90] + - [0x44C40, c, game_44C40] + - [0x45880, asm] + - [0x45B80, c, game_45B80] + - [0x476D0, c, game_476D0] + - [0x487d0, asm] + - [0x48fd0, asm] + - [0x49be0, asm] + - [0x49d10, c, game/done/game_49D10] + - [0x49d20, c, game/done/game_49D20] + - [0x49d30, asm] + - [0x50d20, asm] + - [0x50d80, asm] + - [0x57FA0, c, game_57FA0] + - [0x58f80, asm] + - [0x5d2c0, asm] + - [0x61490, asm] + - [0x61d10, asm] + - [0x637c0, asm] + - [0x63a20, asm] + - [0x64120, asm] + - [0x68c70, asm] + - [0x6A3D0, asm] + - [0x6b280, asm] + - [0x6b320, asm] + - [0x6c960, asm] + - [0x6ccb0, asm] + - [0x6cea0, asm] + - [0x6D800, c, game_6D800] + - [0x6E240, c, game_6E240] + - [0x6E770, asm] + - [0x70200, c, game_70200] + - [0x71240, c, game_71240] + - [0x71770, c, game_71770] + - [0x71820, asm] + - [0x750b0, c, libultra/gu/cosf] + - [0x75210, c, libultra/gu/sinf] + - [0x753B0, c, libultra/gu/guPerspectiveF] + - [0x75640, c, libultra/gu/guRotateF] + - [0x75810, c, game/done/game_75810] + - [0x75950, c, game/done/game_75950] + - [0x75a90, c, game/done/game_75A90] + - [0x75bd0, c, game/done/game_75BD0] + - [0x75C90, c, game_75C90] + - [0x75E60, c, game_75E60] + - [0x75FC0, c, game_75FC0] + - [0x76710, c, game_76710] + - [0x768f0, c, game/done/game_768F0] + - [0x76a60, asm] + - [0x76c90, asm] + - [0x76E50, asm] + - [0x770f0, asm] + - [0x77760, asm] + - [0x778b0, asm] + - [0x77a90, c, game/done/game_77A90] + - [0x77AD0, c, game_77AD0] + - [0x83300, c, game_83300] + - [0x90840, asm] + - [0x97AA0, asm] + - [0x981E0, c, game_981E0] + - [0xA28B0, c, game_A28B0] + - [0xA9260, asm] + - [0xA9D90, c, game_A9D90] + - [0xAB760, asm] + - [0xAC030, asm] + - [0xAD6B0, asm] + - [0xAD9B0, asm] + - [0xAE1D0, asm] + - [0xAEB40, asm] + - [0xb21b0, asm] + - [0xB3020, asm] + - [0xBC430, c, game_BC430] + - [0xBC510, c, game_BC510] + - [0xC1d70, asm] + - [0xC3e20, asm] + - [0xC4dc0, asm] + - [0xC8950, c, game_C8950] + - [0xC98f0, asm] + - [0xC9ec0, asm] + - [0xCB1C0, c, game_CB1C0] + - [0xCB3D0, asm] + - [0xCbaf0, asm] + - [0xCbdb0, asm] + - [0xCcd00, asm] + - [0xCd5a0, asm] + - [0xCd860, asm] + - [0xCDE80, asm] + - [0xD0f20, asm] + - [0xD2570, asm] + - [0xD3040, asm] + - [0xD3d10, asm] + - [0xD4450, asm] + - [0xD4C20, c, game_D4C20] + - [0xD4c40, c, libultra/gu/guMtxF2L] + - [0xD4E10, asm] + - [0xD5030, c, game_D5030] + - [0xD5070, c, libultra/gu/guMtxIdentF] + - [0xD50C0, asm] + - [0xD5160, c, game_D5160] + - [0xD51B0, c, game_D51B0] + - [0xD5250, c, game_D5250] + - [0xD52A0, asm] + - [0xD5500, c, game_D5500] + - [0xD5650, asm] + - [0xD70F0, asm] + - [0xD7980, asm] + - [0xD86a0, asm] + - [0xDac20, asm] # syscall + - [0xDac30, asm] + - [0xDad60, asm] + - [0xDADB0, asm] + - [0xDAE10, asm] + - [0xDAE50, c, game_DAE50] + - [0xDafa0, asm] + - [0xDBA60, c, game_DBA60] + - [0xDc360, asm] + - [0xDc6b0, asm] + - [0xDdb60, asm] + - [0xDe5a0, asm] + - [0xDf260, asm] + - [0xDf930, asm] + - [0xDfbf0, asm] + - [0xe0f60, asm] + - [0xe1280, asm] + - [0xe2880, asm] + - [0xe2da0, asm] + - [0xe3c90, asm] + - [0xe4070, asm] + - [0xe5e90, asm] + - [0xe7380, asm] + - [0xe7970, asm] + - [0xe8090, asm] + - [0xe8bb0, asm] + - [0xe8c10, asm] + - [0xeb020, asm] + - [0xeb340, asm] + - [0xEBD00, asm] + - [0xebe60, asm] + - [0xec420, asm] + - [0xede60, asm] + - [0xee710, asm] + - [0xeeb10, asm] + - [0xeee70, asm] + - [0xEF410, c, game_EF410] + - [0xF15d0, asm] + - [0xF20a0, c, game/done/game_F20A0] + - [0xF21d0, asm] + - [0xF2820, asm] + - [0xF3270, asm] + - [0xF3ba0, asm] + - [0xF44d0, asm] + - [0xF4800, asm] + - [0xF4890, asm] + - [0xF4b20, asm] + - [0xF4c20, asm] + - [0xF4d20, asm] + - [0xF52B0, asm] + - [0xF5800, asm] + - [0xF8590, asm] + - [0xF9430, asm] + - [0xFa240, asm] + - [0xFa360, asm] + - [0xFb060, asm] + - [0xFb600, asm] + - [0xFc3c0, c, game/done/game_FC3C0] + - [0xFc410, asm] + - [0xFc550, asm] + - [0xFc5f0, asm] + - [0xFdb00, asm] + - [0xFdbe0, asm] + - [0xFdd70, asm] + - [0xFe850, asm] + - [0xFe9e0, asm] + - [0xFecc0, asm] + - [0xFeff0, asm] + - [0xFf0e0, asm] + - [0xFf5c0, asm] + - [0xFf900, asm] + - [0xFfba0, asm] + - [0x100810, asm] + - [0x1028f0, asm] + - [0x1045d0, asm] + - [0x1048d0, asm] + - [0x105760, asm] + - [0x105fc0, asm] + - [0x108320, asm] + - [0x108e90, asm] + - [0x10b7c0, c, game/done/game_10B7C0] + - [0x10b7d0, asm] + - [0x10c140, c, game/done/game_10C140] + - [0x10c170, asm] + - [0x10ccd0, asm] + - [0x10cd70, asm] + - [0x10dd20, asm] + - [0x10e240, asm] + - [0x10ea20, asm] + - [0x10ecb0, c, game/done/game_10ECB0] + - [0x10ed10, asm] + - [0x10EF60, asm] + - [0x1104d0, asm] + - [0x111670, asm] + - [0x112f90, asm] + - [0x113480, asm] + - [0x113d60, asm] + - [0x116d40, asm] + - [0x117490, asm] + - [0x118400, asm] + - [0x118670, asm] + - [0x1188e0, asm] + - [0x119370, asm] + - [0x119960, c, game/done/game_119960] + - [0x1199D0, asm] + - [0x11a680, asm] + - [0x11c2b0, asm] + - [0x11f780, asm] + - [0x11ff10, asm] + - [0x121a20, asm] + - [0x122650, c, game/done/game_122650] + - [0x122760, asm] + - [0x1227f0, asm] + - [0x1228d0, asm] + - [0x123FB0, c, game_123FB0] + - [0x124260, asm] + - [0x124920, asm] + - [0x126ed0, asm] + - [0x126f60, asm] + - [0x128970, asm] + - [0x128d70, asm] + - [0x129eb0, c, game/done/game_129EB0] + - [0x129ee0, asm] + - [0x12b1c0, asm] + - [0x12b250, asm] + - [0x12b7d0, asm] + - [0x12bd10, asm] + - [0x12c1e0, asm] + - [0x12d630, asm] + - [0x12d7e0, c, game/done/game_12D7E0] + - [0x12d7f0, asm] + - [0x12dab0, asm] + - [0x12fdd0, asm] + - [0x1308e0, asm] + - [0x130b40, asm] + - [0x130CB0, c, game_130CB0] + - [0x1312f0, asm] + - [0x131620, asm] + - [0x1319d0, asm] + - [0x131a90, asm] + - [0x131F30, c, game_131F30] + - [0x133190, asm] + - [0x135490, asm] + - [0x1355d0, asm] + - [0x135780, asm] + - [0x135d00, asm] + - [0x1368c0, asm] + - [0x137de0, asm] + - [0x137ed0, asm] + - [0x138520, asm] + - [0x139fc0, asm] + - [0x13ae20, asm] + - [0x13bb20, asm] + - [0x13d350, asm] + - [0x142560, asm] + - [0x14ce30, asm] + - [0x14d0d0, c, game/done/game_14D0D0] + - [0x14d110, asm] + - [0x14ee80, asm] + - [0x14f130, asm] + - [0x14f580, asm] + - [0x14f8f0, asm] + - [0x14FF90, c, game_14FF90] + - [0x155c90, asm] + - [0x156160, asm] + - [0x1570e0, asm] + - [0x157840, asm] + - [0x159940, asm] + - [0x15A830, c, game/done/game_15A830] + - [0x15a840, asm] + - [0x15aa10, asm] + - [0x15aba0, asm] + - [0x15B200, c, game_15B200] + - [0x15B5F0, asm] + - [0x15b960, asm] + - [0x15baa0, asm] + - [0x15bd90, asm] + - [0x15d6e0, asm] + - [0x15d730, asm] + - [0x15f680, asm] + - [0x161520, c, game_161520] + - [0x168A90, c, game_168A90] + - [0x169510, c, game_169510] + - [0x16DC80, c, game_16DC80] + - [0x16EE20, c, game_16EE20] + - [0x173d40, asm] + - [0x174bf0, asm] + - [0x175250, asm] + - [0x1765E0, c, game/done/game_1765E0] + - [0x176a00, asm] + - [0x179f30, asm] + - [0x17caf0, asm] + - [0x182c30, asm] + - [0x183640, asm] + - [0x185560, asm] + - [0x188440, asm] + - [0x188f90, asm] + - [0x1897A0, c, game_1897A0] + - [0x18a8f0, asm] + - [0x18d250, asm] + - [0x18D770, c, game_18D770] + - [0x191c30, asm] + - [0x193130, asm] + - [0x193420, c, game/done/game_193420] + - [0x193430, asm] + - [0x193e50, asm] + - [0x1944C0, c, game_1944C0] + - [0x196db0, asm] + - [0x197120, asm] + - [0x197c20, asm] + - [0x19a8b0, asm] + - [0x19E040, asm] + - [0x19f150, asm] + - [0x1a0100, asm] + - [0x1a0420, asm] + - [0x1a0790, asm] + - [0x1a0e60, asm] + - [0x1a11b0, asm] + - [0x1a1b40, asm] + - [0x1a1e50, asm] + - [0x1a20a0, asm] + - [0x1a48c0, asm] + - [0x1a5440, asm] + - [0x1a6300, c, game/done/game_1A6300] + - [0x1a6360, asm] + - [0x1a7260, asm] + - [0x1a8060, asm] + - [0x1a89b0, asm] + - [0x1ab530, asm] + - [0x1ac2f0, asm] + - [0x1afc80, asm] + - [0x1b0740, asm] + - [0x1b1600, asm] + - [0x1b5370, asm] + - [0x1b5cc0, asm] + - [0x1b6db0, asm] + - [0x1b74a0, asm] + - [0x1b7870, asm] + - [0x1b7ec0, asm] + - [0x1b81d0, asm] + - [0x1B8B60, asm] + - [0x1b8f40, asm] + - [0x1b9db0, asm] + - [0x1b9f30, asm] + - [0x1ba1d0, asm] + - [0x1bf090, asm] + - [0x1BFC70, c, game_1BFC70] + - [0x1bfcb0, asm] + - [0x1bfdd0, asm] + - [0x1c0840, asm] + - [0x1c0b10, asm] + - [0x1c1150, asm] + - [0x1c2c60, asm] + - [0x1ca420, asm] + - [0x1cbe20, asm] + - [0x1cc420, c, game/done/game_1CC420] + - [0x1cc440, asm] + - [0x1d0840, asm] + - [0x1d2b10, asm] + - [0x1d43b0, asm] + - [0x1d4e00, asm] + - [0x1D6E80, asm] + - [0x1d92f0, asm] + - [0x1dca70, asm] + - [0x1dd500, asm] + - [0x1df510, asm] + - [0x1e0560, asm] + - [0x1e2180, asm] + - [0x1e26f0, asm] + - [0x1e3050, asm] + - [0x1e30a0, asm] + - [0x1e34c0, asm] + - [0x1e37d0, asm] + - [0x1e58b0, asm] + - [0x1e5ff0, asm] + - [0x1e6260, asm] + - [0x1e6b40, asm] + - [0x1E73B0, asm] + - [0x1ed0f0, asm] + - [0x1ef500, asm] + - [0x1F2730, asm] + - [0x1f3780, asm] + - [0x1f4650, asm] + - [0x1fa770, asm] + - [0x1ffb70, asm] + - [0x1FFF60, c, game_1FFF60] + - [0x200930, asm] + - [0x203340, asm] + - [0x203e20, asm] + - [0x204660, asm] + - [0x205c90, asm] + - [0x2062D0, c, game_2062D0] + - [0x209b50, asm] + - [0x20A290, asm] + - [0x20a3a0, asm] + - [0x20a5f0, asm] + - [0x20a850, asm] + - [0x20a910, asm] + - [0x20a990, asm] + - [0x20ae20, asm] + - [0x215960, asm] + - [0x21c4f0, asm] + - [0x21c540, asm] + - [0x21C900, asm, libultra/io/pfsinit2] # dupe of libultra/io/pfsinit + - [0x21CAC0, asm] + - [0x21CAF0, asm] + - [0x21ccb0, asm] # gu function + - [0x21ce70, asm] # modified osSetTimer ? + - [0x21cf50, asm, libultra/io/contreaddata2] + - [0x21d1b0, asm] # more matrix funcs + - [0x21D420, asm] + - [0x21d4a0, c, libultra/gu/guNormalize] + - [0x21d530, c, libultra/gu/mtxcatl] + - [0x21D5F0, c, game_21D5F0] + - [0x21d800, asm, libultra/io/siacs2] # dupe of libultra/io/siacs + - [0x21D8C0, asm, libultra/io/sirawdma2] # dupe of libultra/io/sirawdma + - [0x21d970, asm, libultra/os/gettime2] # dupe of libultra/os/gettime + - [0x21da00, asm, libultra/io/contpfs2] # dupe of libultra/io/contpfs + - [0x21e760, c, libultra/io/pfschecker2] # dupe of libultra/io/pfschecker + - [0x21F1C0, c, libultra/io/pfsisplug2] # dupe of libultra/io/pfsisplug + - [0x21F530, asm, libultra/io/contramread2] # dupe of libultra/io/contramread + - [0x21f8e0, asm, libultra/io/contramwrite2] # dupe of libultra/io/contramwrite + - [0x21fc90, c, libultra/audio/game_21FC90] # -g + - [0x221290, c, game_221290] + - [0x225d20, asm] + - [0x2270a0, asm] - name: game_data type: code start: 0x002275E0 vram: 0x80082B20 subsegments: - - [0x2275E0, bin] - - [0x22A980, .data, game/done/game_75A90] - - [0x22AA90, bin] - - [0x23A4A0, .data, game/data/data_800959E0] - - [0x23A4C0, bin] - - [0x23A4F0, .data, game/entrypoint] # jumptable 0x80095A30 - - [0x23A510, bin] - - [0x23AF80, .data, game_3E890] - - [0x23AFD0, bin] - - [0x23AFF0, bin] # D_80096530? - - [0x23B000, bin] - - [0x23D420, bin] # jump table - - [0x23D570, bin] - - [0x23D870, .rodata, libultra/gu/guPerspectiveF] - - [0x23D880, .rodata, libultra/gu/guRotateF] - - [0x23D890, .rodata, game/done/game_75810] - - [0x23D8A0, .rodata, game/done/game_75950] - - [0x23D8C0, .data, game_75C90] - # - [0x23DAC0, .rodata, game_75C90] - - [0x23DAE0, .data, game_75FC0] - - [0x23DB40, .rodata, game_76710] - - [0x23DB50, bin] - - [0x247F70, .data, game_14FF90] - - [0x248070, bin] - - [0x248E10, rodata, game_161520] - - [0x249110, bin] + - [0x2275E0, data] + - [0x22A980, rodata] + - [0x22AA90, rodata] + - [0x22AAB0, rodata] + - [0x22AAC0, rodata] + - [0x22ABC0, rodata] + - [0x22ABD0, rodata] + - [0x22AC10, rodata] + - [0x22B1F0, rodata] + - [0x22B560, rodata] + - [0x22B660, rodata] + - [0x22B720, rodata] + - [0x22BD00, rodata] + - [0x22BD20, rodata] + - [0x22BD40, rodata] + - [0x22BD50, rodata] + - [0x22BD70, rodata] + - [0x22BD90, rodata] + - [0x22BDE0, rodata] + - [0x22BE40, rodata] + - [0x22BE50, rodata] + - [0x22BE70, rodata] + - [0x22BE90, rodata] + - [0x22BED0, rodata] + - [0x22BEF0, rodata] + - [0x22D000, rodata] + - [0x22D040, rodata] + - [0x22D070, rodata] + - [0x22D1A0, rodata] + - [0x22D1B0, rodata] + - [0x22D1C0, rodata] + - [0x22D1D0, rodata] + - [0x22D1E0, rodata] + - [0x22D1F0, rodata] + - [0x22D210, rodata] + - [0x22D220, rodata] + - [0x22D250, rodata] + - [0x22D2A0, rodata] + - [0x22D2C0, rodata] + - [0x22D2D0, rodata] + - [0x22D2E0, rodata] + - [0x22D330, rodata] + - [0x22D350, rodata] + - [0x22D380, rodata] + - [0x22D3C0, rodata] + - [0x22D3D0, rodata] + - [0x22D3F0, rodata] + - [0x22D400, rodata] + - [0x22D410, rodata] + - [0x22D420, rodata] + - [0x22D440, rodata] + - [0x22D450, rodata] + - [0x22D460, rodata] + - [0x22D480, rodata] + - [0x22D4D0, rodata] + - [0x22D4E0, rodata] + - [0x22D550, rodata] + - [0x22D560, rodata] + - [0x22D5C0, rodata] + - [0x22D5E0, rodata] + - [0x22D600, rodata] + - [0x22D610, rodata] + - [0x22D620, rodata] + - [0x22D640, rodata] + - [0x22D650, rodata] + - [0x22D660, rodata] + - [0x22D670, rodata] + - [0x22D680, rodata] + - [0x22D690, rodata] + - [0x22D6C0, rodata] + - [0x22D6D0, rodata] + - [0x22D710, rodata] + - [0x22DB80, rodata] + - [0x22DBE0, rodata] + - [0x22DBF0, rodata] + - [0x22DD00, rodata] + - [0x22DD20, rodata] + - [0x22DDE0, rodata] + - [0x22DF30, rodata] + - [0x22DF70, rodata] + - [0x22DF80, rodata] + - [0x22DFA0, rodata] + - [0x22DFB0, rodata] + - [0x22DFE0, rodata] + - [0x22E020, rodata] + - [0x22E030, rodata] + - [0x22E040, rodata] + - [0x22E050, rodata] + - [0x22E090, rodata] + - [0x22E0F0, rodata] + - [0x22E1F0, rodata] + - [0x22E220, rodata] + - [0x22E370, rodata] + - [0x22E4E0, rodata] + - [0x22E680, rodata] + - [0x22E730, rodata] + - [0x22EB40, rodata] + - [0x22EC20, rodata] + - [0x22EC90, rodata] + - [0x22ECB0, rodata] + - [0x22ECC0, rodata] + - [0x22EEA0, rodata] + - [0x22EF30, rodata] + - [0x22EF80, rodata] + - [0x22F530, rodata] + - [0x22F650, rodata] + - [0x22F720, rodata] + - [0x22F730, rodata] + - [0x22F7F0, rodata] + - [0x22F800, rodata] + - [0x22F820, rodata] + - [0x22F840, rodata] + - [0x22F850, rodata] + - [0x22F8B0, rodata] + - [0x22F8C0, rodata] + - [0x22F920, rodata] + - [0x22F9A0, rodata] + - [0x22FA40, rodata] + - [0x22FA90, rodata] + - [0x22FB10, rodata] + - [0x22FB50, rodata] + - [0x22FB90, rodata] + - [0x22FE50, rodata] + - [0x22FE60, rodata] + - [0x22FEA0, rodata] + - [0x22FF00, rodata] + - [0x22FF40, rodata] + - [0x22FF90, rodata] + - [0x231650, rodata] + - [0x231660, rodata] + - [0x2316E0, rodata] + - [0x2316F0, rodata] + - [0x231730, rodata] + - [0x231850, rodata] + - [0x2318E0, rodata] + - [0x231900, rodata] + - [0x231920, rodata] + - [0x231970, rodata] + - [0x2319C0, rodata] + - [0x231AB0, rodata] + - [0x231B10, rodata] + - [0x231B20, rodata] + - [0x231E80, rodata] + - [0x231EA0, rodata] + - [0x231FB0, rodata] + - [0x231FE0, rodata] + - [0x232040, rodata] + - [0x232060, rodata] + - [0x232090, rodata] + - [0x2320A0, rodata] + - [0x232150, rodata] + - [0x233920, rodata] + - [0x233990, rodata] + - [0x233A00, rodata] + - [0x233A70, rodata] + - [0x233BC0, rodata] + - [0x233C30, rodata] + - [0x233CA0, rodata] + - [0x233D10, rodata] + - [0x233D80, rodata] + - [0x2342A0, rodata] + - [0x2342D0, rodata] + - [0x234300, rodata] + - [0x234310, rodata] + - [0x234320, rodata] + - [0x234330, rodata] + - [0x234390, rodata] + - [0x2343A0, rodata] + - [0x2343C0, rodata] + - [0x2343D0, rodata] + - [0x2343F0, rodata] + - [0x234400, rodata] + - [0x234520, rodata] + - [0x234530, rodata] + - [0x2345B0, rodata] + - [0x234600, rodata] + - [0x234630, rodata] + - [0x234640, rodata] + - [0x234650, rodata] + - [0x234660, rodata] + - [0x234680, rodata] + - [0x234690, rodata] + - [0x2346D0, rodata] + - [0x2346F0, rodata] + - [0x234700, rodata] + - [0x234730, rodata] + - [0x234760, rodata] + - [0x234780, rodata] + - [0x234790, rodata] + - [0x234830, rodata] + - [0x234900, rodata] + - [0x234A70, rodata] + - [0x234C10, rodata] + - [0x234CB0, rodata] + - [0x236430, rodata] + - [0x2365B0, rodata] + - [0x2367E0, rodata] + - [0x23A490, rodata] + - [0x23A4A0, rodata] + - [0x23A4C0, rodata] + - [0x23A4F0, rodata] # , game/entrypoint] # jumptable 0x80095A30 + - [0x23A510, rodata] + - [0x23A5D0, rodata] + - [0x23A600, rodata] + - [0x23A630, rodata] + - [0x23A6A0, rodata] + - [0x23A7A0, rodata] + - [0x23AA60, rodata] + - [0x23AD10, rodata] + - [0x23ADE0, rodata] + - [0x23AE60, rodata] + - [0x23AF10, rodata] + - [0x23AF80, rodata] + - [0x23AFD0, rodata] + - [0x23AFF0, rodata] # D_80096530? + - [0x23B000, rodata] + - [0x23B010, rodata] + - [0x23B020, rodata] + - [0x23B030, rodata] + - [0x23B040, rodata] + - [0x23B370, rodata] + - [0x23B380, rodata] + - [0x23B390, rodata] + - [0x23B3A0, rodata] + - [0x23B3D0, rodata] + - [0x23B3E0, rodata] + - [0x23B420, rodata] + - [0x23B480, rodata] + - [0x23B4E0, rodata] + - [0x23B8A0, rodata] + - [0x23C630, rodata] + - [0x23C800, rodata] + - [0x23C830, rodata] + - [0x23C840, rodata] + - [0x23C850, rodata] + - [0x23CB10, rodata] + - [0x23CD10, rodata] + - [0x23D1B0, rodata] + - [0x23D320, rodata] + - [0x23D3F0, rodata] + - [0x23D420, rodata] # jump table + - [0x23D570, rodata] + - [0x23D650, rodata] + - [0x23D730, rodata] + - [0x23D830, rodata] + - [0x23D850, rodata] + - [0x23D870, .rodata, libultra/gu/guPerspectiveF] + - [0x23D880, .rodata, libultra/gu/guRotateF] + - [0x23D890, .rodata, game/done/game_75810] + - [0x23D8A0, .rodata, game/done/game_75950] + - [0x23D8C0, rodata, game_75C90] + - [0x23DAE0, rodata, game_75FC0] + - [0x23DB30, rodata] + - [0x23DB40, rodata, game_76710] + - [0x23DB50, rodata] + - [0x23DB60, rodata] + - [0x23DB70, rodata] + - [0x23DB80, rodata] + - [0x23DC00, rodata] + - [0x23E160, rodata] + - [0x23E4D0, rodata] + - [0x23E4F0, rodata] + - [0x23EBE0, rodata] + - [0x240360, rodata] + - [0x240370, rodata] + - [0x2405A0, rodata] + - [0x2407D0, rodata] + - [0x2407F0, rodata] + - [0x2416F0, rodata] + - [0x241890, rodata] + - [0x2418C0, rodata] + - [0x2418D0, rodata] + - [0x2418E0, rodata] + - [0x2418F0, rodata] + - [0x241900, rodata] + - [0x241910, rodata] + - [0x241920, rodata] + - [0x241930, rodata] + - [0x241940, rodata] + - [0x241950, rodata] + - [0x241960, rodata] + - [0x241970, rodata] + - [0x241980, rodata] + - [0x241990, rodata] + - [0x2419B0, rodata] + - [0x2419D0, rodata] + - [0x2419E0, rodata] + - [0x2419F0, rodata] + - [0x241A10, rodata] + - [0x241A20, rodata] + - [0x241A50, rodata] + - [0x241A60, rodata] + - [0x241A70, rodata] + - [0x241A80, rodata] + - [0x241A90, rodata] + - [0x241AB0, rodata] + - [0x241AC0, rodata] + - [0x241AD0, rodata] + - [0x241AF0, rodata] + - [0x241B00, rodata] + - [0x241B10, rodata] + - [0x241B20, rodata] + - [0x241B40, rodata] + - [0x241B50, rodata] + - [0x241B60, rodata] + - [0x241B70, rodata] + - [0x241B80, rodata] + - [0x241B90, rodata] + - [0x241BA0, rodata] + - [0x241BB0, rodata] + - [0x241BC0, rodata] + - [0x241BD0, rodata] + - [0x241BE0, rodata] + - [0x241C00, rodata] + - [0x241C10, rodata] + - [0x241C20, rodata] + - [0x241C30, rodata] + - [0x241C40, rodata] + - [0x241C60, rodata] + - [0x241C70, rodata] + - [0x241C80, rodata] + - [0x241C90, rodata] + - [0x241CA0, rodata] + - [0x241CB0, rodata] + - [0x241CC0, rodata] + - [0x241CD0, rodata] + - [0x241CF0, rodata] + - [0x241D00, rodata] + - [0x241D10, rodata] + - [0x241D20, rodata] + - [0x241D30, rodata] + - [0x241D40, rodata] + - [0x241D50, rodata] + - [0x241D70, rodata] + - [0x241DA0, rodata] + - [0x241DB0, rodata] + - [0x241DC0, rodata] + - [0x241DD0, rodata] + - [0x241DE0, rodata] + - [0x241DF0, rodata] + - [0x241E10, rodata] + - [0x241E30, rodata] + - [0x241E40, rodata] + - [0x241E50, rodata] + - [0x241E60, rodata] + - [0x241E70, rodata] + - [0x241E80, rodata] + - [0x241E90, rodata] + - [0x241EA0, rodata] + - [0x241EB0, rodata] + - [0x241ED0, rodata] + - [0x241EE0, rodata] + - [0x241EF0, rodata] + - [0x241F00, rodata] + - [0x241F10, rodata] + - [0x241F30, rodata] + - [0x241F40, rodata] + - [0x241F50, rodata] + - [0x241F60, rodata] + - [0x241F70, rodata] + - [0x241F80, rodata] + - [0x241F90, rodata] + - [0x241FA0, rodata] + - [0x241FB0, rodata] + - [0x241FD0, rodata] + - [0x241FE0, rodata] + - [0x241FF0, rodata] + - [0x242000, rodata] + - [0x242010, rodata] + - [0x242020, rodata] + - [0x242030, rodata] + - [0x242040, rodata] + - [0x242060, rodata] + - [0x242070, rodata] + - [0x242080, rodata] + - [0x242090, rodata] + - [0x2420A0, rodata] + - [0x2420B0, rodata] + - [0x2420C0, rodata] + - [0x2420D0, rodata] + - [0x2420E0, rodata] + - [0x2420F0, rodata] + - [0x242100, rodata] + - [0x242110, rodata] + - [0x242120, rodata] + - [0x242130, rodata] + - [0x242140, rodata] + - [0x242150, rodata] + - [0x242160, rodata] + - [0x242170, rodata] + - [0x242180, rodata] + - [0x242190, rodata] + - [0x2421A0, rodata] + - [0x2421B0, rodata] + - [0x2421C0, rodata] + - [0x2421D0, rodata] + - [0x2421E0, rodata] + - [0x2421F0, rodata] + - [0x242200, rodata] + - [0x242220, rodata] + - [0x242230, rodata] + - [0x242240, rodata] + - [0x242250, rodata] + - [0x242260, rodata] + - [0x242280, rodata] + - [0x2422A0, rodata] + - [0x2422D0, rodata] + - [0x2422F0, rodata] + - [0x242300, rodata] + - [0x242310, rodata] + - [0x242320, rodata] + - [0x242330, rodata] + - [0x242340, rodata] + - [0x242350, rodata] + - [0x242360, rodata] + - [0x242370, rodata] + - [0x242380, rodata] + - [0x242390, rodata] + - [0x2423A0, rodata] + - [0x2423B0, rodata] + - [0x2423C0, rodata] + - [0x2423D0, rodata] + - [0x2423E0, rodata] + - [0x242420, rodata] + - [0x242480, rodata] + - [0x2424A0, rodata] + - [0x2424E0, rodata] + - [0x242740, rodata] + - [0x242750, rodata] + - [0x242960, rodata] + - [0x242970, rodata] + - [0x242F30, rodata] + - [0x243B90, rodata] + - [0x243DC0, rodata] + - [0x243F60, rodata] + - [0x244060, rodata] + - [0x244140, rodata] + - [0x244150, rodata] + - [0x244160, rodata] + - [0x244170, rodata] + - [0x244180, rodata] + - [0x244190, rodata] + - [0x2441B0, rodata] + - [0x2441D0, rodata] + - [0x244210, rodata] + - [0x244220, rodata] + - [0x244250, rodata] + - [0x2442D0, rodata] + - [0x244360, rodata] + - [0x244390, rodata] + - [0x2443E0, rodata] + - [0x244680, rodata] + - [0x2446B0, rodata] + - [0x2446E0, rodata] + - [0x2446F0, rodata] + - [0x2447B0, rodata] + - [0x2447F0, rodata] + - [0x244870, rodata] + - [0x2448D0, rodata] + - [0x244920, rodata] + - [0x244930, rodata] + - [0x244950, rodata] + - [0x244A00, rodata] + - [0x244A60, rodata] + - [0x244A90, rodata] + - [0x244AB0, rodata] + - [0x244AC0, rodata] + - [0x244AD0, rodata] + - [0x244B70, rodata] + - [0x244B80, rodata] + - [0x244BC0, rodata] + - [0x244C80, rodata] + - [0x244C90, rodata] + - [0x244CB0, rodata] + - [0x244CD0, rodata] + - [0x244D60, rodata] + - [0x244DE0, rodata] + - [0x244E00, rodata] + - [0x244EB0, rodata] + - [0x244EC0, rodata] + - [0x244ED0, rodata] + - [0x244F10, rodata] + - [0x244F50, rodata] + - [0x244F70, rodata] + - [0x244F80, rodata] + - [0x244F90, rodata] + - [0x244FA0, rodata] + - [0x244FB0, rodata] + - [0x244FC0, rodata] + - [0x2450A0, rodata] + - [0x245100, rodata] + - [0x2451C0, rodata] + - [0x245270, rodata] + - [0x2452B0, rodata] + - [0x2452F0, rodata] + - [0x245300, rodata] + - [0x245320, rodata] + - [0x245340, rodata] + - [0x245350, rodata] + - [0x245370, rodata] + - [0x245380, rodata] + - [0x245390, rodata] + - [0x2453A0, rodata] + - [0x2453B0, rodata] + - [0x245480, rodata] + - [0x2454F0, rodata] + - [0x2455A0, rodata] + - [0x2455B0, rodata] + - [0x2455D0, rodata] + - [0x2455F0, rodata] + - [0x245600, rodata] + - [0x2456C0, rodata] + - [0x2457C0, rodata] + - [0x245A20, rodata] + - [0x245A30, rodata] + - [0x245AA0, rodata] + - [0x245AF0, rodata] + - [0x245B20, rodata] + - [0x245B30, rodata] + - [0x245BD0, rodata] + - [0x245C30, rodata] + - [0x245C50, rodata] + - [0x245C90, rodata] + - [0x245EB0, rodata] + - [0x245F20, rodata] + - [0x245F30, rodata] + - [0x245F40, rodata] + - [0x245F50, rodata] + - [0x245FC0, rodata] + - [0x246030, rodata] + - [0x2460B0, rodata] + - [0x2460E0, rodata] + - [0x246130, rodata] + - [0x246140, rodata] + - [0x246380, rodata] + - [0x2463E0, rodata] + - [0x246410, rodata] + - [0x246440, rodata] + - [0x2464A0, rodata] + - [0x2464B0, rodata] + - [0x246570, rodata] + - [0x2465C0, rodata] + - [0x2465F0, rodata] + - [0x246640, rodata] + - [0x246670, rodata] + - [0x246680, rodata] + - [0x2466C0, rodata] + - [0x246780, rodata] + - [0x246890, rodata] + - [0x2469A0, rodata] + - [0x246A30, rodata] + - [0x246A70, rodata] + - [0x246AC0, rodata] + - [0x246B10, rodata] + - [0x246BF0, rodata] + - [0x246C60, rodata] + - [0x246E10, rodata] + - [0x246E30, rodata] + - [0x246E40, rodata] + - [0x246ED0, rodata] + - [0x246EF0, rodata] + - [0x246F10, rodata] + - [0x246F30, rodata] + - [0x246F70, rodata] + - [0x246FE0, rodata] + - [0x247160, rodata] + - [0x247170, rodata] + - [0x247180, rodata] + - [0x2476E0, rodata] + - [0x247780, rodata] + - [0x247790, rodata] + - [0x2477E0, rodata] + - [0x247810, rodata] + - [0x247860, rodata] + - [0x247A10, rodata] + - [0x247A20, rodata] + - [0x247A30, rodata] + - [0x247E40, rodata] + - [0x247EE0, rodata] + - [0x247EF0, rodata] + - [0x247F00, rodata] + - [0x247F20, rodata] + - [0x247F30, rodata] + - [0x247F60, rodata] + - [0x247F70, rodata, game_14FF90] + - [0x248070, rodata] + - [0x2480D0, rodata] + - [0x248160, rodata] + - [0x2481A0, rodata] + - [0x2481B0, rodata] + - [0x2481E0, rodata] + - [0x2481F0, rodata] + - [0x248200, rodata] + - [0x2482B0, rodata] + - [0x248320, rodata] + - [0x248340, rodata] + - [0x2486F0, rodata] + - [0x248E10, rodata, game_161520] + - [0x249110, rodata] + - [0x249480, rodata] + - [0x249560, rodata] + - [0x249CC0, rodata] + - [0x249F40, rodata] + - [0x24A190, rodata] + - [0x24A220, rodata] + - [0x24A230, rodata] + - [0x24A240, rodata] + - [0x24A360, rodata] + - [0x24A400, rodata] + - [0x24A920, rodata] + - [0x24AAA0, rodata] + - [0x24AAF0, rodata] + - [0x24AB20, rodata] + - [0x24AB30, rodata] + - [0x24AB40, rodata] + - [0x24AE60, rodata] + - [0x24AF60, rodata] + - [0x24AFF0, rodata] + - [0x24B000, rodata] + - [0x24B150, rodata] + - [0x24B180, rodata] + - [0x24B1F0, rodata] + - [0x24B280, rodata] + - [0x24B5E0, rodata] + - [0x24B730, rodata] + - [0x24B760, rodata] + - [0x24B770, rodata] + - [0x24B790, rodata] + - [0x24B8C0, rodata] + - [0x24B8F0, rodata] + - [0x24B950, rodata] + - [0x24BA40, rodata] + - [0x24BA90, rodata] + - [0x24BC20, rodata] + - [0x24BC30, rodata] + - [0x24BC80, rodata] + - [0x24BCA0, rodata] + - [0x24BCD0, rodata] + - [0x24BCE0, rodata] + - [0x24BCF0, rodata] + - [0x24BD10, rodata] + - [0x24BD90, rodata] + - [0x24BE10, rodata] + - [0x24BE50, rodata] + - [0x24BE60, rodata] + - [0x24BE80, rodata] + - [0x24BE90, rodata] + - [0x24BEC0, rodata] + - [0x24BF10, rodata] + - [0x24BF20, rodata] + - [0x24CAD0, rodata] + - [0x24CAF0, rodata] + - [0x24CC40, rodata] + - [0x24CC70, rodata] + - [0x24CC80, rodata] + - [0x24CCD0, rodata] + - [0x24D1D0, rodata] + - [0x24D640, rodata] + - [0x24D7A0, rodata] + - [0x24D7D0, rodata] + - [0x24D7E0, rodata] + - [0x24D810, rodata] + - [0x24D830, rodata] + - [0x24D840, rodata] + - [0x24D880, rodata] + - [0x24D8A0, rodata] + - [0x24D8B0, rodata] + - [0x24D960, rodata] + - [0x24DA10, rodata] + - [0x24DA30, rodata] + - [0x24DAE0, rodata] + - [0x24DD30, rodata] + - [0x24DD60, rodata] + - [0x24E830, rodata] + - [0x24E840, rodata] + - [0x24E8B0, rodata] + - [0x24EBB0, rodata] + - [0x24EBE0, rodata] + - [0x24EDE0, rodata] + - [0x24EE10, rodata] + - [0x24EE40, rodata] + - [0x24EE90, rodata] + - [0x24EEC0, rodata] + - [0x24EEF0, rodata] + - [0x24EF10, rodata] + - [0x24EF20, rodata] + - [0x24EF50, rodata] + - [0x24EFA0, rodata] + - [0x24F040, rodata] + - [0x24F050, rodata] + - [0x24F370, rodata] + - [0x24F3F0, rodata] + - [0x24F490, rodata] + - [0x24F550, rodata] + - [0x24F5C0, rodata] + - [0x24F6F0, rodata] + - [0x24F740, rodata] + - [0x24F9A0, rodata] + - [0x24FB70, rodata] + - [0x24FC00, rodata] + - [0x24FD10, rodata] + - [0x24FD40, rodata] + - [0x24FDC0, rodata] + - [0x24FDD0, rodata] + - [0x24FE00, rodata] + - [0x24FFC0, rodata] + - [0x250010, rodata] + - [0x250030, rodata] + - [0x250550, rodata] + - [0x2505E0, rodata] + - [0x250730, rodata] + - [0x2508E0, rodata] + - [0x250B30, rodata] + - [0x250F40, rodata] + - [0x251950, rodata] + - [0x252960, rodata] + - [0x2531F0, rodata] + - [0x255710, rodata] + + # BSS ? + - name: debugger type: code start: 0x00255880 vram: 0x16000000 + align: 8 subsegments: - - [0x255880, c, debugger/debugger] - - [0x256F80, c, debugger_256F80] - - [0x257330, c, debugger_257330] - - [0x257350, c, debugger_257350] - - [0x258ED0, c, debugger_258ED0] - - name: debugger_data - type: code - start: 0x00258F80 - vram: 0x16003700 - subsegments: - - [0x258F80, bin] - - [0x259860, .data, debugger/data/data_16003FE0] - - [0x25A060, bin] + - [0x255880, c, debugger/debugger] + - [0x256F80, c, debugger_256F80] + - [0x257330, c, debugger_257330] + - [0x257350, c, debugger_257350] + - [0x258ED0, c, debugger_258ED0] + - [0x258F70, rodata] + - [0x259070, rodata] + - [0x259370, rodata] + - [0x2593B0, rodata] + - [0x25A0F0, rodata] + + # BSS ? + - [0x25A5D8] # end of file diff --git a/conker/include/macro.inc b/conker/include/macro.inc index f642978..b02b19d 100644 --- a/conker/include/macro.inc +++ b/conker/include/macro.inc @@ -6,10 +6,16 @@ .macro glabel label .global \label - .balign 4 + .type \label, @function \label: .endm -.macro .word32 x - .word \x +.macro dlabel label + .global \label + \label: +.endm + +.macro jlabel label + .global \label + \label: .endm diff --git a/conker/src/debugger/data/data_16003FE0.c b/conker/src/debugger/data/data_16003FE0.c deleted file mode 100644 index 0b4cd52..0000000 --- a/conker/src/debugger/data/data_16003FE0.c +++ /dev/null @@ -1,114 +0,0 @@ -#include - -u8 D_16003FE0[] = "Non"; -u8 D_16003FE4[] = "UPDATE_CHARS"; -u8 D_16003FF4[] = "DRAW_CHARS"; -u8 D_16004000[] = "UPDATE_DBOBJ"; -u8 D_16004010[] = "DRAW_DBOBJ"; -u8 D_1600401C[] = "TASK"; -u8 D_16004024[] = "Task Exec"; -u8 D_16004030[] = "Effects"; -u8 D_16004038[] = "Update_frontend"; -u8 D_16004048[] = "Draw_frontend"; -u8 D_16004058[] = "Main-UpdateOncePerView"; -u8 D_16004070[] = "Gfx-lockup"; -u8 D_1600407C[] = "Maincode-lockup"; -u8 D_1600408C[] = "Deliberate Lockup (Tm)"; -u8 D_160040A4[] = "Scheduler"; -u8 D_160040B0[] = "Audio timer"; -u8 D_160040BC[] = "SCHEDULER_CPU_LOCKUP"; -u8 D_160040D4[] = "NOT_ENOUGH_CUTSCENE_BITS"; -u8 D_160040F0[] = "DODOWNLOAD_DATA_BIGGER_THAN_MEMORY_BUFFER"; -u8 D_1600411C[] = "DODOWNLOAD_COMPRESSED_DATA_BIGGER_THAN_MEMORY_BUFFER"; -u8 D_16004154[] = "DODOWNLOAD_SIZE_MISMATCH"; -u8 D_16004170[] = "ZERO_SIZE_LEVEL_INFO_DOWNLOAD"; -u8 D_16004190[] = "DB_OBJECT_INIT_NOT_ENOUGH_SPACE"; - -u8 D_160041B0[] = "NOT_ENOUGH_MEMORY_FOR_VISIBLE_TRI"; -u8 D_160041D4[] = "MOVE_THINGY_ON_OBJECT"; -u8 D_160041EC[] = "OUT_OF_MEMORY_DOWNLOADING_CHARACTER_TO_HEAP"; -u8 D_16004218[] = "OUT_OF_MEMORY_DOWNLOADING_ANIMATION_TABLES"; -u8 D_16004244[] = "OUT_OF_MEMORY_DOWNLOADING_CHARACTER_INFO_TABLES"; -u8 D_16004274[] = "LIGHTING_HARDWARE_TOO_MANY_LIGHTS"; -u8 D_16004298[] = "LIGHTING_HARDWARE_WRONG_NUMBER_OF_LIGHTS"; - -u8 D_160042C4[] = "TOO_MANY_CHARACTERS_TO_DECOMPRESS"; -u8 D_160042E8[] = "LAST_DISPLAY_LIST_NOT_FREED"; -u8 D_16004304[] = "HEAP_RAN_OUT_OF_MEMORY"; -u8 D_1600431C[] = "HEAP_BLOCK_ERROR"; -u8 D_16004330[] = "HEAP_SIZE_WRONG"; - -u8 D_16004340[] = "HEAP_ERROR"; -u8 D_1600434C[] = "INVALID_TEXTURE_NUMBER"; -u8 D_16004364[] = "TASK_OUT_OF_GLIST"; -u8 D_16004378[] = "TASK_OUT_OF_SAFETY_BUFFER_GLIST"; -u8 D_16004398[] = "TASK_TOO_MANY_COMMANDS_FOR_GLIST_SAFETY_BUFFER"; -u8 D_160043C8[] = "DB_HITPOLY_INIT INC MAX TRI SPACE"; -u8 D_160043EC[] = "DB_HITPOLY_INIT INC MAX TREE SPACE"; - -u8 D_16004400[] = "HITS.C OUT OF RANGE APD"; -u8 D_16004418[] = "HEAP_LOW_PRI_TOO_MUCH"; -u8 D_16004430[] = "SC STACK OVERFLOW"; -u8 D_16004444[] = "WETCHARACTER MATRIX INDEX ORA"; -u8 D_16004464[] = "CHARACTERNODE MATRIX INDEX ORA"; -u8 D_16004484[] = "CHARACTER FIRE CONKER MATRIX"; - -u8 D_160044A4[] = "ABI LIST ERROR (see Mike)"; -u8 D_160044C0[] = "AUDIO CACHE DMA NOT DONE (Mike)"; -u8 D_160044E0[] = "AUDIO CACHE DMA START FAILED (Mike)"; -u8 D_16004514[] = "EFFECTS STACK OVERFLOW (Andy)"; -u8 D_16004534[] = "EFFECTS STACK UNDERFLOW (Andy)"; -u8 D_16004554[] = "AUDIO STACK OVERFLOW (Mike)"; - -u8 D_16004570[] = "MALLOC FREE MISMATCH"; -u8 D_16004588[] = "CHAREFFECT CORRUPTION"; -u8 D_160045A0[] = "GFX LIST CHECK (Andy)"; -u8 D_160045B8[] = "Interupt"; -u8 D_160045C4[] = "TLB Modification"; -u8 D_160045D8[] = "TLB Refill (l/i)"; -u8 D_160045EC[] = "TLB Refill (s)"; -u8 D_160045F8[] = "Addr Error (l/i)"; -u8 D_16004610[] = "Addr Error (s)"; -u8 D_16004620[] = "Bus Error (i)"; -u8 D_16004630[] = "Bus Error (data)"; -u8 D_16004644[] = "Syscall"; -u8 D_1600464C[] = "Brk Point"; -u8 D_16004658[] = "Reserved Inst"; -u8 D_16004668[] = "Cpr unusable"; -u8 D_1600467C[] = "Arithmetic ovflo"; -u8 D_16004690[] = "Trap"; -u8 D_16004698[] = "---"; -u8 D_1600469C[] = "Floating point"; -u8 D_160046AC[] = "PRESS BUTTON"; -u8 D_160046BC[] = "REGISTERS"; -u8 D_160046C8[] = "STACK"; -u8 D_160046D0[] = "MAIN MENU"; -u8 D_160046DC[] = "CONTINUE"; -u8 D_160046E8[] = "HOSTDEBUG"; -u8 D_160046F4[] = "RETRY CODE"; -u8 D_16004700[] = "Version"; -u8 D_16004708[] = "Built"; -u8 D_16004710[] = "Dec 19 2000"; -u8 D_1600471C[] = "09:57:42"; -u8 D_16004728[] = "Pc"; -u8 D_1600472C[] = "Cause"; -u8 D_16004734[] = "Sr"; -u8 D_16004738[] = "Badvadr"; -u8 D_16004740[] = "Thread"; -u8 D_16004748[] = "Lockup_Now"; -u8 D_16004754[] = "Inexact op"; -u8 D_16004760[] = "Underflow"; -u8 D_1600476C[] = "Overflow"; -u8 D_16004778[] = "Div by 0"; -u8 D_16004784[] = "Invalid op"; -u8 D_16004790[] = "Unimplemented op"; -u8 D_1600479C[] = "Fpcsr:"; -u8 D_160047A4[] = "fp"; -u8 D_160047A8[] = "STACK-VIEW"; -u8 D_160047B4[] = ":"; -u8 D_160047B8[] = " "; -// u8 D_160047C4[] = "\0\0\0"; -u8 D_160047D0[] = "NaN"; -u8 D_160047D4[] = "%s%s%f"; -// u8 D_160047DC[] = "NaN"; -// u8 D_160047E0[] = "%s%s%f"; diff --git a/conker/src/game/data/data_800959E0.c b/conker/src/game/data/data_800959E0.c deleted file mode 100644 index 5c0c398..0000000 --- a/conker/src/game/data/data_800959E0.c +++ /dev/null @@ -1,8 +0,0 @@ -#include - - -f32 D_800959E0 = 999.0; -f32 D_800959E4 = 999.0; -f32 D_800959E8 = -10000.0; -f32 D_800959EC = 999.0; -f32 D_800959F0 = -10000.0; diff --git a/conker/src/game/done/game_75810.c b/conker/src/game/done/game_75810.c index 6df12a6..1ee353d 100644 --- a/conker/src/game/done/game_75810.c +++ b/conker/src/game/done/game_75810.c @@ -3,6 +3,10 @@ #define PI 3.1415927410125732f +// TODO: FIX RODATA + +// #pragma GLOBAL_ASM("asm/nonmatchings/game_75810/func_15048360.s") + f32 func_15048360(f32 arg0) { s16 phi_a0; @@ -16,6 +20,8 @@ f32 func_15048360(f32 arg0) { return func_15048664(phi_a0) * (PI / 65535); } +// #pragma GLOBAL_ASM("asm/nonmatchings/game_75810/func_15048408.s") + f32 func_15048408(f32 arg0) { s16 phi_a0; diff --git a/conker/src/game/done/game_75A90.c b/conker/src/game/done/game_75A90.c index 210045d..f0aea38 100644 --- a/conker/src/game/done/game_75A90.c +++ b/conker/src/game/done/game_75A90.c @@ -3,6 +3,11 @@ #include "functions.h" #include "variables.h" +extern u16 D_80085EC0[61]; +extern u16 D_80085F3C[64]; +extern u16 D_80085FBC[4]; + +#if 0 u16 D_80085EC0[61] = { 32768, 32442, 32116, 31789, 31463, 31136, 30809, 30481, @@ -40,7 +45,7 @@ u16 D_80085F3C[64] = { 1844, 1597, 1304, 922 }; u16 D_80085FBC[4] = { 922, 798, 652, 461 }; - +#endif s32 func_150485E0(s32 arg0) { s32 index; diff --git a/conker/src/game/entrypoint.c b/conker/src/game/entrypoint.c index be80c37..bc223d7 100644 --- a/conker/src/game/entrypoint.c +++ b/conker/src/game/entrypoint.c @@ -4,17 +4,6 @@ #include "variables.h" -u32 jtbl_80095A30[8] = { - 0x1500798C, // first case - 0x15007994, - 0x150079C0, - 0x150079CC, - 0x1500798C, - 0, - 0, - 0 -}; - // game entrypoint #pragma GLOBAL_ASM("asm/nonmatchings/game/entrypoint/func_15007830.s") // NON-MATCHING: need to better understand jump tables diff --git a/conker/src/game_14FF90.c b/conker/src/game_14FF90.c index f86afce..236f981 100644 --- a/conker/src/game_14FF90.c +++ b/conker/src/game_14FF90.c @@ -3,7 +3,66 @@ #include "functions.h" #include "variables.h" - +extern f32 D_800A34B0[4][2]; +extern f32 D_800A34D0; +extern f32 D_800A34D4; +extern f32 D_800A34D8; +extern f32 D_800A34DC; +extern f32 D_800A34E0; +extern f32 D_800A34E4; +extern f32 D_800A34E8; +extern f32 D_800A34EC; +extern f32 D_800A34F0; +extern f32 D_800A34F4; +extern f32 D_800A34F8; +extern f32 D_800A34FC; +extern f32 D_800A3500; +extern f32 D_800A3504; +extern f32 D_800A3508; +extern f32 D_800A350C; +extern f32 D_800A3510; +extern f32 D_800A3514; +extern f32 D_800A3518; +extern f32 D_800A351C; +extern f32 D_800A3520; +extern f32 D_800A3524; +extern f32 D_800A3528; +extern f32 D_800A352C; +extern f32 D_800A3530; +extern f32 D_800A3534; +extern f32 D_800A3538; +extern f32 D_800A353C; +extern f32 D_800A3540; +extern f32 D_800A3544; +extern f32 D_800A3548; +extern f32 D_800A354C; +extern f32 D_800A3550; +extern f32 D_800A3554; +extern f32 D_800A3558; +extern f32 D_800A355C; +extern f32 D_800A3560; +extern f32 D_800A3564; +extern f32 D_800A3568; +extern f32 D_800A356C; +extern f32 D_800A3570; +extern f32 D_800A3574; +extern f32 D_800A3578; +extern f32 D_800A357C; +extern f32 D_800A3580; +extern f32 D_800A3584; +extern f32 D_800A3588; +extern f32 D_800A358C; +extern f32 D_800A3590; +extern f32 D_800A3594; +extern f32 D_800A3598; +extern f32 D_800A359C; +extern f32 D_800A35A0; +extern f32 D_800A35A4; +extern f32 D_800A35A8; +extern f32 D_800A35AC; + + +#if 0 f32 D_800A34B0[4][2] = { { 267.0f, 100.0f }, { 247.0f, 100.0f }, @@ -67,7 +126,7 @@ f32 D_800A35A0 = 999.0f; f32 D_800A35A4 = 0.01745329238474369f; f32 D_800A35A8 = 999.0f; f32 D_800A35AC = 999.0f; - +#endif void func_15122AE0(void) { struct108 *temp_s0; diff --git a/conker/src/game_2DF70.c b/conker/src/game_2DF70.c index c4a697c..2e6e5b6 100644 --- a/conker/src/game_2DF70.c +++ b/conker/src/game_2DF70.c @@ -63,9 +63,6 @@ void func_15001970(void) { // D_800DBE36 = 0; // } -void func_15001B08(void) { -} - u16* func_15001B10(void) { u16 *temp_v0; @@ -84,12 +81,11 @@ void func_15001B5C(u8 arg0) { *D_800B0DE0++ = arg0; } -#pragma GLOBAL_ASM("asm/nonmatchings/game_2DF70/func_15001B8C.s") -//void func_15001B8C(u16 arg0) { -// D_800B0DE0[0] = (arg0 >> 8); -// D_800B0DE0[1] = arg0 & 0xFF; -// D_800B0DE0 += 2; -//} +void func_15001B8C(u16 arg0) { + D_800B0DE0[0] = (arg0 >> 8); + D_800B0DE0[1] = arg0 & 0xFF; + D_800B0DE0 += 2; +} void func_15001BC8(s32 arg0, s16 *arg1, s16 *arg2) { u16 *tmp; diff --git a/conker/src/game_3E890.c b/conker/src/game_3E890.c index 896dc5a..ab728a1 100644 --- a/conker/src/game_3E890.c +++ b/conker/src/game_3E890.c @@ -3,7 +3,7 @@ #include "functions.h" #include "variables.h" - +#if 0 f32 D_800964C0 = 175.5; f32 D_800964C4 = 115.4000015258789; f32 D_800964C8 = 1.0420000553131104; @@ -25,7 +25,7 @@ f32 D_80096504 = -339.0; // dont think these belong here? f32 D_80096508 = 15.045271873474121; f32 D_8009650C = 5.8676557540893555; - +#endif // typedef struct { // f32 sp38; diff --git a/conker/src/game_75C90.c b/conker/src/game_75C90.c index ea318b9..32a997e 100644 --- a/conker/src/game_75C90.c +++ b/conker/src/game_75C90.c @@ -3,7 +3,15 @@ #include "functions.h" #include "variables.h" +extern u16 D_80098E00[256]; +extern f32 D_80099000; +extern f32 D_80099004; +extern f32 D_80099008; +extern f32 D_8009900C; +extern f32 D_80099010; +extern f32 D_80099014; +#if 0 extern u16 D_80098E00[256] = { 0x0000, 0x00A2, 0x0145, 0x01E8, 0x028B, 0x032E, 0x03D1, 0x0474, 0x0518, 0x05BB, 0x065E, 0x0701, 0x07A4, 0x0847, 0x08EA, 0x098E, @@ -45,6 +53,7 @@ f32 D_80099008 = 255.99998474121094; f32 D_8009900C = 255.99998474121094; f32 D_80099010 = 65535.0; f32 D_80099014 = 1.5707963705062866; +#endif f32 func_150487E0(f32 arg0) { f32 temp_f14 = (D_80098E00[(s32)(fabsf(arg0) * D_80099000)] * D_80099004) / 65536.0f; diff --git a/conker/src/game_75FC0.c b/conker/src/game_75FC0.c index 801b2b3..7998b74 100644 --- a/conker/src/game_75FC0.c +++ b/conker/src/game_75FC0.c @@ -3,7 +3,7 @@ #include "functions.h" #include "variables.h" - +#if 0 f32 D_80099020[] = { 0.0, 3.619550943374634, -6.466859817504883, 3.5107080936431885, -0.5643919706344604, 0.005872000008821487 }; f32 D_80099038[] = { 21.717304229736328, -48.572906494140625, 37.104923248291016, -11.031848907470703, 1.0 }; f32 D_8009904C[] = { 0.0, -3.1845738887786865, 3.210297107696533, -0.6077240109443665 }; @@ -11,6 +11,14 @@ f32 D_8009905C[] = { -19.107446670532227, 27.860130310058594, -11.06533718109130 f32 D_80099070 = 57.2957763671875; f32 D_80099074 = 57.2957763671875; +#endif + +extern f32 D_80099020[]; +extern f32 D_80099038[]; +extern f32 D_8009904C[]; +extern f32 D_8009905C[]; +extern f32 D_80099070; +extern f32 D_80099074; void func_15048B10(s32 arg0, s32 arg1) { diff --git a/conker/src/game_76710.c b/conker/src/game_76710.c index 4262e8c..b576e77 100644 --- a/conker/src/game_76710.c +++ b/conker/src/game_76710.c @@ -7,21 +7,22 @@ // wtf? #pragma GLOBAL_ASM("asm/nonmatchings/game_76710/func_15049260.s") -void func_150492CC(f32 arg0, f32 arg1, f32 arg2) { - D_800CC220 = arg0; - D_800CC224 = arg1; - D_800CC228 = arg2; - D_800CC22C = arg0 / 2; - D_800CC230 = arg1 / 2; - D_800CC234 = arg2 / 2; +#pragma GLOBAL_ASM("asm/nonmatchings/game_76710/func_150492CC.s") +// void func_150492CC(f32 arg0, f32 arg1, f32 arg2) { +// D_800CC220 = arg0; +// D_800CC224 = arg1; +// D_800CC228 = arg2; +// D_800CC22C = arg0 / 2; +// D_800CC230 = arg1 / 2; +// D_800CC234 = arg2 / 2; - if (arg0 == 0.0f) { - arg0 = 0.001f; - } +// if (arg0 == 0.0f) { +// arg0 = 0.001f; +// } - D_800CC238 = arg1 / arg0; - D_800CC23C = arg2 / arg0; -} +// D_800CC238 = arg1 / arg0; +// D_800CC23C = arg2 / arg0; +// } // too many temp vars #pragma GLOBAL_ASM("asm/nonmatchings/game_76710/func_15049350.s") diff --git a/conker/src/game_981E0.c b/conker/src/game_981E0.c index d9491af..11eac3a 100644 --- a/conker/src/game_981E0.c +++ b/conker/src/game_981E0.c @@ -441,9 +441,6 @@ void func_1506C43C(void) { // } // } -void func_1506D4EC(void) { -} - void func_1506D4F4(void) { func_1505E650(D_800D154C, D_800D154C->unk84.uh, 0.009999999776482582f, 0.0f, 0.0f, 0.0f, 0); } @@ -1493,10 +1490,6 @@ void func_15072EF4(void) { #pragma GLOBAL_ASM("asm/nonmatchings/game_981E0/func_15072F10.s") -void func_1507304C(void) { - -} - void func_15073054(void) { D_800D154C->unk22E = (s16) D_800D1580; } diff --git a/conker/src/game_A9D90.c b/conker/src/game_A9D90.c index 2739204..3aba46a 100644 --- a/conker/src/game_A9D90.c +++ b/conker/src/game_A9D90.c @@ -77,12 +77,6 @@ void func_1507CD0C(struct127 *arg0) { #pragma GLOBAL_ASM("asm/nonmatchings/game_A9D90/func_1507D754.s") -void func_1507DB34(void) { -} - -void func_1507DB3C(void) { -} - void func_1507DB44(s32 arg0, s32 arg1) { func_1503DE70(arg0, arg1, -1); } diff --git a/conker/src/init/data/data_2C200.c b/conker/src/init/data/data_2C200.c deleted file mode 100644 index a4b25b7..0000000 --- a/conker/src/init/data/data_2C200.c +++ /dev/null @@ -1,20 +0,0 @@ -#include - -f32 D_8002C200 = 0.009999999776482582; -f32 D_8002C204 = 0.0; -f64 D_8002C208 = 40.74366543152521; -f32 D_8002C210 = 0.7111111283302307; -f32 D_8002C214 = 0.009999999776482582; -f64 D_8002C218 = 40.74366543152521; -f32 D_8002C220 = 3015.0; -f32 D_8002C224 = 36000000.0; -f32 D_8002C228 = 6000.0; -f32 D_8002C22C = 0.04183333367109299; -f32 D_8002C230 = 1290.0; -f32 D_8002C234 = 0.37166666984558105; -f32 D_8002C238 = 24000.0; -f32 D_8002C23C = 0.0; -f32 D_8002C240 = 0.0; -f32 D_8002C244 = 0.0; -f32 D_8002C248 = 0.0; -f32 D_8002C24C = 0.0; diff --git a/conker/src/init/data/data_2C3F0.c b/conker/src/init/data/data_2C3F0.c deleted file mode 100644 index c1f0ffe..0000000 --- a/conker/src/init/data/data_2C3F0.c +++ /dev/null @@ -1,6 +0,0 @@ -#include - -s32 D_8002C3F0 = 589833000; // 9.114742874391214e-18 -f32 D_8002C3F4 = 0.0f; -f32 D_8002C3F8 = 0.009999999776482582; -f32 D_8002C3FC = 0.10000000149011612; diff --git a/conker/src/init/data/data_2C400.c b/conker/src/init/data/data_2C400.c deleted file mode 100644 index a386b62..0000000 --- a/conker/src/init/data/data_2C400.c +++ /dev/null @@ -1,6 +0,0 @@ -#include - -f32 D_8002C400 = 367.0; -f32 D_8002C404 = 0.30000001192092896; -f32 D_8002C408 = 0.0; -f32 D_8002C40C = 0.0; diff --git a/conker/src/init/data/data_2C460.c b/conker/src/init/data/data_2C460.c deleted file mode 100644 index 1861cea..0000000 --- a/conker/src/init/data/data_2C460.c +++ /dev/null @@ -1,158 +0,0 @@ -#include - -u32 jtbl8002C460[] = { - 0x100135E8, - 0x10013FD4, - 0x100139E0, - 0x10013FD4, - 0x10013FD4, - 0x10013620, - 0x10013678, - 0x100139F8, - 0x10013FDC, - 0x100135F8, - 0x10013A10, - 0x10013FDC, - 0x10013F38, - 0x10013F70, - 0x10013FB0, - 0x10013B94, - 0x10013C28, - 0x10013C68, - 0x10013DB8, - 0x10013FDC, - 0x10013FDC, - 0x10013FDC, - 0x100139E0, - 0x10013710, - 0x10013854, - 0x10013A84, - 0x10013B00, -}; - -u32 jtbl8002C4CC[] = { - 0x100140BC, - 0x1001413C, - 0x100140D8, - 0x100140F4, - 0x1001413C, - 0x1001413C, - 0x1001413C, - 0x1001413C, - 0x1001413C, - 0x1001413C, - 0x1001413C, - 0x1001413C, -}; - -u32 jtbl_8002C520[] = { - 0x1001413C, - 0x1001413C, - 0x1001413C, - 0x1001413C, - 0x1001413C, - 0x1001413C, - 0x1001412C, - 0x1001412C, - 0x1001412C, - 0x10014B14, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001426C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x10014C30, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x10014D34, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x10014DD8, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x10014CAC, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x1001501C, - 0x10014E88, - 0x0, - 0x0, - 0x0, -}; diff --git a/conker/src/init/data/data_2C6B0.c b/conker/src/init/data/data_2C6B0.c deleted file mode 100644 index 5ebd73e..0000000 --- a/conker/src/init/data/data_2C6B0.c +++ /dev/null @@ -1,6 +0,0 @@ -#include - -char D_8002C6B0[] = "snd %d has been freed too early - %d\n\n\n\n\n"; -char D_8002C6DC[] = "-2 sound has been freed too early - %d\n\n\n\n\n"; -u32 D_8002C708 = 0x10015D84; -u32 D_8002C70C = 0x1001645C; diff --git a/conker/src/init/data/data_2C750.c b/conker/src/init/data/data_2C750.c deleted file mode 100644 index fe814cd..0000000 --- a/conker/src/init/data/data_2C750.c +++ /dev/null @@ -1,6 +0,0 @@ -#include - -f32 D_8002C750 = 1000000.0; -f32 D_8002C754 = 0.0; -f32 D_8002C758 = 0.0; -f32 D_8002C75C = 0.0; diff --git a/conker/src/init/data/data_2C810.c b/conker/src/init/data/data_2C810.c deleted file mode 100644 index b263acb..0000000 --- a/conker/src/init/data/data_2C810.c +++ /dev/null @@ -1,17 +0,0 @@ -#include - -f32 D_8002C810 = 2.5640627573356416e-29; -f32 D_8002C814 = 65535.0; -f32 D_8002C818 = 0.0; -f32 D_8002C81C = 0.0; -f32 D_8002C820 = 26755.0; -f32 D_8002C824 = 0.0; -f32 D_8002C828 = 0.0; -f32 D_8002C82C = 0.0; -f32 D_8002C830 = 26755.0; -f32 D_8002C834 = 7723.0; -f32 D_8002C838 = 7723.0; -f32 D_8002C83C = 0.0; -f64 D_8002C840 = 1.99996; -f32 D_8002C848 = 1.999959945678711; -f32 D_8002C84C = 0.0; diff --git a/conker/src/init_1050.c b/conker/src/init_1050.c index ee7347e..dccc699 100644 --- a/conker/src/init_1050.c +++ b/conker/src/init_1050.c @@ -41,7 +41,7 @@ void func_100010F8(s32 arg0) { // // func_10005218(); // phi_s0 = 0x80400000 - (s32)&D_80043B40; -// if (D_8000030C == 0) { +// if (D_8000030C == 0) { // osResetType // bzero(&D_80043B40, phi_s0); // } else { // bzero(&D_800E9D10, 0x80400000 - (s32)&D_800E9D10); diff --git a/conker/src/init_50A0.c b/conker/src/init_50A0.c index ae51dc7..21a3d36 100644 --- a/conker/src/init_50A0.c +++ b/conker/src/init_50A0.c @@ -5,6 +5,7 @@ u64 D_8003B260; // bss + void func_100050A0(OSMesgQueue *queue) { D_8003B260 = 0x00000000FEFEFEFE; D_8003B234 = 0; @@ -43,63 +44,48 @@ void func_10005218(void) { void func_10005298(void) { } +#if 0 +// problem with osMotorStop call +void func_100052A0(s32 arg0) { + static u64 D_8003BC20; // boottime? + s32 mesg; + s32 i; + + mesg = 0; + if (D_8002BD18 == 0) { + osRecvMesg(&D_8003B9D0, &mesg, 1); + } + D_8002AC5C = 1; + osStopThread(&D_80035910); + osStopThread(&D_80031AE0); + func_100093CC(); // stop thread D_8003E3A0 if D_8002AE40 not null + D_8003BC20 = osGetTime(); + __osViInit(); + D_8002AAE0 = 1; + osSetThreadPri(0, 11); + + if (D_8002AAE4 != 0) { + if (D_80084064 == 0) { + osRecvMesg(&D_800BE900, &D_800BE990, 1); + } + for (i = 0; i < 4; i++) { // 4 controllers? + if (D_800BE944[i]) + { + _MakeMotorData(&D_800BE900, &D_800BE760[i], i); + osMotorStop(&D_800BE760[i]); // macro for __osMotorAccess + D_800BE948[i] = 0; + } + } + } + + while (osGetTime() < D_8003BC20 + 2272727) {}; + + while (osGetTime() < D_8003BC20 + 7500000) {}; + + osWritebackDCacheAll(); + + while(1) {}; +} +#else #pragma GLOBAL_ASM("asm/nonmatchings/init_50A0/func_100052A0.s") -// NON-MATCHING: lots to figure out -// u64 D_8003BC20; -// void func_100052A0(s32 arg0) { -// u32 temp_t3; -// u32 temp_t4; -// u64 temp_v0_3; -// s32 sp4C; -// s32 i; -// struct156 *temp_s1; -// -// sp4C = 0; -// if (D_8002BD18 == 0) { -// osRecvMesg(&D_8003B9D0, &sp4C, 1); -// } -// D_8002AC5C = 1; -// osStopThread(&D_80035910); -// osStopThread(&D_80031AE0); -// func_100093CC(); // stop thread D_8003E3A0 if D_8002AE40 not null -// D_8003BC20 = osGetTime(); -// __osViInit(); -// D_8002AAE0 = 1; -// osSetThreadPri(0, 11); -// -// if (D_8002AAE4 != 0) { -// if (D_80084064 == 0) { -// osRecvMesg(&D_800BE900, &D_800BE990, 1); -// } -// for (i = 0; i < 4; i++) { // 4 controllers? -// if (D_800BE944[i]) -// { -// _MakeMotorData(&D_800BE900, &D_800BE760[i], i); -// osMotorStop(&D_800BE760[i]); // macro for __osMotorAccess -// D_800BE948[i] = (u8)0; -// } -// } -// } -// temp_v0_3 = osGetTime(); -// temp_t3 = D_8003BC24 + 2272727; -// temp_t4 = D_8003BC20 + (temp_t3 < 2272727); -// if (temp_v0_3 <= temp_t4) { -// do { -// temp_v0_3 = osGetTime(); -// } while((temp_v0_3 < temp_t4) || -// ((temp_t4 >= temp_v0_3) && (temp_v0_3 < temp_t3))); -// } -// -// temp_v0_3 = osGetTime(); -// temp_t3 = D_8003BC24 + 7500000; -// temp_t4 = D_8003BC20 + (temp_t3 < 7500000); -// if (temp_v0_3 <= temp_t4) { -// do { -// temp_v0_3 = osGetTime(); -// } while ((temp_v0_3 < temp_t4) || -// ((temp_t4 >= temp_v0_3) && (temp_v0_3 < temp_t3))); -// } -// osWritebackDCacheAll(); -// -// while(1) {}; -// } +#endif diff --git a/conker/src/init_5AB0.c b/conker/src/init_5AB0.c deleted file mode 100644 index d8da486..0000000 --- a/conker/src/init_5AB0.c +++ /dev/null @@ -1,64 +0,0 @@ -#include -#include "functions.h" -#include "variables.h" - - -// entrypoint, map tlb and jump to func_1050 -#pragma GLOBAL_ASM("asm/nonmatchings/init_5AB0/func_10005AB0.s") - -#pragma GLOBAL_ASM("asm/nonmatchings/init_5AB0/func_10005B04.s") - -#pragma GLOBAL_ASM("asm/nonmatchings/init_5AB0/func_10005BE0.s") - -#pragma GLOBAL_ASM("asm/nonmatchings/init_5AB0/func_10005C2C.s") - -#pragma GLOBAL_ASM("asm/nonmatchings/init_5AB0/func_100061F8.s") - -// is this whole file handwritten? -#pragma GLOBAL_ASM("asm/nonmatchings/init_5AB0/func_10006240.s") -// void func_10006240(void) { -// func_1000625C(); -// } - -#pragma GLOBAL_ASM("asm/nonmatchings/init_5AB0/func_1000625C.s") - -#pragma GLOBAL_ASM("asm/nonmatchings/init_5AB0/func_1000632C.s") - -#pragma GLOBAL_ASM("asm/nonmatchings/init_5AB0/func_10006380.s") - -#pragma GLOBAL_ASM("asm/nonmatchings/init_5AB0/func_10006424.s") - -#pragma GLOBAL_ASM("asm/nonmatchings/init_5AB0/func_10006828.s") - -#pragma GLOBAL_ASM("asm/nonmatchings/init_5AB0/func_1000692C.s") -// s32 func_1000692C(s32 arg291, s32 arg29D) { -// func_10006E00(&D_8003BE94, &D_8003C858, 7, 5); -// return 0; -// } - -#pragma GLOBAL_ASM("asm/nonmatchings/init_5AB0/func_1000696C.s") - -#pragma GLOBAL_ASM("asm/nonmatchings/init_5AB0/func_10006E00.s") - -#pragma GLOBAL_ASM("asm/nonmatchings/init_5AB0/func_1000709C.s") - -#pragma GLOBAL_ASM("asm/nonmatchings/init_5AB0/func_100077B8.s") - -#pragma GLOBAL_ASM("asm/nonmatchings/init_5AB0/func_100079D8.s") - -// thread related -#pragma GLOBAL_ASM("asm/nonmatchings/init_5AB0/func_10007A24.s") - -#pragma GLOBAL_ASM("asm/nonmatchings/init_5AB0/__osCleanupThread.s") - -// handwritten -#pragma GLOBAL_ASM("asm/nonmatchings/init_5AB0/func_10007C74.s") - -#pragma GLOBAL_ASM("asm/nonmatchings/init_5AB0/func_10007CC4.s") - -#pragma GLOBAL_ASM("asm/nonmatchings/init_5AB0/func_10007D28.s") - -#pragma GLOBAL_ASM("asm/nonmatchings/init_5AB0/func_10007DA0.s") - -// contains "EXITED OK" etc text -#pragma GLOBAL_ASM("asm/nonmatchings/init_5AB0/func_10007DAC.s") diff --git a/conker/src/libultra/audio/cents2ratio.c b/conker/src/libultra/audio/cents2ratio.c index 406528d..091ec25 100644 --- a/conker/src/libultra/audio/cents2ratio.c +++ b/conker/src/libultra/audio/cents2ratio.c @@ -10,7 +10,6 @@ #include - f32 alCents2Ratio(s32 cents) { f32 x; f32 ratio = 1.0f; diff --git a/conker/src/libultra/audio/init_1CBF0.c b/conker/src/libultra/audio/init_1CBF0.c index aa2a6d0..903971d 100644 --- a/conker/src/libultra/audio/init_1CBF0.c +++ b/conker/src/libultra/audio/init_1CBF0.c @@ -1,6 +1,6 @@ #include "n_synthInternals.h" - +#if 0 f32 PI = 3.1415927410125732; f32 D_8002C774 = 1.4142136573791504; f32 D_8002C778 = 1.0594631433486938; @@ -9,7 +9,16 @@ f32 D_8002C780 = 26768.0; f32 D_8002C784 = 26768.0; f32 D_8002C788 = 173123.40625; f32 D_8002C78C = 0.0; +#endif +extern f32 D_8002C770; +extern f32 D_8002C774; +extern f32 D_8002C778; +extern f32 D_8002C77C; +extern f32 D_8002C780; +extern f32 D_8002C784; +extern f32 D_8002C788; +extern f32 D_8002C78C; f32 func_150484A0(f32, f32); @@ -23,7 +32,7 @@ void func_1001CBF0(f32 arg0, f32 arg1, f32 arg2, f32 arg3[3], f32 arg4[3]) { arg1 = arg0 - 200.0f; } - sp24 = func_150484A0(arg1 * PI, arg0); + sp24 = func_150484A0(arg1 * D_8002C770, arg0); sp20 = sp24 * sp24; sp1C = (sp24 * D_8002C774) / arg2; arg3[0] = sp20 / (1.0f + sp20 + sp1C); diff --git a/conker/src/libultra/audio/init_1D900.c b/conker/src/libultra/audio/init_1D900.c index c2dd18c..a4e5f7f 100644 --- a/conker/src/libultra/audio/init_1D900.c +++ b/conker/src/libultra/audio/init_1D900.c @@ -51,7 +51,6 @@ void func_1001DAA0(s32 arg0, s16 arg1, s32 arg2) { func_1001ED6C(sp1C, arg1, arg2); } -// probably not right but... void func_1001DAE4(ALVoiceConfig *arg0, s16 arg1, s32 *arg2) { if (arg1 == 8) { arg0->fxBus = (f32) *arg2 * 0.1f; diff --git a/conker/symbol_addrs.us.txt b/conker/symbol_addrs.us.txt index 9cb249c..a82500c 100644 --- a/conker/symbol_addrs.us.txt +++ b/conker/symbol_addrs.us.txt @@ -118,11 +118,11 @@ __osSpDeviceBusy = 0x10023e80; __osSetTimerIntr = 0x100240B4; __osInsertTimer = 0x10024128; __osViInit = 0x100242b0; -__osGetActiveQueue = 0x10024400; -__osGetCurrFaultedThread = 0x10024400; -__osViGetCurrentContext = 0x10024400; -__osViGetNextContext = 0x10024400; -osPiGetDeviceType = 0x10024400; +//__osGetActiveQueue = 0x10024400; +//__osGetCurrFaultedThread = 0x10024400; +//__osViGetCurrentContext = 0x10024400; +//__osViGetNextContext = 0x10024400; +//osPiGetDeviceType = 0x10024400; __osViSwapContext = 0x10024410; osGetCount = 0x10024770; __osDequeueThread = 0x10024780; @@ -221,7 +221,6 @@ osPfsInit2 = 0x151EF450; osContStartReadData2 = 0x151EFAA0; __osPackReadData2 = 0x151EFC0C; osContGetReadData2 = 0x151EFB64; -__osPackReadData2 = 0x151EFC0C; guMtxXFML = 0x151F0080; guMtxCatL = 0x151F00E0; guMtxXFMF = 0x151F0140; @@ -266,3 +265,30 @@ hdwrBugFlag = 0x8002AB40; piEventQueue = 0x80036B40; __osPiAccessQueueEnabled = 0x8002BD60; __osPiAccessQueue = 0x800428F8; + +D_8008857C = 0x8008857C; // type:label +D_80088628 = 0x80088628; // type:label +D_80091A30 = 0x80091A30; // type:label +D_80091AB8 = 0x80091AB8; // type:label +func_16000B14 = 0x16000B14; // type:func +D_1600487C = 0x1600487C; // type:label + +// kanji/unicode chars +D_800A1218 = 0x800A1218; // ignore:true +D_800A1230 = 0x800A1230; // ignore:true +D_8008DBA0 = 0x8008DBA0; // ignore:true +D_8009FBC4 = 0x8009FBC4; // ignore:true +D_800A05EC = 0x800A05EC; // ignore:true +D_800A168C = 0x800A168C; // ignore:true +D_800A1694 = 0x800A1694; // ignore:true +D_800A1CD8 = 0x800A1CD8; // ignore:true +D_800A1CF0 = 0x800A1CF0; // ignore:true +D_800A1CFC = 0x800A1CFC; // ignore:true +D_800A1D00 = 0x800A1D00; // ignore:true +D_800A2024 = 0x800A2024; // ignore:true +D_800A2028 = 0x800A2028; // ignore:true +D_800A2154 = 0x800A2154; // ignore:true +D_800AA5D0 = 0x800AA5D0; // ignore:true +D_800AAF5C = 0x800AAF5C; // ignore:true +D_800AAF60 = 0x800AAF60; // ignore:true +D_800AB280 = 0x800AB280; // ignore:true diff --git a/conker/undefined_syms.us.txt b/conker/undefined_syms.us.txt index 2cf239d..5641b75 100644 --- a/conker/undefined_syms.us.txt +++ b/conker/undefined_syms.us.txt @@ -52,3 +52,5 @@ D_8002C460 = 0x8002C460; D_8002C4CC = 0x8002C4CC; D_8002C520 = 0x8002C520; D_80095A30 = 0x80095A30; + +D_80041EA0 = 0x80041EA0; diff --git a/game.us.rzip.yaml b/game.us.rzip.yaml index 62327cc..0595966 100644 --- a/game.us.rzip.yaml +++ b/game.us.rzip.yaml @@ -1,4 +1,7 @@ +sha1: 774411742d25da14483b8bdc53b5a045b848f0dd options: + platform: n64 + basename: game target_path: assets/game.us.rzip.bin base_path: . asset_path: assets/game diff --git a/tools/asm-differ b/tools/asm-differ index 9ce8fae..093360a 160000 --- a/tools/asm-differ +++ b/tools/asm-differ @@ -1 +1 @@ -Subproject commit 9ce8fae5d924b7e22536dc072ccb0b65b3ea6a8e +Subproject commit 093360aa31f90e67216ed1971c4087516cc7b940 diff --git a/tools/asm-processor b/tools/asm-processor index f511734..42e7cca 160000 --- a/tools/asm-processor +++ b/tools/asm-processor @@ -1 +1 @@ -Subproject commit f511734d56ebb152c2b0c5aab212a0fea2588513 +Subproject commit 42e7ccaf1883279c7fe2f9d338ff3383175aa97f diff --git a/tools/n64splat b/tools/n64splat index e6f5a25..dd492e8 160000 --- a/tools/n64splat +++ b/tools/n64splat @@ -1 +1 @@ -Subproject commit e6f5a25f67282eeafa6bfd70c8fb5816021cd93a +Subproject commit dd492e83d508b02b20252298f96479f98d567ffe diff --git a/tools/splat_ext/rzip.py b/tools/splat_ext/rzip.py index 5bf84a7..8470887 100644 --- a/tools/splat_ext/rzip.py +++ b/tools/splat_ext/rzip.py @@ -3,19 +3,19 @@ from pathlib import Path -from segtypes.n64.segment import N64Segment -from util import options +from src.splat.segtypes.n64.segment import N64Segment +from src.splat.util.options import opts import sys -if options.get_extensions_path() not in sys.path: +if opts.extensions_path not in sys.path: sys.path.append('tools/splat_ext') import rareunzip # Rare zip format: # 4 byte uncompressed length followed by deflate level 9 raw payload class N64SegRzip(N64Segment): - def __init__(self, rom_start, rom_end, type, name, vram_start, extract, given_subalign, given_is_overlay, given_dir, args, yaml): - super().__init__(rom_start, rom_end, type, name, vram_start, extract, given_subalign, given_is_overlay, given_dir, args, yaml) + def __init__(self, rom_start, rom_end, type, name, vram_start, args, yaml): + super().__init__(rom_start, rom_end, type, name, vram_start, args=args, yaml=yaml) self.has_subsegments = "subsegments" in yaml self.yaml = yaml self.xor = yaml.get("xor", None) @@ -115,7 +115,7 @@ def out_path(self) -> Path: return self.out_dir() / f"{self.name}.bin" def out_dir(self) -> Path: - return options.get_asset_path() / "rzip" / self.name + return opts.asset_path / "rzip" / self.name def split(self, rom_bytes): if self.has_subsegments: From 747fac4911ca99b14401360fb3f99838efd4569b Mon Sep 17 00:00:00 2001 From: Mark Street Date: Sun, 3 Aug 2025 10:29:49 +0000 Subject: [PATCH 2/2] Update splat to 0.34.1 --- conker/conker.us.yaml | 2 +- conker/src/game/done/game_75810.c | 5 ----- conker/src/libultra/audio/cents2ratio.c | 1 + conker/symbol_addrs.us.txt | 25 ------------------------- tools/n64splat | 2 +- tools/splat_ext/rzip.py | 4 ++-- 6 files changed, 5 insertions(+), 34 deletions(-) diff --git a/conker/conker.us.yaml b/conker/conker.us.yaml index c4e2792..10c6fac 100644 --- a/conker/conker.us.yaml +++ b/conker/conker.us.yaml @@ -12,7 +12,7 @@ options: #include "variables.h" symbol_addrs_path: symbol_addrs.us.txt - auto_all_sections: [] + auto_link_sections: [] string_encoding: ASCII # asm_jtbl_label_macro: jlabel diff --git a/conker/src/game/done/game_75810.c b/conker/src/game/done/game_75810.c index 1ee353d..1b244bd 100644 --- a/conker/src/game/done/game_75810.c +++ b/conker/src/game/done/game_75810.c @@ -3,9 +3,6 @@ #define PI 3.1415927410125732f -// TODO: FIX RODATA - -// #pragma GLOBAL_ASM("asm/nonmatchings/game_75810/func_15048360.s") f32 func_15048360(f32 arg0) { s16 phi_a0; @@ -20,8 +17,6 @@ f32 func_15048360(f32 arg0) { return func_15048664(phi_a0) * (PI / 65535); } -// #pragma GLOBAL_ASM("asm/nonmatchings/game_75810/func_15048408.s") - f32 func_15048408(f32 arg0) { s16 phi_a0; diff --git a/conker/src/libultra/audio/cents2ratio.c b/conker/src/libultra/audio/cents2ratio.c index 091ec25..406528d 100644 --- a/conker/src/libultra/audio/cents2ratio.c +++ b/conker/src/libultra/audio/cents2ratio.c @@ -10,6 +10,7 @@ #include + f32 alCents2Ratio(s32 cents) { f32 x; f32 ratio = 1.0f; diff --git a/conker/symbol_addrs.us.txt b/conker/symbol_addrs.us.txt index a82500c..31e337f 100644 --- a/conker/symbol_addrs.us.txt +++ b/conker/symbol_addrs.us.txt @@ -118,11 +118,6 @@ __osSpDeviceBusy = 0x10023e80; __osSetTimerIntr = 0x100240B4; __osInsertTimer = 0x10024128; __osViInit = 0x100242b0; -//__osGetActiveQueue = 0x10024400; -//__osGetCurrFaultedThread = 0x10024400; -//__osViGetCurrentContext = 0x10024400; -//__osViGetNextContext = 0x10024400; -//osPiGetDeviceType = 0x10024400; __osViSwapContext = 0x10024410; osGetCount = 0x10024770; __osDequeueThread = 0x10024780; @@ -272,23 +267,3 @@ D_80091A30 = 0x80091A30; // type:label D_80091AB8 = 0x80091AB8; // type:label func_16000B14 = 0x16000B14; // type:func D_1600487C = 0x1600487C; // type:label - -// kanji/unicode chars -D_800A1218 = 0x800A1218; // ignore:true -D_800A1230 = 0x800A1230; // ignore:true -D_8008DBA0 = 0x8008DBA0; // ignore:true -D_8009FBC4 = 0x8009FBC4; // ignore:true -D_800A05EC = 0x800A05EC; // ignore:true -D_800A168C = 0x800A168C; // ignore:true -D_800A1694 = 0x800A1694; // ignore:true -D_800A1CD8 = 0x800A1CD8; // ignore:true -D_800A1CF0 = 0x800A1CF0; // ignore:true -D_800A1CFC = 0x800A1CFC; // ignore:true -D_800A1D00 = 0x800A1D00; // ignore:true -D_800A2024 = 0x800A2024; // ignore:true -D_800A2028 = 0x800A2028; // ignore:true -D_800A2154 = 0x800A2154; // ignore:true -D_800AA5D0 = 0x800AA5D0; // ignore:true -D_800AAF5C = 0x800AAF5C; // ignore:true -D_800AAF60 = 0x800AAF60; // ignore:true -D_800AB280 = 0x800AB280; // ignore:true diff --git a/tools/n64splat b/tools/n64splat index dd492e8..3376e8c 160000 --- a/tools/n64splat +++ b/tools/n64splat @@ -1 +1 @@ -Subproject commit dd492e83d508b02b20252298f96479f98d567ffe +Subproject commit 3376e8c1b542d68016d74c685a9b3c64d4e488a1 diff --git a/tools/splat_ext/rzip.py b/tools/splat_ext/rzip.py index 8470887..08e9671 100644 --- a/tools/splat_ext/rzip.py +++ b/tools/splat_ext/rzip.py @@ -3,7 +3,7 @@ from pathlib import Path -from src.splat.segtypes.n64.segment import N64Segment +from src.splat.segtypes.segment import Segment from src.splat.util.options import opts import sys @@ -13,7 +13,7 @@ # Rare zip format: # 4 byte uncompressed length followed by deflate level 9 raw payload -class N64SegRzip(N64Segment): +class N64SegRzip(Segment): def __init__(self, rom_start, rom_end, type, name, vram_start, args, yaml): super().__init__(rom_start, rom_end, type, name, vram_start, args=args, yaml=yaml) self.has_subsegments = "subsegments" in yaml