mirror of https://github.com/zeldaret/mm.git
Add dmadata vrom symbols. Link rom in two passes: first to generate dmadata, second to apply dmadata symbols. Clean up symbols at low addresses.
This commit is contained in:
parent
6905647e4f
commit
08d128bdaa
67
Makefile
67
Makefile
|
@ -40,10 +40,12 @@ BASEROM_FILES := $(wildcard baserom/*)
|
|||
# Exclude dmadata, it will be generated right before packing the rom
|
||||
BASEROM_FILES := $(subst baserom/dmadata ,,$(BASEROM_FILES))
|
||||
BASEROM_BUILD_FILES := $(BASEROM_FILES:baserom/%=build/baserom/%)
|
||||
BASEROM_PRE_DMADATA_FILES := $(BASEROM_BUILD_FILES:build/baserom/%=build/baserom_pre_dmadata/%)
|
||||
|
||||
BASE_DECOMP_FILES := $(wildcard decomp/*)
|
||||
DECOMP_FILES := $(BASE_DECOMP_FILES:decomp/%=build/decomp/%)
|
||||
COMP_FILES := $(DECOMP_FILES:decomp/%=comp/%.yaz0)
|
||||
DECOMP_PRE_DMADATA_FILES := $(DECOMP_FILES:build/decomp/%=build/decomp_pre_dmadata/%)
|
||||
COMP_FILES := $(DECOMP_FILES:build/decomp/%=build/comp/%.yaz0)
|
||||
|
||||
S_FILES := $(wildcard asm/*)
|
||||
S_O_FILES = $(S_FILES:asm/%.asm=build/asm/%.o)
|
||||
|
@ -64,8 +66,10 @@ ROM := rom.z64
|
|||
# make build directories
|
||||
$(shell mkdir -p build/asm)
|
||||
$(shell mkdir -p build/baserom)
|
||||
$(shell mkdir -p build/baserom_pre_dmadata)
|
||||
$(shell mkdir -p build/comp)
|
||||
$(shell mkdir -p build/decomp)
|
||||
$(shell mkdir -p build/decomp_pre_dmadata)
|
||||
$(shell mkdir -p build/src)
|
||||
$(shell mkdir -p build/src/libultra)
|
||||
$(shell mkdir -p build/src/libultra/os)
|
||||
|
@ -82,34 +86,67 @@ check: $(ROM)
|
|||
$(ROM): $(ROM_FILES)
|
||||
@python3 ./tools/makerom.py ./tables/dmadata_table.py $@
|
||||
|
||||
boot.bin: code.elf
|
||||
build/boot_pre_dmadata.bin: build/code_pre_dmadata.elf
|
||||
$(MIPS_BINUTILS)objcopy --dump-section boot=$@ $<
|
||||
|
||||
code.bin: code.elf
|
||||
build/code_pre_dmadata.bin: build/code_pre_dmadata.elf
|
||||
$(MIPS_BINUTILS)objcopy --dump-section code=$@ $<
|
||||
|
||||
ovl_title.bin: code.elf
|
||||
build/ovl_title_pre_dmadata.bin: build/code_pre_dmadata.elf
|
||||
$(MIPS_BINUTILS)objcopy --dump-section ovl_title=$@ $<
|
||||
|
||||
code.elf: $(S_O_FILES) $(C_O_FILES) codescript.txt undef.txt
|
||||
$(LD) -T codescript.txt -T undef.txt --no-check-sections --accept-unknown-input-arch -o $@
|
||||
build/boot.bin: build/code.elf
|
||||
$(MIPS_BINUTILS)objcopy --dump-section boot=$@ $<
|
||||
|
||||
build/code.bin: build/code.elf
|
||||
$(MIPS_BINUTILS)objcopy --dump-section code=$@ $<
|
||||
|
||||
build/ovl_title.bin: build/code.elf
|
||||
$(MIPS_BINUTILS)objcopy --dump-section ovl_title=$@ $<
|
||||
|
||||
build/code_pre_dmadata.elf: $(S_O_FILES) $(C_O_FILES) codescript.txt undef.txt
|
||||
$(LD) -r -T codescript.txt -T undef.txt --no-check-sections --accept-unknown-input-arch -o $@
|
||||
|
||||
build/code.elf: $(S_O_FILES) $(C_O_FILES) codescript.txt undef.txt dmadata_script.txt
|
||||
$(LD) -T codescript.txt -T undef.txt -T dmadata_script.txt --no-check-sections --accept-unknown-input-arch -o $@
|
||||
|
||||
dmadata_script.txt: $(DECOMP_PRE_DMADATA_FILES) $(BASEROM_PRE_DMADATA_FILES)
|
||||
# TODO is there a better way to avoid this shuffling?
|
||||
mv build/baserom build/baserom_temp
|
||||
mv build/decomp build/decomp_temp
|
||||
mv build/baserom_pre_dmadata build/baserom
|
||||
mv build/decomp_pre_dmadata build/decomp
|
||||
python3 ./tools/dmadata.py ./tables/dmadata_table.py /dev/null -u -l dmadata_script.txt
|
||||
mv build/baserom build/baserom_pre_dmadata
|
||||
mv build/decomp build/decomp_pre_dmadata
|
||||
mv build/baserom_temp build/baserom
|
||||
mv build/decomp_temp build/decomp
|
||||
|
||||
test.txt: build/src/test.o
|
||||
$(MIPS_BINUTILS)objdump -d -z --adjust-vma=0x80080790 $< > test.txt
|
||||
|
||||
clean:
|
||||
rm $(ROM) code.elf code.bin boot.bin -r build
|
||||
rm $(ROM) -r build
|
||||
|
||||
build/baserom/dmadata: $(COMP_FILES) $(DECOMP_FILES) $(BASEROM_BUILD_FILES)
|
||||
python3 ./tools/dmadata.py ./tables/dmadata_table.py $@
|
||||
|
||||
build/baserom/boot: boot.bin
|
||||
build/baserom/boot: build/boot.bin
|
||||
cp $< $@
|
||||
|
||||
build/decomp/code: code.bin
|
||||
build/decomp/code: build/code.bin
|
||||
cp $< $@
|
||||
|
||||
build/decomp/ovl_title: ovl_title.bin
|
||||
build/decomp/ovl_title: build/ovl_title.bin
|
||||
cp $< $@
|
||||
|
||||
build/baserom_pre_dmadata/boot: build/boot_pre_dmadata.bin
|
||||
cp $< $@
|
||||
|
||||
build/decomp_pre_dmadata/code: build/code_pre_dmadata.bin
|
||||
cp $< $@
|
||||
|
||||
build/decomp_pre_dmadata/ovl_title: build/ovl_title_pre_dmadata.bin
|
||||
cp $< $@
|
||||
|
||||
|
||||
|
@ -121,7 +158,10 @@ disasm:
|
|||
|
||||
# Recipes
|
||||
|
||||
build/baserom/%: baserom/%
|
||||
build/baserom/%: build/baserom_pre_dmadata/%
|
||||
cp $< $@
|
||||
|
||||
build/baserom_pre_dmadata/%: baserom/%
|
||||
cp $< $@
|
||||
|
||||
build/asm/%.o: asm/%.asm
|
||||
|
@ -130,7 +170,10 @@ build/asm/%.o: asm/%.asm
|
|||
build/src/%.o: src/%.c include/*
|
||||
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTIMIZATION) -Iinclude -o $@ $<
|
||||
|
||||
build/decomp/%: decomp/%
|
||||
build/decomp/%: build/decomp_pre_dmadata/%
|
||||
cp $< $@
|
||||
|
||||
build/decomp_pre_dmadata/%: decomp/%
|
||||
cp $< $@
|
||||
|
||||
build/comp/%.yaz0: build/decomp/%
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
2a0a8acb61538235bc1094d297fb6556 rom.z64
|
||||
4e8afbb44e6a4b9bc00eaa318bb1650c code.bin
|
||||
b0145fad4be13d63d5d7aa75062db400 boot.bin
|
||||
4e8afbb44e6a4b9bc00eaa318bb1650c build/code.bin
|
||||
b0145fad4be13d63d5d7aa75062db400 build/boot.bin
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -9,525 +9,12 @@
|
|||
#include <structs.h>
|
||||
#include <stdlib.h>
|
||||
#include <xstdio.h>
|
||||
#include <dmadata.h>
|
||||
|
||||
//extern UNK_TYPE D_0000AB44;
|
||||
//extern UNK_TYPE D_0000ABD4;
|
||||
//extern UNK_TYPE D_0000ABD8;
|
||||
//extern UNK_TYPE D_0000ABDC;
|
||||
//extern UNK_TYPE D_0000ABE0;
|
||||
//extern UNK_TYPE D_0000ABE4;
|
||||
//extern UNK_TYPE D_0000ABE8;
|
||||
//extern UNK_TYPE D_0000ABEC;
|
||||
//extern UNK_TYPE D_0000ABF0;
|
||||
//extern UNK_TYPE D_0000ABF4;
|
||||
//extern UNK_TYPE D_0000ABF8;
|
||||
//extern UNK_TYPE D_0000ABFC;
|
||||
//extern UNK_TYPE D_0000AC00;
|
||||
//extern UNK_TYPE D_0000AC04;
|
||||
//extern UNK_TYPE D_0000AC08;
|
||||
//extern UNK_TYPE D_0000AC0C;
|
||||
//extern UNK_TYPE D_0000E364;
|
||||
//extern UNK_TYPE D_0000E368;
|
||||
//extern UNK_TYPE D_00011880;
|
||||
//extern UNK_TYPE D_00011881;
|
||||
//extern UNK_TYPE D_00011D80;
|
||||
//extern UNK_TYPE D_00011D84;
|
||||
//extern UNK_TYPE D_00011D88;
|
||||
//extern UNK_TYPE D_00011EF8;
|
||||
//extern UNK_TYPE D_00011F00;
|
||||
//extern UNK_TYPE D_00011F02;
|
||||
//extern UNK_TYPE D_00011F04;
|
||||
//extern UNK_TYPE D_00011F06;
|
||||
//extern UNK_TYPE D_00011F08;
|
||||
//extern UNK_TYPE D_00011F0A;
|
||||
//extern UNK_TYPE D_00011F0B;
|
||||
//extern UNK_TYPE D_00011F0C;
|
||||
//extern UNK_TYPE D_00011F10;
|
||||
//extern UNK_TYPE D_00011F14;
|
||||
//extern UNK_TYPE D_00011F16;
|
||||
//extern UNK_TYPE D_00011F18;
|
||||
//extern UNK_TYPE D_00011F22;
|
||||
//extern UNK_TYPE D_00011F24;
|
||||
//extern UNK_TYPE D_00011F26;
|
||||
//extern UNK_TYPE D_00011F2E;
|
||||
//extern UNK_TYPE D_00011F30;
|
||||
//extern UNK_TYPE D_00011F32;
|
||||
//extern UNK_TYPE D_00011F34;
|
||||
//extern UNK_TYPE D_00011F54;
|
||||
//extern UNK_TYPE D_00011F56;
|
||||
//extern UNK_TYPE D_00011F58;
|
||||
//extern UNK_TYPE D_00011F5A;
|
||||
//extern UNK_TYPE D_00011F5C;
|
||||
//extern UNK_TYPE D_00011F60;
|
||||
//extern UNK_TYPE D_00011F64;
|
||||
//extern UNK_TYPE D_00011F66;
|
||||
//extern UNK_TYPE D_00011F68;
|
||||
//extern UNK_TYPE D_00011F6A;
|
||||
//extern UNK_TYPE D_00011F6C;
|
||||
//extern UNK_TYPE D_00011F6E;
|
||||
//extern UNK_TYPE D_00011F70;
|
||||
//extern UNK_TYPE D_00011F72;
|
||||
//extern UNK_TYPE D_00011FEC;
|
||||
//extern UNK_TYPE D_00011FEE;
|
||||
//extern UNK_TYPE D_00011FF0;
|
||||
//extern UNK_TYPE D_00011FF2;
|
||||
//extern UNK_TYPE D_00011FF4;
|
||||
//extern UNK_TYPE D_00011FF6;
|
||||
//extern UNK_TYPE D_00011FF8;
|
||||
//extern UNK_TYPE D_00011FFA;
|
||||
//extern UNK_TYPE D_00011FFC;
|
||||
//extern UNK_TYPE D_00012004;
|
||||
//extern UNK_TYPE D_00012006;
|
||||
//extern UNK_TYPE D_00012008;
|
||||
//extern UNK_TYPE D_0001200A;
|
||||
//extern UNK_TYPE D_0001200C;
|
||||
//extern UNK_TYPE D_0001200E;
|
||||
//extern UNK_TYPE D_00012010;
|
||||
//extern UNK_TYPE D_00012012;
|
||||
//extern UNK_TYPE D_00012014;
|
||||
//extern UNK_TYPE D_00012016;
|
||||
//extern UNK_TYPE D_00012018;
|
||||
//extern UNK_TYPE D_0001201A;
|
||||
//extern UNK_TYPE D_0001201C;
|
||||
//extern UNK_TYPE D_0001201E;
|
||||
//extern UNK_TYPE D_00012020;
|
||||
//extern UNK_TYPE D_00012021;
|
||||
//extern UNK_TYPE D_00012022;
|
||||
//extern UNK_TYPE D_00012023;
|
||||
//extern UNK_TYPE D_00012024;
|
||||
//extern UNK_TYPE D_00012026;
|
||||
//extern UNK_TYPE D_00012028;
|
||||
//extern UNK_TYPE D_0001202C;
|
||||
//extern UNK_TYPE D_0001202E;
|
||||
//extern UNK_TYPE D_00012034;
|
||||
//extern UNK_TYPE D_00012036;
|
||||
//extern UNK_TYPE D_00012038;
|
||||
//extern UNK_TYPE D_0001203A;
|
||||
//extern UNK_TYPE D_0001203C;
|
||||
//extern UNK_TYPE D_00012040;
|
||||
//extern UNK_TYPE D_00012048;
|
||||
//extern UNK_TYPE D_00012068;
|
||||
//extern UNK_TYPE D_0001206A;
|
||||
//extern UNK_TYPE D_0001206C;
|
||||
//extern UNK_TYPE D_00012070;
|
||||
//extern UNK_TYPE D_00012074;
|
||||
//extern UNK_TYPE D_00012078;
|
||||
//extern UNK_TYPE D_00012090;
|
||||
//extern UNK_TYPE D_00012092;
|
||||
//extern UNK_TYPE D_00012094;
|
||||
//extern UNK_TYPE D_00012098;
|
||||
//extern UNK_TYPE D_0001209C;
|
||||
//extern UNK_TYPE D_000120A0;
|
||||
//extern UNK_TYPE D_000120A8;
|
||||
//extern UNK_TYPE D_000120AA;
|
||||
//extern UNK_TYPE D_000120AC;
|
||||
//extern UNK_TYPE D_000120AE;
|
||||
//extern UNK_TYPE D_000120B0;
|
||||
//extern UNK_TYPE D_000120B1;
|
||||
//extern UNK_TYPE D_000120BE;
|
||||
//extern UNK_TYPE D_000120C0;
|
||||
//extern UNK_TYPE D_000120C2;
|
||||
//extern UNK_TYPE D_000120C4;
|
||||
//extern UNK_TYPE D_000120C8;
|
||||
//extern UNK_TYPE D_000120CA;
|
||||
//extern UNK_TYPE D_000120CC;
|
||||
//extern UNK_TYPE D_000120CE;
|
||||
//extern UNK_TYPE D_000120D0;
|
||||
//extern UNK_TYPE D_000120D2;
|
||||
//extern UNK_TYPE D_000120D4;
|
||||
//extern UNK_TYPE D_000120D6;
|
||||
//extern UNK_TYPE D_000120D8;
|
||||
//extern UNK_TYPE D_000167F8;
|
||||
//extern UNK_TYPE D_0001680C;
|
||||
//extern UNK_TYPE D_00016818;
|
||||
//extern UNK_TYPE D_0001681C;
|
||||
//extern UNK_TYPE D_0001682A;
|
||||
//extern UNK_TYPE D_000168FC;
|
||||
//extern UNK_TYPE D_000168FE;
|
||||
//extern UNK_TYPE D_0001691E;
|
||||
//extern UNK_TYPE D_00016929;
|
||||
//extern UNK_TYPE D_0001692B;
|
||||
//extern UNK_TYPE D_0001692C;
|
||||
//extern UNK_TYPE D_0001692E;
|
||||
//extern UNK_TYPE D_00016932;
|
||||
//extern UNK_TYPE D_00016934;
|
||||
//extern UNK_TYPE D_00016938;
|
||||
//extern UNK_TYPE D_0001694C;
|
||||
//extern UNK_TYPE D_0001694E;
|
||||
//extern UNK_TYPE D_00016950;
|
||||
//extern UNK_TYPE D_00016974;
|
||||
//extern UNK_TYPE D_00016980;
|
||||
//extern UNK_TYPE D_00016984;
|
||||
//extern UNK_TYPE D_0001698C;
|
||||
//extern UNK_TYPE D_00016994;
|
||||
//extern UNK_TYPE D_00016998;
|
||||
//extern UNK_TYPE D_000169A0;
|
||||
//extern UNK_TYPE D_000169A4;
|
||||
//extern UNK_TYPE D_000169A8;
|
||||
//extern UNK_TYPE D_000169AC;
|
||||
//extern UNK_TYPE D_000169AE;
|
||||
//extern UNK_TYPE D_000169B8;
|
||||
//extern UNK_TYPE D_000169B9;
|
||||
//extern UNK_TYPE D_000169C4;
|
||||
//extern UNK_TYPE D_000169DC;
|
||||
//extern UNK_TYPE D_000169DE;
|
||||
//extern UNK_TYPE D_00016B58;
|
||||
//extern UNK_TYPE D_00016B5C;
|
||||
//extern UNK_TYPE D_00016BFA;
|
||||
//extern UNK_TYPE D_00016BFC;
|
||||
//extern UNK_TYPE D_00016C04;
|
||||
//extern UNK_TYPE D_00016C06;
|
||||
//extern UNK_TYPE D_00016C0A;
|
||||
//extern UNK_TYPE D_00016C0C;
|
||||
//extern UNK_TYPE D_00016C0E;
|
||||
//extern UNK_TYPE D_00016C36;
|
||||
//extern UNK_TYPE D_00016C38;
|
||||
//extern UNK_TYPE D_00016C40;
|
||||
//extern UNK_TYPE D_00016C42;
|
||||
//extern UNK_TYPE D_00016C44;
|
||||
//extern UNK_TYPE D_00016C46;
|
||||
//extern UNK_TYPE D_00016C48;
|
||||
//extern UNK_TYPE D_00016C4E;
|
||||
//extern UNK_TYPE D_00016C50;
|
||||
//extern UNK_TYPE D_00016C5C;
|
||||
//extern UNK_TYPE D_00016C66;
|
||||
//extern UNK_TYPE D_00016C68;
|
||||
//extern UNK_TYPE D_00016C6E;
|
||||
//extern UNK_TYPE D_00016CEC;
|
||||
//extern UNK_TYPE D_00016CFA;
|
||||
//extern UNK_TYPE D_00016CFB;
|
||||
//extern UNK_TYPE D_00016CFC;
|
||||
//extern UNK_TYPE D_00016CFD;
|
||||
//extern UNK_TYPE D_00016D02;
|
||||
//extern UNK_TYPE D_00016D03;
|
||||
//extern UNK_TYPE D_00016D04;
|
||||
//extern UNK_TYPE D_00016F1C;
|
||||
//extern UNK_TYPE D_00016F1E;
|
||||
//extern UNK_TYPE D_00016F20;
|
||||
//extern UNK_TYPE D_00016F30;
|
||||
//extern UNK_TYPE D_00016F34;
|
||||
//extern UNK_TYPE D_00016F54;
|
||||
//extern UNK_TYPE D_00016F70;
|
||||
//extern UNK_TYPE D_00016F86;
|
||||
//extern UNK_TYPE D_00016F8E;
|
||||
//extern UNK_TYPE D_00016FB4;
|
||||
//extern UNK_TYPE D_00016FE9;
|
||||
//extern UNK_TYPE D_00017000;
|
||||
//extern UNK_TYPE D_00017006;
|
||||
//extern UNK_TYPE D_00017008;
|
||||
//extern UNK_TYPE D_0001700C;
|
||||
//extern UNK_TYPE D_00017010;
|
||||
//extern UNK_TYPE D_00017014;
|
||||
//extern UNK_TYPE D_00017019;
|
||||
//extern UNK_TYPE D_0001701A;
|
||||
//extern UNK_TYPE D_0001701B;
|
||||
//extern UNK_TYPE D_0001701C;
|
||||
//extern UNK_TYPE D_0001701D;
|
||||
//extern UNK_TYPE D_0001701E;
|
||||
//extern UNK_TYPE D_00017022;
|
||||
//extern UNK_TYPE D_00017023;
|
||||
//extern UNK_TYPE D_00017024;
|
||||
//extern UNK_TYPE D_00017025;
|
||||
//extern UNK_TYPE D_00017026;
|
||||
//extern UNK_TYPE D_00017028;
|
||||
//extern UNK_TYPE D_000170A8;
|
||||
//extern UNK_TYPE D_000170AA;
|
||||
//extern UNK_TYPE D_000170B0;
|
||||
//extern UNK_TYPE D_000170B2;
|
||||
//extern UNK_TYPE D_000170B4;
|
||||
//extern UNK_TYPE D_000170B8;
|
||||
//extern UNK_TYPE D_000170BC;
|
||||
//extern UNK_TYPE D_000170C0;
|
||||
//extern UNK_TYPE D_000170C4;
|
||||
//extern UNK_TYPE D_000170C5;
|
||||
//extern UNK_TYPE D_000170C6;
|
||||
//extern UNK_TYPE D_000170C7;
|
||||
//extern UNK_TYPE D_000170E0;
|
||||
//extern UNK_TYPE D_000170E4;
|
||||
//extern UNK_TYPE D_000170E5;
|
||||
//extern UNK_TYPE D_000170E6;
|
||||
//extern UNK_TYPE D_000170E7;
|
||||
//extern UNK_TYPE D_000170E8;
|
||||
//extern UNK_TYPE D_000170E9;
|
||||
//extern UNK_TYPE D_000170ED;
|
||||
//extern UNK_TYPE D_000170EE;
|
||||
//extern UNK_TYPE D_000170EF;
|
||||
//extern UNK_TYPE D_000170F0;
|
||||
//extern UNK_TYPE D_000170F6;
|
||||
//extern UNK_TYPE D_000170F7;
|
||||
//extern UNK_TYPE D_000170F8;
|
||||
//extern UNK_TYPE D_000170F9;
|
||||
//extern UNK_TYPE D_000170FA;
|
||||
//extern UNK_TYPE D_00017D88;
|
||||
//extern UNK_TYPE D_00017D90;
|
||||
//extern UNK_TYPE D_00017D91;
|
||||
//extern UNK_TYPE D_00017D93;
|
||||
//extern UNK_TYPE D_00017D98;
|
||||
//extern UNK_TYPE D_00017DDC;
|
||||
//extern UNK_TYPE D_000186E0;
|
||||
//extern UNK_TYPE D_000186E2;
|
||||
//extern UNK_TYPE D_000186E3;
|
||||
//extern UNK_TYPE D_000186E4;
|
||||
//extern UNK_TYPE D_000186E5;
|
||||
//extern UNK_TYPE D_000186E6;
|
||||
//extern UNK_TYPE D_000186E8;
|
||||
//extern UNK_TYPE D_000186EC;
|
||||
//extern UNK_TYPE D_000186F4;
|
||||
//extern UNK_TYPE D_00018700;
|
||||
//extern UNK_TYPE D_00018711;
|
||||
//extern UNK_TYPE D_00018754;
|
||||
//extern UNK_TYPE D_00018758;
|
||||
//extern UNK_TYPE D_0001875A;
|
||||
//extern UNK_TYPE D_0001875C;
|
||||
//extern UNK_TYPE D_00018760;
|
||||
//extern UNK_TYPE D_00018764;
|
||||
//extern UNK_TYPE D_00018768;
|
||||
//extern UNK_TYPE D_0001876C;
|
||||
//extern UNK_TYPE D_00018770;
|
||||
//extern UNK_TYPE D_00018774;
|
||||
//extern UNK_TYPE D_00018778;
|
||||
//extern UNK_TYPE D_0001877C;
|
||||
//extern UNK_TYPE D_00018780;
|
||||
//extern UNK_TYPE D_00018784;
|
||||
//extern UNK_TYPE D_00018788;
|
||||
//extern UNK_TYPE D_0001878C;
|
||||
//extern UNK_TYPE D_00018790;
|
||||
//extern UNK_TYPE D_00018794;
|
||||
//extern UNK_TYPE D_00018798;
|
||||
//extern UNK_TYPE D_0001879C;
|
||||
//extern UNK_TYPE D_0001879E;
|
||||
//extern UNK_TYPE D_000187A0;
|
||||
//extern UNK_TYPE D_000187A2;
|
||||
//extern UNK_TYPE D_000187A4;
|
||||
//extern UNK_TYPE D_000187A6;
|
||||
//extern UNK_TYPE D_000187A8;
|
||||
//extern UNK_TYPE D_000187AA;
|
||||
//extern UNK_TYPE D_000187AC;
|
||||
//extern UNK_TYPE D_000187F0;
|
||||
//extern UNK_TYPE D_000187F4;
|
||||
//extern UNK_TYPE D_000187F8;
|
||||
//extern UNK_TYPE D_0001883C;
|
||||
//extern UNK_TYPE D_00018840;
|
||||
//extern UNK_TYPE D_00018844;
|
||||
//extern UNK_TYPE D_00018845;
|
||||
//extern UNK_TYPE D_00018846;
|
||||
//extern UNK_TYPE D_00018848;
|
||||
//extern UNK_TYPE D_0001884C;
|
||||
//extern UNK_TYPE D_00018850;
|
||||
//extern UNK_TYPE D_00018854;
|
||||
//extern UNK_TYPE D_00018858;
|
||||
//extern UNK_TYPE D_0001885C;
|
||||
//extern UNK_TYPE D_00018860;
|
||||
//extern UNK_TYPE D_00018864;
|
||||
//extern UNK_TYPE D_00018868;
|
||||
//extern UNK_TYPE D_0001886C;
|
||||
//extern UNK_TYPE D_00018870;
|
||||
//extern UNK_TYPE D_00018874;
|
||||
//extern UNK_TYPE D_00018875;
|
||||
//extern UNK_TYPE D_00018876;
|
||||
//extern UNK_TYPE D_00018878;
|
||||
//extern UNK_TYPE D_0001887A;
|
||||
//extern UNK_TYPE D_0001887C;
|
||||
//extern UNK_TYPE D_0001887D;
|
||||
//extern UNK_TYPE D_0001887E;
|
||||
//extern UNK_TYPE D_0001887F;
|
||||
//extern UNK_TYPE D_00018880;
|
||||
//extern UNK_TYPE D_00018B20;
|
||||
//extern UNK_TYPE D_00018B48;
|
||||
//extern UNK_TYPE D_00018B49;
|
||||
//extern UNK_TYPE D_00018B4A;
|
||||
//extern UNK_TYPE D_00018B60;
|
||||
//extern UNK_TYPE D_00018B64;
|
||||
//extern UNK_TYPE D_00018BF0;
|
||||
//extern UNK_TYPE D_00018BF2;
|
||||
//extern UNK_TYPE D_00018E54;
|
||||
//extern UNK_TYPE D_00018E58;
|
||||
//extern UNK_TYPE D_00018E5C;
|
||||
//extern UNK_TYPE D_00018E60;
|
||||
//extern UNK_TYPE D_00018E64;
|
||||
//extern UNK_TYPE D_00018E68;
|
||||
extern u32 dmadataRomStart; // D_0001A500
|
||||
//extern UNK_TYPE D_00020308;
|
||||
extern u32 dmadataRomEnd; // D_00020700
|
||||
//extern UNK_TYPE D_000242F3;
|
||||
//extern UNK_TYPE D_00024413;
|
||||
//extern UNK_TYPE D_00024414;
|
||||
//extern UNK_TYPE D_0002446A;
|
||||
//extern UNK_TYPE D_0002446C;
|
||||
//extern UNK_TYPE D_00024480;
|
||||
//extern UNK_TYPE D_00024482;
|
||||
//extern UNK_TYPE D_00024484;
|
||||
//extern UNK_TYPE D_00024486;
|
||||
//extern UNK_TYPE D_00024488;
|
||||
//extern UNK_TYPE D_0002448A;
|
||||
//extern UNK_TYPE D_0002448C;
|
||||
//extern UNK_TYPE D_0002448E;
|
||||
//extern UNK_TYPE D_00024498;
|
||||
//extern UNK_TYPE D_000244A6;
|
||||
//extern UNK_TYPE D_000244A8;
|
||||
//extern UNK_TYPE D_000244AA;
|
||||
//extern UNK_TYPE D_000244AC;
|
||||
//extern UNK_TYPE D_000244AE;
|
||||
//extern UNK_TYPE D_000244BA;
|
||||
//extern UNK_TYPE D_000244CE;
|
||||
//extern UNK_TYPE D_000244E2;
|
||||
//extern UNK_TYPE D_000244E4;
|
||||
//extern UNK_TYPE D_000244E6;
|
||||
//extern UNK_TYPE D_000244E8;
|
||||
//extern UNK_TYPE D_000244F2;
|
||||
//extern UNK_TYPE D_000244F4;
|
||||
//extern UNK_TYPE D_000244FA;
|
||||
//extern UNK_TYPE D_000244FC;
|
||||
//extern UNK_TYPE D_000244FE;
|
||||
//extern UNK_TYPE D_00024500;
|
||||
//extern UNK_TYPE D_00024502;
|
||||
//extern UNK_TYPE D_00024504;
|
||||
//extern UNK_TYPE D_00024506;
|
||||
//extern UNK_TYPE D_00024508;
|
||||
//extern UNK_TYPE D_0002450A;
|
||||
//extern UNK_TYPE D_0002450C;
|
||||
//extern UNK_TYPE D_00024510;
|
||||
//extern UNK_TYPE D_00024512;
|
||||
//extern UNK_TYPE D_00024514;
|
||||
//extern UNK_TYPE D_00024516;
|
||||
//extern UNK_TYPE D_00024518;
|
||||
//extern UNK_TYPE D_0002451A;
|
||||
//extern UNK_TYPE D_0002451C;
|
||||
//extern UNK_TYPE D_0002451E;
|
||||
//extern UNK_TYPE D_00024528;
|
||||
//extern UNK_TYPE D_00046AF0;
|
||||
//extern UNK_TYPE D_00080028;
|
||||
//extern UNK_TYPE D_00097F70;
|
||||
//extern UNK_TYPE D_000FFFFC;
|
||||
//extern UNK_TYPE D_001ABAB0;
|
||||
//extern UNK_TYPE D_001E3BB0;
|
||||
//extern UNK_TYPE D_0065D000;
|
||||
//extern UNK_TYPE D_00957000;
|
||||
//extern UNK_TYPE D_009ECEC0;
|
||||
//extern UNK_TYPE D_009ED000;
|
||||
//extern UNK_TYPE D_009F4700;
|
||||
//extern UNK_TYPE D_009F5000;
|
||||
//extern UNK_TYPE D_00A09AF0;
|
||||
//extern UNK_TYPE D_00A0A000;
|
||||
//extern UNK_TYPE D_00A0EB80;
|
||||
//extern UNK_TYPE D_00A0F000;
|
||||
//extern UNK_TYPE D_00A12300;
|
||||
//extern UNK_TYPE D_00A13000;
|
||||
//extern UNK_TYPE D_00A1BA00;
|
||||
//extern UNK_TYPE D_00A1C000;
|
||||
//extern UNK_TYPE D_00A1C2E0;
|
||||
//extern UNK_TYPE D_00A1D000;
|
||||
//extern UNK_TYPE D_00A1E310;
|
||||
//extern UNK_TYPE D_00A27660;
|
||||
//extern UNK_TYPE D_00A352F0;
|
||||
//extern UNK_TYPE D_00A36C10;
|
||||
//extern UNK_TYPE D_00A7BEE0;
|
||||
//extern UNK_TYPE D_00A807A0;
|
||||
//extern UNK_TYPE D_00A8C000;
|
||||
//extern UNK_TYPE D_00A92A10;
|
||||
//extern UNK_TYPE D_00A990E0;
|
||||
//extern UNK_TYPE D_00A9A000;
|
||||
//extern UNK_TYPE D_00ABFC00;
|
||||
//extern UNK_TYPE D_00AC0000;
|
||||
//extern UNK_TYPE D_00AC0480;
|
||||
extern UNK_TYPE D_00AC4000; // D_00AC4000
|
||||
//extern UNK_TYPE D_00ACA000;
|
||||
extern UNK_TYPE D_00ACC000; // D_00ACC000
|
||||
//extern UNK_TYPE D_00AD1000;
|
||||
//extern UNK_TYPE D_00B3B000;
|
||||
extern UNK_TYPE D_00B3C000; // D_00B3C000
|
||||
extern UNK_TYPE D_00C7A4E0; // D_00C7A4E0
|
||||
//extern UNK_TYPE D_01000000;
|
||||
//extern UNK_TYPE D_01000680;
|
||||
//extern UNK_TYPE D_01001280;
|
||||
//extern UNK_TYPE D_01001800;
|
||||
//extern UNK_TYPE D_01002720;
|
||||
//extern UNK_TYPE D_01002800;
|
||||
//extern UNK_TYPE D_01007980;
|
||||
//extern UNK_TYPE D_010220B0;
|
||||
//extern UNK_TYPE D_010277B0;
|
||||
//extern UNK_TYPE D_0102A030;
|
||||
//extern UNK_TYPE D_0102A6B0;
|
||||
//extern UNK_TYPE D_0102A7B0;
|
||||
//extern UNK_TYPE D_0102AAB0;
|
||||
//extern UNK_TYPE D_0102B170;
|
||||
//extern UNK_TYPE D_0102B3B0;
|
||||
//extern UNK_TYPE D_0102B8F0;
|
||||
//extern UNK_TYPE D_0102FCB0;
|
||||
//extern UNK_TYPE D_010308F0;
|
||||
//extern UNK_TYPE D_010310F0;
|
||||
//extern UNK_TYPE D_010311F0;
|
||||
//extern UNK_TYPE D_01031408;
|
||||
//extern UNK_TYPE D_01031618;
|
||||
//extern UNK_TYPE D_01E85000;
|
||||
//extern UNK_TYPE D_01E87DC0;
|
||||
//extern UNK_TYPE D_01E88000;
|
||||
//extern UNK_TYPE D_01EB9730;
|
||||
//extern UNK_TYPE D_01EBA000;
|
||||
//extern UNK_TYPE D_01EBC000;
|
||||
//extern UNK_TYPE D_01EBD000;
|
||||
//extern UNK_TYPE D_01EC8B20;
|
||||
//extern UNK_TYPE D_01EC9000;
|
||||
//extern UNK_TYPE D_01ECA000;
|
||||
//extern UNK_TYPE D_01ED3B00;
|
||||
//extern UNK_TYPE D_01EF2000;
|
||||
//extern UNK_TYPE D_01EFE000;
|
||||
//extern UNK_TYPE D_01F0A000;
|
||||
//extern UNK_TYPE D_01F0A200;
|
||||
extern UNK_TYPE D_060005D0; // D_060005D0
|
||||
extern UNK_TYPE D_06001100; // D_06001100
|
||||
extern UNK_TYPE D_06001228; // D_06001228
|
||||
extern UNK_TYPE D_06002D30; // D_06002D30
|
||||
//extern UNK_TYPE D_11000A70;
|
||||
//extern UNK_TYPE D_11111111;
|
||||
//extern UNK_TYPE D_3CFFED40;
|
||||
//extern UNK_TYPE D_3E7FDDD0;
|
||||
//extern UNK_TYPE D_3EBF9330;
|
||||
//extern UNK_TYPE D_3EFFD880;
|
||||
//extern UNK_TYPE D_3EFFF764;
|
||||
//extern UNK_TYPE D_3F7FCDC0;
|
||||
//extern UNK_TYPE D_3F7FCE80;
|
||||
//extern UNK_TYPE D_3F7FCEA0;
|
||||
//extern UNK_TYPE D_3F7FE3F0;
|
||||
//extern UNK_TYPE D_3F7FEBB4;
|
||||
//extern UNK_TYPE D_3F800CEC;
|
||||
//extern UNK_TYPE D_3F806764;
|
||||
//extern UNK_TYPE D_3F80679C;
|
||||
//extern UNK_TYPE D_3F8071B0;
|
||||
//extern UNK_TYPE D_3F8071B8;
|
||||
//extern UNK_TYPE D_3F8071C0;
|
||||
//extern UNK_TYPE D_3F9FE9B4;
|
||||
//extern UNK_TYPE D_403F8BAC;
|
||||
//extern UNK_TYPE D_407F83D0;
|
||||
//extern UNK_TYPE D_411FDAA0;
|
||||
//extern UNK_TYPE D_411FDBFC;
|
||||
//extern UNK_TYPE D_412022F0;
|
||||
//extern UNK_TYPE D_41204208;
|
||||
//extern UNK_TYPE D_412060B8;
|
||||
//extern UNK_TYPE D_416FD0CC;
|
||||
//extern UNK_TYPE D_419FB50C;
|
||||
//extern UNK_TYPE D_41AFAD08;
|
||||
//extern UNK_TYPE D_421FFBA8;
|
||||
//extern UNK_TYPE D_4248099C;
|
||||
//extern UNK_TYPE D_428C2BD1;
|
||||
//extern UNK_TYPE D_429FC358;
|
||||
//extern UNK_TYPE D_429FFF58;
|
||||
//extern UNK_TYPE D_42A00B10;
|
||||
//extern UNK_TYPE D_42A05D1C;
|
||||
//extern UNK_TYPE D_42B42BC9;
|
||||
//extern UNK_TYPE D_42EFD968;
|
||||
//extern UNK_TYPE D_43162BC9;
|
||||
//extern UNK_TYPE D_4347E450;
|
||||
//extern UNK_TYPE D_4390DC8C;
|
||||
//extern UNK_TYPE D_4390DC90;
|
||||
//extern UNK_TYPE D_439B22F4;
|
||||
//extern UNK_TYPE D_439B420C;
|
||||
//extern UNK_TYPE D_439B60BC;
|
||||
//extern UNK_TYPE D_43C7ED84;
|
||||
//extern UNK_TYPE D_43F9FB94;
|
||||
//extern UNK_TYPE D_43F9FBB4;
|
||||
//extern UNK_TYPE D_46FFCED0;
|
||||
//extern UNK_TYPE D_47803510;
|
||||
//extern UNK_TYPE D_80000000;
|
||||
extern UNK_TYPE osTvType; // D_80000300
|
||||
extern UNK_TYPE osRomType; // D_80000304
|
||||
|
|
|
@ -37,8 +37,8 @@ UNK_RET func_80080250(void) {
|
|||
|
||||
osCreateMesgQueue(&sp30, &sp2C, 1);
|
||||
|
||||
v1 = &D_00B3C000;
|
||||
t7 = &D_00C7A4E0;
|
||||
v1 = &code_vrom_start;
|
||||
t7 = &code_vrom_end;
|
||||
v0 = &D_80096B50;
|
||||
sp28 = *v0;
|
||||
*v0 = 0;
|
||||
|
|
|
@ -223,7 +223,7 @@ void Dmamgr_Start() {
|
|||
DmadataEntry* v0;
|
||||
u32 v1;
|
||||
// TODO register load ordering is wrong
|
||||
Dmamgr_DoDmaTransfer(&dmadataRomStart, dmadata, (u8*)&dmadataRomEnd - (u8*)&dmadataRomStart);
|
||||
Dmamgr_DoDmaTransfer(&dmadata_vrom_start, dmadata, (u8*)&dmadata_vrom_end - (u8*)&dmadata_vrom_start);
|
||||
|
||||
for (v0 = dmadata, v1 = 0; v0->vromEnd != 0; v0++, v1++);
|
||||
|
||||
|
|
|
@ -4,3 +4,4 @@ boot_0x800968B0
|
|||
z_std_dma
|
||||
z_effect_soft_sprite
|
||||
z_lib
|
||||
z_actor
|
||||
|
|
|
@ -1,15 +1,77 @@
|
|||
# Follows the format of Address:(Name, Type, Is Array)
|
||||
{
|
||||
0x0001A500:("dmadataRomStart","u32",False), # Start of dmadata
|
||||
0x00020700:("dmadataRomEnd","u32",False), # Byte immediately after end of dmadata
|
||||
0x00AC4000:("","UNK_TYPE",False), # this seems low
|
||||
0x00ACC000:("","UNK_TYPE",False), # this seems low
|
||||
0x00B3C000:("","UNK_TYPE",False), # this seems low
|
||||
0x00C7A4E0:("","UNK_TYPE",False), # this seems low
|
||||
0x060005D0:("","UNK_TYPE",False), # this seems low
|
||||
0x06001100:("","UNK_TYPE",False), # this seems low
|
||||
0x06001228:("","UNK_TYPE",False), # this seems low
|
||||
0x06002D30:("","UNK_TYPE",False), # this seems low
|
||||
# NOTE These symbols could be one of two symbols: the start of a file or the end of a file before it.
|
||||
# The choice for disassembly is arbitrary but in code it should be the one that makes sense.
|
||||
0x0001A500:("dmadata_vrom_start","u32",False), # Start of dmadata
|
||||
0x00020700:("dmadata_vrom_end","u32",False), # Byte immediately after end of dmadata
|
||||
0x00046AF0:("Audioseq_vrom_start","UNK_TYPE",False),
|
||||
0x00097F70:("Audioseq_vrom_end","UNK_TYPE",False),
|
||||
0x0065D000:("link_animetion_vrom_start","UNK_TYPE",False),
|
||||
0x00957000:("","UNK_TYPE",False), # ovl_kaleido_scope uses this. It is the start of vrom for a null entry in dmadata???
|
||||
0x009ECEC0:("","UNK_TYPE",False), # ovl_kaleido_scope uses this. It is the end of vrom for a null entry in dmadata???
|
||||
0x009ED000:("","UNK_TYPE",False), # ovl_kaleido_scope uses this. It is the start of vrom for a null entry in dmadata???
|
||||
0x009F4700:("","UNK_TYPE",False), # ovl_kaleido_scope uses this. It is the end of vrom for a null entry in dmadata???
|
||||
0x009F5000:("icon_item_field_static_vrom_start","UNK_TYPE",False),
|
||||
0x00A09AF0:("icon_item_field_static_vrom_end","UNK_TYPE",False),
|
||||
0x00A0A000:("icon_item_dungeon_static_vrom_start","UNK_TYPE",False),
|
||||
0x00A0EB80:("icon_item_dungeon_static_vrom_end","UNK_TYPE",False),
|
||||
0x00A0F000:("icon_item_gameover_static_vrom_start","UNK_TYPE",False),
|
||||
0x00A12300:("icon_item_gameover_static_vrom_end","UNK_TYPE",False),
|
||||
0x00A13000:("_013_0x00963540_vrom_start","UNK_TYPE",False),
|
||||
0x00A1BA00:("_013_0x00963540_vrom_end","UNK_TYPE",False),
|
||||
0x00A1C000:("_014_0x00967260_vrom_start","UNK_TYPE",False),
|
||||
0x00A1C2E0:("_014_0x00967260_vrom_end","UNK_TYPE",False),
|
||||
0x00A1D000:("map_i_static_vrom_start","UNK_TYPE",False),
|
||||
0x00A1E310:("map_grand_static_vrom_start","UNK_TYPE",False),
|
||||
0x00A27660:("item_name_static_vrom_start","UNK_TYPE",False),
|
||||
0x00A352F0:("map_name_static_vrom_start","UNK_TYPE",False),
|
||||
0x00A36C10:("_019_0x00980f60_vrom_start","UNK_TYPE",False),
|
||||
0x00A7BEE0:("_020_0x009c6230_vrom_start","UNK_TYPE",False),
|
||||
0x00A807A0:("_020_0x009c6230_vrom_end","UNK_TYPE",False),
|
||||
0x00A8C000:("_022_0x009caaf0_vrom_start","UNK_TYPE",False),
|
||||
0x00A92A10:("_023_0x009d1500_vrom_start","UNK_TYPE",False),
|
||||
0x00A990E0:("_023_0x009d1500_vrom_end","UNK_TYPE",False),
|
||||
0x00A9A000:("_024_0x009d3760_vrom_start","UNK_TYPE",False),
|
||||
0x00ABFC00:("_024_0x009d3760_vrom_end","UNK_TYPE",False),
|
||||
0x00AC0000:("do_action_static_vrom_start","UNK_TYPE",False),
|
||||
0x00AC4000:("message_static_vrom_start","UNK_TYPE",False),
|
||||
0x00ACA000:("message_texture_static_vrom_start","UNK_TYPE",False),
|
||||
0x00ACC000:("nes_font_static_vrom_start","UNK_TYPE",False),
|
||||
0x00AD1000:("en_message_data_static_vrom_start","UNK_TYPE",False),
|
||||
0x00B3B000:("staff_message_data_static_vrom_start","UNK_TYPE",False),
|
||||
0x00B3C000:("code_vrom_start","UNK_TYPE",False),
|
||||
0x00C7A4E0:("code_vrom_end","UNK_TYPE",False),
|
||||
0x01E85000:("nintendo_rogo_static_vrom_start","UNK_TYPE",False),
|
||||
0x01E87DC0:("nintendo_rogo_static_vrom_end","UNK_TYPE",False),
|
||||
0x01E88000:("title_static_vrom_start","UNK_TYPE",False),
|
||||
0x01EB9730:("title_static_vrom_end","UNK_TYPE",False),
|
||||
0x01EBA000:("_1124_0x0163f490_vrom_start","UNK_TYPE",False),
|
||||
0x01EBB280:("_1124_0x0163f490_vrom_end","UNK_TYPE",False),
|
||||
0x01EBC000:("_1125_0x0163fc10_vrom_start","UNK_TYPE",False),
|
||||
0x01EBC680:("_1125_0x0163fc10_vrom_end","UNK_TYPE",False),
|
||||
0x01EBD000:("_1126_0x0163ffc0_vrom_start","UNK_TYPE",False),
|
||||
0x01EC8B20:("_1126_0x0163ffc0_vrom_end","UNK_TYPE",False),
|
||||
0x01EC9000:("_1127_0x01643d50_vrom_start","UNK_TYPE",False),
|
||||
0x01EC9F30:("_1127_0x01643d50_vrom_end","UNK_TYPE",False),
|
||||
0x01ECA000:("_1128_0x01644c80_vrom_start","UNK_TYPE",False),
|
||||
0x01ED3B00:("_1128_0x01644c80_vrom_end","UNK_TYPE",False),
|
||||
0x01ED4000:("_1129_0x01646b60_vrom_start","UNK_TYPE",False),
|
||||
0x01EDDB00:("_1129_0x01646b60_vrom_end","UNK_TYPE",False),
|
||||
0x01EDE000:("_1130_0x01649020_vrom_start","UNK_TYPE",False),
|
||||
0x01EE7B00:("_1130_0x01649020_vrom_end","UNK_TYPE",False),
|
||||
0x01EE8000:("_1131_0x0164ad90_vrom_start","UNK_TYPE",False),
|
||||
0x01EF1B00:("_1131_0x0164ad90_vrom_end","UNK_TYPE",False),
|
||||
0x01EF2000:("vr_fine_static_vrom_start","UNK_TYPE",False),
|
||||
0x01EFE000:("vr_cloud_static_vrom_start","UNK_TYPE",False),
|
||||
0x01F0A000:("vr_pal_static_vrom_start","UNK_TYPE",False),
|
||||
0x01F0A200:("vr_pal_static_vrom_end","UNK_TYPE",False),
|
||||
|
||||
# TODO These are object addresses.
|
||||
0x060005D0:("","UNK_TYPE",False),
|
||||
0x06001100:("","UNK_TYPE",False),
|
||||
0x06001228:("","UNK_TYPE",False),
|
||||
0x06002D30:("","UNK_TYPE",False),
|
||||
|
||||
0x80000300:("osTvType","UNK_TYPE",False),
|
||||
0x80000304:("osRomType","UNK_TYPE",False),
|
||||
0x80000308:("osRomBase","UNK_TYPE",False),
|
||||
|
|
|
@ -468,7 +468,7 @@ class Disassembler:
|
|||
|
||||
# TODO workaround to avoid classifying loading constants as loading pointers
|
||||
# This unfortunately causes it to not detect object addresses
|
||||
if addr >= 0x2000000 and addr < 0x80000000:
|
||||
if addr < 0x80000000:
|
||||
return
|
||||
|
||||
if self.is_in_data_or_undef(addr):
|
||||
|
@ -481,6 +481,12 @@ class Disassembler:
|
|||
|
||||
elif is_load(next_inst) and (get_rt(cur_inst) == get_rs(next_inst)): # lui + load (load pointer)
|
||||
addr = (get_imm(cur_inst) << 16) + get_signed_imm(next_inst)
|
||||
|
||||
# TODO workaround to avoid classifying loading constants as loading pointers
|
||||
# This unfortunately causes it to not detect object addresses
|
||||
if addr < 0x80000000:
|
||||
return
|
||||
|
||||
if self.is_in_data_or_undef(addr):
|
||||
self.add_variable(addr)
|
||||
else:
|
||||
|
@ -687,9 +693,12 @@ class Disassembler:
|
|||
with open(path + "/variables.h", 'w', newline='\n') as f:
|
||||
f.write("#ifndef _VARIABLES_H_\n#define _VARIABLES_H_\n\n")
|
||||
|
||||
f.write('#include <PR/ultratypes.h>\n#include <osint.h>\n#include <viint.h>\n#include <guint.h>\n#include <unk.h>\n#include <structs.h>\n#include <stdlib.h>\n#include <xstdio.h>\n\n')
|
||||
f.write('#include <PR/ultratypes.h>\n#include <osint.h>\n#include <viint.h>\n#include <guint.h>\n#include <unk.h>\n#include <structs.h>\n#include <stdlib.h>\n#include <xstdio.h>\n#include <dmadata.h>\n\n')
|
||||
|
||||
for addr in sorted(self.vars):
|
||||
if addr < 0x02000000:
|
||||
continue # Don't print out symbols of dmadata files' vrom addresses. These will be defined in another file.
|
||||
|
||||
if addr in known_vars:
|
||||
f.write("extern %s %s%s; // D_%08X\n" % (known_vars[addr][1], self.make_load(addr), "[]" if known_vars[addr][2] else "", addr))
|
||||
else:
|
||||
|
|
|
@ -7,12 +7,15 @@ if __name__ == "__main__":
|
|||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('files', help='file list')
|
||||
parser.add_argument('out', help='output file')
|
||||
parser.add_argument('-l', '--linkscript', help='output linker script for file VROM addresses', metavar='filename')
|
||||
parser.add_argument('-u', '--uncompressed', help='build dmadata from only uncompressed files', action='store_true', default=False)
|
||||
args = parser.parse_args()
|
||||
|
||||
with open(args.out, 'wb') as dmadata, open(args.files, 'r') as files:
|
||||
curr_vrom = 0
|
||||
curr_phys = 0
|
||||
dmadata_table = ast.literal_eval(files.read())
|
||||
linker_info = list()
|
||||
for base_file, comp_file, alignment, size_if_missing in dmadata_table:
|
||||
try:
|
||||
uncompressed = comp_file == ''
|
||||
|
@ -30,7 +33,7 @@ if __name__ == "__main__":
|
|||
phys_size = vrom_size
|
||||
else:
|
||||
vrom_size = os.path.getsize(base_file)
|
||||
if uncompressed:
|
||||
if uncompressed or args.uncompressed:
|
||||
phys_size = vrom_size
|
||||
else:
|
||||
phys_size = os.path.getsize(comp_file)
|
||||
|
@ -59,6 +62,17 @@ if __name__ == "__main__":
|
|||
dmadata.write(vrom_end.to_bytes(4, 'big'))
|
||||
dmadata.write(phys_start.to_bytes(4, 'big'))
|
||||
dmadata.write(phys_end.to_bytes(4, 'big'))
|
||||
|
||||
if base_file != '':
|
||||
linker_info.append((os.path.basename(base_file), vrom_start, vrom_end))
|
||||
except:
|
||||
print('Error when processing entry ' + base_file)
|
||||
sys.exit(1)
|
||||
|
||||
if args.linkscript:
|
||||
with open(args.linkscript, 'w') as file:
|
||||
for name, vrom_start, vrom_end in linker_info:
|
||||
formatted_name = '_' + name if name[0].isdigit() else name
|
||||
file.write('{}_vrom_start = 0x{:08X};\n'.format(formatted_name, vrom_start))
|
||||
file.write('{}_vrom_end = 0x{:08X};\n'.format(formatted_name, vrom_end))
|
||||
file.write('\n')
|
||||
|
|
569
undef.txt
569
undef.txt
|
@ -1,521 +1,70 @@
|
|||
D_0000AB44 = 0x0000AB44;
|
||||
D_0000ABD4 = 0x0000ABD4;
|
||||
D_0000ABD8 = 0x0000ABD8;
|
||||
D_0000ABDC = 0x0000ABDC;
|
||||
D_0000ABE0 = 0x0000ABE0;
|
||||
D_0000ABE4 = 0x0000ABE4;
|
||||
D_0000ABE8 = 0x0000ABE8;
|
||||
D_0000ABEC = 0x0000ABEC;
|
||||
D_0000ABF0 = 0x0000ABF0;
|
||||
D_0000ABF4 = 0x0000ABF4;
|
||||
D_0000ABF8 = 0x0000ABF8;
|
||||
D_0000ABFC = 0x0000ABFC;
|
||||
D_0000AC00 = 0x0000AC00;
|
||||
D_0000AC04 = 0x0000AC04;
|
||||
D_0000AC08 = 0x0000AC08;
|
||||
D_0000AC0C = 0x0000AC0C;
|
||||
D_0000E364 = 0x0000E364;
|
||||
D_0000E368 = 0x0000E368;
|
||||
D_00011880 = 0x00011880;
|
||||
D_00011881 = 0x00011881;
|
||||
D_00011D80 = 0x00011D80;
|
||||
D_00011D84 = 0x00011D84;
|
||||
D_00011D88 = 0x00011D88;
|
||||
D_00011EF8 = 0x00011EF8;
|
||||
D_00011F00 = 0x00011F00;
|
||||
D_00011F02 = 0x00011F02;
|
||||
D_00011F04 = 0x00011F04;
|
||||
D_00011F06 = 0x00011F06;
|
||||
D_00011F08 = 0x00011F08;
|
||||
D_00011F0A = 0x00011F0A;
|
||||
D_00011F0B = 0x00011F0B;
|
||||
D_00011F0C = 0x00011F0C;
|
||||
D_00011F10 = 0x00011F10;
|
||||
D_00011F14 = 0x00011F14;
|
||||
D_00011F16 = 0x00011F16;
|
||||
D_00011F18 = 0x00011F18;
|
||||
D_00011F22 = 0x00011F22;
|
||||
D_00011F24 = 0x00011F24;
|
||||
D_00011F26 = 0x00011F26;
|
||||
D_00011F2E = 0x00011F2E;
|
||||
D_00011F30 = 0x00011F30;
|
||||
D_00011F32 = 0x00011F32;
|
||||
D_00011F34 = 0x00011F34;
|
||||
D_00011F54 = 0x00011F54;
|
||||
D_00011F56 = 0x00011F56;
|
||||
D_00011F58 = 0x00011F58;
|
||||
D_00011F5A = 0x00011F5A;
|
||||
D_00011F5C = 0x00011F5C;
|
||||
D_00011F60 = 0x00011F60;
|
||||
D_00011F64 = 0x00011F64;
|
||||
D_00011F66 = 0x00011F66;
|
||||
D_00011F68 = 0x00011F68;
|
||||
D_00011F6A = 0x00011F6A;
|
||||
D_00011F6C = 0x00011F6C;
|
||||
D_00011F6E = 0x00011F6E;
|
||||
D_00011F70 = 0x00011F70;
|
||||
D_00011F72 = 0x00011F72;
|
||||
D_00011FEC = 0x00011FEC;
|
||||
D_00011FEE = 0x00011FEE;
|
||||
D_00011FF0 = 0x00011FF0;
|
||||
D_00011FF2 = 0x00011FF2;
|
||||
D_00011FF4 = 0x00011FF4;
|
||||
D_00011FF6 = 0x00011FF6;
|
||||
D_00011FF8 = 0x00011FF8;
|
||||
D_00011FFA = 0x00011FFA;
|
||||
D_00011FFC = 0x00011FFC;
|
||||
D_00012004 = 0x00012004;
|
||||
D_00012006 = 0x00012006;
|
||||
D_00012008 = 0x00012008;
|
||||
D_0001200A = 0x0001200A;
|
||||
D_0001200C = 0x0001200C;
|
||||
D_0001200E = 0x0001200E;
|
||||
D_00012010 = 0x00012010;
|
||||
D_00012012 = 0x00012012;
|
||||
D_00012014 = 0x00012014;
|
||||
D_00012016 = 0x00012016;
|
||||
D_00012018 = 0x00012018;
|
||||
D_0001201A = 0x0001201A;
|
||||
D_0001201C = 0x0001201C;
|
||||
D_0001201E = 0x0001201E;
|
||||
D_00012020 = 0x00012020;
|
||||
D_00012021 = 0x00012021;
|
||||
D_00012022 = 0x00012022;
|
||||
D_00012023 = 0x00012023;
|
||||
D_00012024 = 0x00012024;
|
||||
D_00012026 = 0x00012026;
|
||||
D_00012028 = 0x00012028;
|
||||
D_0001202C = 0x0001202C;
|
||||
D_0001202E = 0x0001202E;
|
||||
D_00012034 = 0x00012034;
|
||||
D_00012036 = 0x00012036;
|
||||
D_00012038 = 0x00012038;
|
||||
D_0001203A = 0x0001203A;
|
||||
D_0001203C = 0x0001203C;
|
||||
D_00012040 = 0x00012040;
|
||||
D_00012048 = 0x00012048;
|
||||
D_00012068 = 0x00012068;
|
||||
D_0001206A = 0x0001206A;
|
||||
D_0001206C = 0x0001206C;
|
||||
D_00012070 = 0x00012070;
|
||||
D_00012074 = 0x00012074;
|
||||
D_00012078 = 0x00012078;
|
||||
D_00012090 = 0x00012090;
|
||||
D_00012092 = 0x00012092;
|
||||
D_00012094 = 0x00012094;
|
||||
D_00012098 = 0x00012098;
|
||||
D_0001209C = 0x0001209C;
|
||||
D_000120A0 = 0x000120A0;
|
||||
D_000120A8 = 0x000120A8;
|
||||
D_000120AA = 0x000120AA;
|
||||
D_000120AC = 0x000120AC;
|
||||
D_000120AE = 0x000120AE;
|
||||
D_000120B0 = 0x000120B0;
|
||||
D_000120B1 = 0x000120B1;
|
||||
D_000120BE = 0x000120BE;
|
||||
D_000120C0 = 0x000120C0;
|
||||
D_000120C2 = 0x000120C2;
|
||||
D_000120C4 = 0x000120C4;
|
||||
D_000120C8 = 0x000120C8;
|
||||
D_000120CA = 0x000120CA;
|
||||
D_000120CC = 0x000120CC;
|
||||
D_000120CE = 0x000120CE;
|
||||
D_000120D0 = 0x000120D0;
|
||||
D_000120D2 = 0x000120D2;
|
||||
D_000120D4 = 0x000120D4;
|
||||
D_000120D6 = 0x000120D6;
|
||||
D_000120D8 = 0x000120D8;
|
||||
D_000167F8 = 0x000167F8;
|
||||
D_0001680C = 0x0001680C;
|
||||
D_00016818 = 0x00016818;
|
||||
D_0001681C = 0x0001681C;
|
||||
D_0001682A = 0x0001682A;
|
||||
D_000168FC = 0x000168FC;
|
||||
D_000168FE = 0x000168FE;
|
||||
D_0001691E = 0x0001691E;
|
||||
D_00016929 = 0x00016929;
|
||||
D_0001692B = 0x0001692B;
|
||||
D_0001692C = 0x0001692C;
|
||||
D_0001692E = 0x0001692E;
|
||||
D_00016932 = 0x00016932;
|
||||
D_00016934 = 0x00016934;
|
||||
D_00016938 = 0x00016938;
|
||||
D_0001694C = 0x0001694C;
|
||||
D_0001694E = 0x0001694E;
|
||||
D_00016950 = 0x00016950;
|
||||
D_00016974 = 0x00016974;
|
||||
D_00016980 = 0x00016980;
|
||||
D_00016984 = 0x00016984;
|
||||
D_0001698C = 0x0001698C;
|
||||
D_00016994 = 0x00016994;
|
||||
D_00016998 = 0x00016998;
|
||||
D_000169A0 = 0x000169A0;
|
||||
D_000169A4 = 0x000169A4;
|
||||
D_000169A8 = 0x000169A8;
|
||||
D_000169AC = 0x000169AC;
|
||||
D_000169AE = 0x000169AE;
|
||||
D_000169B8 = 0x000169B8;
|
||||
D_000169B9 = 0x000169B9;
|
||||
D_000169C4 = 0x000169C4;
|
||||
D_000169DC = 0x000169DC;
|
||||
D_000169DE = 0x000169DE;
|
||||
D_00016B58 = 0x00016B58;
|
||||
D_00016B5C = 0x00016B5C;
|
||||
D_00016BFA = 0x00016BFA;
|
||||
D_00016BFC = 0x00016BFC;
|
||||
D_00016C04 = 0x00016C04;
|
||||
D_00016C06 = 0x00016C06;
|
||||
D_00016C0A = 0x00016C0A;
|
||||
D_00016C0C = 0x00016C0C;
|
||||
D_00016C0E = 0x00016C0E;
|
||||
D_00016C36 = 0x00016C36;
|
||||
D_00016C38 = 0x00016C38;
|
||||
D_00016C40 = 0x00016C40;
|
||||
D_00016C42 = 0x00016C42;
|
||||
D_00016C44 = 0x00016C44;
|
||||
D_00016C46 = 0x00016C46;
|
||||
D_00016C48 = 0x00016C48;
|
||||
D_00016C4E = 0x00016C4E;
|
||||
D_00016C50 = 0x00016C50;
|
||||
D_00016C5C = 0x00016C5C;
|
||||
D_00016C66 = 0x00016C66;
|
||||
D_00016C68 = 0x00016C68;
|
||||
D_00016C6E = 0x00016C6E;
|
||||
D_00016CEC = 0x00016CEC;
|
||||
D_00016CFA = 0x00016CFA;
|
||||
D_00016CFB = 0x00016CFB;
|
||||
D_00016CFC = 0x00016CFC;
|
||||
D_00016CFD = 0x00016CFD;
|
||||
D_00016D02 = 0x00016D02;
|
||||
D_00016D03 = 0x00016D03;
|
||||
D_00016D04 = 0x00016D04;
|
||||
D_00016F1C = 0x00016F1C;
|
||||
D_00016F1E = 0x00016F1E;
|
||||
D_00016F20 = 0x00016F20;
|
||||
D_00016F30 = 0x00016F30;
|
||||
D_00016F34 = 0x00016F34;
|
||||
D_00016F54 = 0x00016F54;
|
||||
D_00016F70 = 0x00016F70;
|
||||
D_00016F86 = 0x00016F86;
|
||||
D_00016F8E = 0x00016F8E;
|
||||
D_00016FB4 = 0x00016FB4;
|
||||
D_00016FE9 = 0x00016FE9;
|
||||
D_00017000 = 0x00017000;
|
||||
D_00017006 = 0x00017006;
|
||||
D_00017008 = 0x00017008;
|
||||
D_0001700C = 0x0001700C;
|
||||
D_00017010 = 0x00017010;
|
||||
D_00017014 = 0x00017014;
|
||||
D_00017019 = 0x00017019;
|
||||
D_0001701A = 0x0001701A;
|
||||
D_0001701B = 0x0001701B;
|
||||
D_0001701C = 0x0001701C;
|
||||
D_0001701D = 0x0001701D;
|
||||
D_0001701E = 0x0001701E;
|
||||
D_00017022 = 0x00017022;
|
||||
D_00017023 = 0x00017023;
|
||||
D_00017024 = 0x00017024;
|
||||
D_00017025 = 0x00017025;
|
||||
D_00017026 = 0x00017026;
|
||||
D_00017028 = 0x00017028;
|
||||
D_000170A8 = 0x000170A8;
|
||||
D_000170AA = 0x000170AA;
|
||||
D_000170B0 = 0x000170B0;
|
||||
D_000170B2 = 0x000170B2;
|
||||
D_000170B4 = 0x000170B4;
|
||||
D_000170B8 = 0x000170B8;
|
||||
D_000170BC = 0x000170BC;
|
||||
D_000170C0 = 0x000170C0;
|
||||
D_000170C4 = 0x000170C4;
|
||||
D_000170C5 = 0x000170C5;
|
||||
D_000170C6 = 0x000170C6;
|
||||
D_000170C7 = 0x000170C7;
|
||||
D_000170E0 = 0x000170E0;
|
||||
D_000170E4 = 0x000170E4;
|
||||
D_000170E5 = 0x000170E5;
|
||||
D_000170E6 = 0x000170E6;
|
||||
D_000170E7 = 0x000170E7;
|
||||
D_000170E8 = 0x000170E8;
|
||||
D_000170E9 = 0x000170E9;
|
||||
D_000170ED = 0x000170ED;
|
||||
D_000170EE = 0x000170EE;
|
||||
D_000170EF = 0x000170EF;
|
||||
D_000170F0 = 0x000170F0;
|
||||
D_000170F6 = 0x000170F6;
|
||||
D_000170F7 = 0x000170F7;
|
||||
D_000170F8 = 0x000170F8;
|
||||
D_000170F9 = 0x000170F9;
|
||||
D_000170FA = 0x000170FA;
|
||||
D_00017D88 = 0x00017D88;
|
||||
D_00017D90 = 0x00017D90;
|
||||
D_00017D91 = 0x00017D91;
|
||||
D_00017D93 = 0x00017D93;
|
||||
D_00017D98 = 0x00017D98;
|
||||
D_00017DDC = 0x00017DDC;
|
||||
D_000186E0 = 0x000186E0;
|
||||
D_000186E2 = 0x000186E2;
|
||||
D_000186E3 = 0x000186E3;
|
||||
D_000186E4 = 0x000186E4;
|
||||
D_000186E5 = 0x000186E5;
|
||||
D_000186E6 = 0x000186E6;
|
||||
D_000186E8 = 0x000186E8;
|
||||
D_000186EC = 0x000186EC;
|
||||
D_000186F4 = 0x000186F4;
|
||||
D_00018700 = 0x00018700;
|
||||
D_00018711 = 0x00018711;
|
||||
D_00018754 = 0x00018754;
|
||||
D_00018758 = 0x00018758;
|
||||
D_0001875A = 0x0001875A;
|
||||
D_0001875C = 0x0001875C;
|
||||
D_00018760 = 0x00018760;
|
||||
D_00018764 = 0x00018764;
|
||||
D_00018768 = 0x00018768;
|
||||
D_0001876C = 0x0001876C;
|
||||
D_00018770 = 0x00018770;
|
||||
D_00018774 = 0x00018774;
|
||||
D_00018778 = 0x00018778;
|
||||
D_0001877C = 0x0001877C;
|
||||
D_00018780 = 0x00018780;
|
||||
D_00018784 = 0x00018784;
|
||||
D_00018788 = 0x00018788;
|
||||
D_0001878C = 0x0001878C;
|
||||
D_00018790 = 0x00018790;
|
||||
D_00018794 = 0x00018794;
|
||||
D_00018798 = 0x00018798;
|
||||
D_0001879C = 0x0001879C;
|
||||
D_0001879E = 0x0001879E;
|
||||
D_000187A0 = 0x000187A0;
|
||||
D_000187A2 = 0x000187A2;
|
||||
D_000187A4 = 0x000187A4;
|
||||
D_000187A6 = 0x000187A6;
|
||||
D_000187A8 = 0x000187A8;
|
||||
D_000187AA = 0x000187AA;
|
||||
D_000187AC = 0x000187AC;
|
||||
D_000187F0 = 0x000187F0;
|
||||
D_000187F4 = 0x000187F4;
|
||||
D_000187F8 = 0x000187F8;
|
||||
D_0001883C = 0x0001883C;
|
||||
D_00018840 = 0x00018840;
|
||||
D_00018844 = 0x00018844;
|
||||
D_00018845 = 0x00018845;
|
||||
D_00018846 = 0x00018846;
|
||||
D_00018848 = 0x00018848;
|
||||
D_0001884C = 0x0001884C;
|
||||
D_00018850 = 0x00018850;
|
||||
D_00018854 = 0x00018854;
|
||||
D_00018858 = 0x00018858;
|
||||
D_0001885C = 0x0001885C;
|
||||
D_00018860 = 0x00018860;
|
||||
D_00018864 = 0x00018864;
|
||||
D_00018868 = 0x00018868;
|
||||
D_0001886C = 0x0001886C;
|
||||
D_00018870 = 0x00018870;
|
||||
D_00018874 = 0x00018874;
|
||||
D_00018875 = 0x00018875;
|
||||
D_00018876 = 0x00018876;
|
||||
D_00018878 = 0x00018878;
|
||||
D_0001887A = 0x0001887A;
|
||||
D_0001887C = 0x0001887C;
|
||||
D_0001887D = 0x0001887D;
|
||||
D_0001887E = 0x0001887E;
|
||||
D_0001887F = 0x0001887F;
|
||||
D_00018880 = 0x00018880;
|
||||
D_00018B20 = 0x00018B20;
|
||||
D_00018B48 = 0x00018B48;
|
||||
D_00018B49 = 0x00018B49;
|
||||
D_00018B4A = 0x00018B4A;
|
||||
D_00018B60 = 0x00018B60;
|
||||
D_00018B64 = 0x00018B64;
|
||||
D_00018BF0 = 0x00018BF0;
|
||||
D_00018BF2 = 0x00018BF2;
|
||||
D_00018E54 = 0x00018E54;
|
||||
D_00018E58 = 0x00018E58;
|
||||
D_00018E5C = 0x00018E5C;
|
||||
D_00018E60 = 0x00018E60;
|
||||
D_00018E64 = 0x00018E64;
|
||||
D_00018E68 = 0x00018E68;
|
||||
dmadataRomStart = 0x0001A500;
|
||||
D_00020308 = 0x00020308;
|
||||
dmadataRomEnd = 0x00020700;
|
||||
D_000242F3 = 0x000242F3;
|
||||
D_00024413 = 0x00024413;
|
||||
D_00024414 = 0x00024414;
|
||||
D_0002446A = 0x0002446A;
|
||||
D_0002446C = 0x0002446C;
|
||||
D_00024480 = 0x00024480;
|
||||
D_00024482 = 0x00024482;
|
||||
D_00024484 = 0x00024484;
|
||||
D_00024486 = 0x00024486;
|
||||
D_00024488 = 0x00024488;
|
||||
D_0002448A = 0x0002448A;
|
||||
D_0002448C = 0x0002448C;
|
||||
D_0002448E = 0x0002448E;
|
||||
D_00024498 = 0x00024498;
|
||||
D_000244A6 = 0x000244A6;
|
||||
D_000244A8 = 0x000244A8;
|
||||
D_000244AA = 0x000244AA;
|
||||
D_000244AC = 0x000244AC;
|
||||
D_000244AE = 0x000244AE;
|
||||
D_000244BA = 0x000244BA;
|
||||
D_000244CE = 0x000244CE;
|
||||
D_000244E2 = 0x000244E2;
|
||||
D_000244E4 = 0x000244E4;
|
||||
D_000244E6 = 0x000244E6;
|
||||
D_000244E8 = 0x000244E8;
|
||||
D_000244F2 = 0x000244F2;
|
||||
D_000244F4 = 0x000244F4;
|
||||
D_000244FA = 0x000244FA;
|
||||
D_000244FC = 0x000244FC;
|
||||
D_000244FE = 0x000244FE;
|
||||
D_00024500 = 0x00024500;
|
||||
D_00024502 = 0x00024502;
|
||||
D_00024504 = 0x00024504;
|
||||
D_00024506 = 0x00024506;
|
||||
D_00024508 = 0x00024508;
|
||||
D_0002450A = 0x0002450A;
|
||||
D_0002450C = 0x0002450C;
|
||||
D_00024510 = 0x00024510;
|
||||
D_00024512 = 0x00024512;
|
||||
D_00024514 = 0x00024514;
|
||||
D_00024516 = 0x00024516;
|
||||
D_00024518 = 0x00024518;
|
||||
D_0002451A = 0x0002451A;
|
||||
D_0002451C = 0x0002451C;
|
||||
D_0002451E = 0x0002451E;
|
||||
D_00024528 = 0x00024528;
|
||||
D_00046AF0 = 0x00046AF0;
|
||||
D_00080028 = 0x00080028;
|
||||
D_00097F70 = 0x00097F70;
|
||||
D_000FFFFC = 0x000FFFFC;
|
||||
D_001ABAB0 = 0x001ABAB0;
|
||||
D_001E3BB0 = 0x001E3BB0;
|
||||
D_0065D000 = 0x0065D000;
|
||||
dmadata_vrom_start = 0x0001A500;
|
||||
dmadata_vrom_end = 0x00020700;
|
||||
Audioseq_vrom_start = 0x00046AF0;
|
||||
Audioseq_vrom_end = 0x00097F70;
|
||||
link_animetion_vrom_start = 0x0065D000;
|
||||
D_00957000 = 0x00957000;
|
||||
D_009ECEC0 = 0x009ECEC0;
|
||||
D_009ED000 = 0x009ED000;
|
||||
D_009F4700 = 0x009F4700;
|
||||
D_009F5000 = 0x009F5000;
|
||||
D_00A09AF0 = 0x00A09AF0;
|
||||
D_00A0A000 = 0x00A0A000;
|
||||
D_00A0EB80 = 0x00A0EB80;
|
||||
D_00A0F000 = 0x00A0F000;
|
||||
D_00A12300 = 0x00A12300;
|
||||
D_00A13000 = 0x00A13000;
|
||||
D_00A1BA00 = 0x00A1BA00;
|
||||
D_00A1C000 = 0x00A1C000;
|
||||
D_00A1C2E0 = 0x00A1C2E0;
|
||||
D_00A1D000 = 0x00A1D000;
|
||||
D_00A1E310 = 0x00A1E310;
|
||||
D_00A27660 = 0x00A27660;
|
||||
D_00A352F0 = 0x00A352F0;
|
||||
D_00A36C10 = 0x00A36C10;
|
||||
D_00A7BEE0 = 0x00A7BEE0;
|
||||
D_00A807A0 = 0x00A807A0;
|
||||
D_00A8C000 = 0x00A8C000;
|
||||
D_00A92A10 = 0x00A92A10;
|
||||
D_00A990E0 = 0x00A990E0;
|
||||
D_00A9A000 = 0x00A9A000;
|
||||
D_00ABFC00 = 0x00ABFC00;
|
||||
D_00AC0000 = 0x00AC0000;
|
||||
D_00AC0480 = 0x00AC0480;
|
||||
D_00AC4000 = 0x00AC4000;
|
||||
D_00ACA000 = 0x00ACA000;
|
||||
D_00ACC000 = 0x00ACC000;
|
||||
D_00AD1000 = 0x00AD1000;
|
||||
D_00B3B000 = 0x00B3B000;
|
||||
D_00B3C000 = 0x00B3C000;
|
||||
D_00C7A4E0 = 0x00C7A4E0;
|
||||
D_01000000 = 0x01000000;
|
||||
D_01000680 = 0x01000680;
|
||||
D_01001280 = 0x01001280;
|
||||
D_01001800 = 0x01001800;
|
||||
D_01002720 = 0x01002720;
|
||||
D_01002800 = 0x01002800;
|
||||
D_01007980 = 0x01007980;
|
||||
D_010220B0 = 0x010220B0;
|
||||
D_010277B0 = 0x010277B0;
|
||||
D_0102A030 = 0x0102A030;
|
||||
D_0102A6B0 = 0x0102A6B0;
|
||||
D_0102A7B0 = 0x0102A7B0;
|
||||
D_0102AAB0 = 0x0102AAB0;
|
||||
D_0102B170 = 0x0102B170;
|
||||
D_0102B3B0 = 0x0102B3B0;
|
||||
D_0102B8F0 = 0x0102B8F0;
|
||||
D_0102FCB0 = 0x0102FCB0;
|
||||
D_010308F0 = 0x010308F0;
|
||||
D_010310F0 = 0x010310F0;
|
||||
D_010311F0 = 0x010311F0;
|
||||
D_01031408 = 0x01031408;
|
||||
D_01031618 = 0x01031618;
|
||||
D_01E85000 = 0x01E85000;
|
||||
D_01E87DC0 = 0x01E87DC0;
|
||||
D_01E88000 = 0x01E88000;
|
||||
D_01EB9730 = 0x01EB9730;
|
||||
D_01EBA000 = 0x01EBA000;
|
||||
D_01EBC000 = 0x01EBC000;
|
||||
D_01EBD000 = 0x01EBD000;
|
||||
D_01EC8B20 = 0x01EC8B20;
|
||||
D_01EC9000 = 0x01EC9000;
|
||||
D_01ECA000 = 0x01ECA000;
|
||||
D_01ED3B00 = 0x01ED3B00;
|
||||
D_01EF2000 = 0x01EF2000;
|
||||
D_01EFE000 = 0x01EFE000;
|
||||
D_01F0A000 = 0x01F0A000;
|
||||
D_01F0A200 = 0x01F0A200;
|
||||
icon_item_field_static_vrom_start = 0x009F5000;
|
||||
icon_item_field_static_vrom_end = 0x00A09AF0;
|
||||
icon_item_dungeon_static_vrom_start = 0x00A0A000;
|
||||
icon_item_dungeon_static_vrom_end = 0x00A0EB80;
|
||||
icon_item_gameover_static_vrom_start = 0x00A0F000;
|
||||
icon_item_gameover_static_vrom_end = 0x00A12300;
|
||||
_013_0x00963540_vrom_start = 0x00A13000;
|
||||
_013_0x00963540_vrom_end = 0x00A1BA00;
|
||||
_014_0x00967260_vrom_start = 0x00A1C000;
|
||||
_014_0x00967260_vrom_end = 0x00A1C2E0;
|
||||
map_i_static_vrom_start = 0x00A1D000;
|
||||
map_grand_static_vrom_start = 0x00A1E310;
|
||||
item_name_static_vrom_start = 0x00A27660;
|
||||
map_name_static_vrom_start = 0x00A352F0;
|
||||
_019_0x00980f60_vrom_start = 0x00A36C10;
|
||||
_020_0x009c6230_vrom_start = 0x00A7BEE0;
|
||||
_020_0x009c6230_vrom_end = 0x00A807A0;
|
||||
_022_0x009caaf0_vrom_start = 0x00A8C000;
|
||||
_023_0x009d1500_vrom_start = 0x00A92A10;
|
||||
_023_0x009d1500_vrom_end = 0x00A990E0;
|
||||
_024_0x009d3760_vrom_start = 0x00A9A000;
|
||||
_024_0x009d3760_vrom_end = 0x00ABFC00;
|
||||
do_action_static_vrom_start = 0x00AC0000;
|
||||
message_static_vrom_start = 0x00AC4000;
|
||||
message_texture_static_vrom_start = 0x00ACA000;
|
||||
nes_font_static_vrom_start = 0x00ACC000;
|
||||
en_message_data_static_vrom_start = 0x00AD1000;
|
||||
staff_message_data_static_vrom_start = 0x00B3B000;
|
||||
code_vrom_start = 0x00B3C000;
|
||||
code_vrom_end = 0x00C7A4E0;
|
||||
nintendo_rogo_static_vrom_start = 0x01E85000;
|
||||
nintendo_rogo_static_vrom_end = 0x01E87DC0;
|
||||
title_static_vrom_start = 0x01E88000;
|
||||
title_static_vrom_end = 0x01EB9730;
|
||||
_1124_0x0163f490_vrom_start = 0x01EBA000;
|
||||
_1124_0x0163f490_vrom_end = 0x01EBB280;
|
||||
_1125_0x0163fc10_vrom_start = 0x01EBC000;
|
||||
_1125_0x0163fc10_vrom_end = 0x01EBC680;
|
||||
_1126_0x0163ffc0_vrom_start = 0x01EBD000;
|
||||
_1126_0x0163ffc0_vrom_end = 0x01EC8B20;
|
||||
_1127_0x01643d50_vrom_start = 0x01EC9000;
|
||||
_1127_0x01643d50_vrom_end = 0x01EC9F30;
|
||||
_1128_0x01644c80_vrom_start = 0x01ECA000;
|
||||
_1128_0x01644c80_vrom_end = 0x01ED3B00;
|
||||
_1129_0x01646b60_vrom_start = 0x01ED4000;
|
||||
_1129_0x01646b60_vrom_end = 0x01EDDB00;
|
||||
_1130_0x01649020_vrom_start = 0x01EDE000;
|
||||
_1130_0x01649020_vrom_end = 0x01EE7B00;
|
||||
_1131_0x0164ad90_vrom_start = 0x01EE8000;
|
||||
_1131_0x0164ad90_vrom_end = 0x01EF1B00;
|
||||
vr_fine_static_vrom_start = 0x01EF2000;
|
||||
vr_cloud_static_vrom_start = 0x01EFE000;
|
||||
vr_pal_static_vrom_start = 0x01F0A000;
|
||||
vr_pal_static_vrom_end = 0x01F0A200;
|
||||
D_060005D0 = 0x060005D0;
|
||||
D_06001100 = 0x06001100;
|
||||
D_06001228 = 0x06001228;
|
||||
D_06002D30 = 0x06002D30;
|
||||
D_11000A70 = 0x11000A70;
|
||||
D_11111111 = 0x11111111;
|
||||
D_3CFFED40 = 0x3CFFED40;
|
||||
D_3E7FDDD0 = 0x3E7FDDD0;
|
||||
D_3EBF9330 = 0x3EBF9330;
|
||||
D_3EFFD880 = 0x3EFFD880;
|
||||
D_3EFFF764 = 0x3EFFF764;
|
||||
D_3F7FCDC0 = 0x3F7FCDC0;
|
||||
D_3F7FCE80 = 0x3F7FCE80;
|
||||
D_3F7FCEA0 = 0x3F7FCEA0;
|
||||
D_3F7FE3F0 = 0x3F7FE3F0;
|
||||
D_3F7FEBB4 = 0x3F7FEBB4;
|
||||
D_3F800CEC = 0x3F800CEC;
|
||||
D_3F806764 = 0x3F806764;
|
||||
D_3F80679C = 0x3F80679C;
|
||||
D_3F8071B0 = 0x3F8071B0;
|
||||
D_3F8071B8 = 0x3F8071B8;
|
||||
D_3F8071C0 = 0x3F8071C0;
|
||||
D_3F9FE9B4 = 0x3F9FE9B4;
|
||||
D_403F8BAC = 0x403F8BAC;
|
||||
D_407F83D0 = 0x407F83D0;
|
||||
D_411FDAA0 = 0x411FDAA0;
|
||||
D_411FDBFC = 0x411FDBFC;
|
||||
D_412022F0 = 0x412022F0;
|
||||
D_41204208 = 0x41204208;
|
||||
D_412060B8 = 0x412060B8;
|
||||
D_416FD0CC = 0x416FD0CC;
|
||||
D_419FB50C = 0x419FB50C;
|
||||
D_41AFAD08 = 0x41AFAD08;
|
||||
D_421FFBA8 = 0x421FFBA8;
|
||||
D_4248099C = 0x4248099C;
|
||||
D_428C2BD1 = 0x428C2BD1;
|
||||
D_429FC358 = 0x429FC358;
|
||||
D_429FFF58 = 0x429FFF58;
|
||||
D_42A00B10 = 0x42A00B10;
|
||||
D_42A05D1C = 0x42A05D1C;
|
||||
D_42B42BC9 = 0x42B42BC9;
|
||||
D_42EFD968 = 0x42EFD968;
|
||||
D_43162BC9 = 0x43162BC9;
|
||||
D_4347E450 = 0x4347E450;
|
||||
D_4390DC8C = 0x4390DC8C;
|
||||
D_4390DC90 = 0x4390DC90;
|
||||
D_439B22F4 = 0x439B22F4;
|
||||
D_439B420C = 0x439B420C;
|
||||
D_439B60BC = 0x439B60BC;
|
||||
D_43C7ED84 = 0x43C7ED84;
|
||||
D_43F9FB94 = 0x43F9FB94;
|
||||
D_43F9FBB4 = 0x43F9FBB4;
|
||||
D_46FFCED0 = 0x46FFCED0;
|
||||
D_47803510 = 0x47803510;
|
||||
D_80000000 = 0x80000000;
|
||||
osTvType = 0x80000300;
|
||||
osRomType = 0x80000304;
|
||||
|
|
Loading…
Reference in New Issue