Extract MEDIEVIL.EXE (#8)

This commit is contained in:
Alejandro Asenjo Nitti 2023-09-08 13:02:14 -03:00 committed by GitHub
parent af27076ea0
commit 50e801adb2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 3822 additions and 8 deletions

23
.clang-format Normal file
View File

@ -0,0 +1,23 @@
IndentWidth: 4
Language: Cpp
UseTab: Never
ColumnLimit: 120
PointerAlignment: Left
BreakBeforeBraces: Attach
SpaceAfterCStyleCast: false
Cpp11BracedListStyle: false
IndentCaseLabels: true
BinPackArguments: true
BinPackParameters: true
AlignAfterOpenBracket: Align
AlignOperands: true
BreakBeforeTernaryOperators: true
BreakBeforeBinaryOperators: None
AllowShortBlocksOnASingleLine: true
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: false
AlignEscapedNewlines: Left
AlignTrailingComments: true
SortIncludes: false

1
.gitignore vendored
View File

@ -1,5 +1,6 @@
disk/
build/
asm/*/*
asm/*/*/*.s
asm/*/*/*/*.s
asm/*/*/*/*/*.s

View File

@ -2,6 +2,7 @@
.SECONDARY:
# Binaries
MAIN := main
OVL_CR := cr
# Compiler
@ -14,7 +15,7 @@ CPP := $(CROSS)cpp
OBJCOPY := $(CROSS)objcopy
AS_FLAGS += -Iinclude -march=r3000 -mtune=r3000 -no-pad-sections -O1 -G0
PSXCC_FLAGS := -quiet -mcpu=3000 -fgnu-linker -mgas -gcoff
CC_FLAGS += -msplit-addresses -O2 -G0 -fsigned-char#-G0 -w -O2 -funsigned-char -fpeephole -ffunction-cse -fpcc-struct-return -fcommon -fverbose-asm -msoft-float -g
CC_FLAGS += -msplit-addresses -O2 -G0 -funsigned-char -w -fpeephole -ffunction-cse -fpcc-struct-return -fcommon -fverbose-asm -msoft-float -g
CPP_FLAGS += -Iinclude -undef -Wall -fno-builtin
CPP_FLAGS += -Dmips -D__GNUC__=2 -D__OPTIMIZE__ -D__mips__ -D__mips -Dpsx -D__psx__ -D__psx -D_PSYQ -D__EXTENSIONS__ -D_MIPSEL -D_LANGUAGE_C -DLANGUAGE_C -DHACKS -DUSE_INCLUDE_ASM
LD_FLAGS := -nostdlib --no-check-sections
@ -43,16 +44,19 @@ MASPSX_DIR := $(TOOLS_DIR)/maspsx
MASPSX_APP := $(MASPSX_DIR)/maspsx.py
MASPSX := $(PYTHON) $(MASPSX_APP) --no-macro-inc --expand-div
# List source files
define list_src_files
$(foreach dir,$(ASM_DIR)/$(1),$(wildcard $(dir)/**.s))
$(foreach dir,$(ASM_DIR)/$(1)/data,$(wildcard $(dir)/**.s))
$(foreach dir,$(SRC_DIR)/$(1),$(wildcard $(dir)/**.c))
endef
# List object files
define list_o_files
$(foreach file,$(call list_src_files,$(1)),$(BUILD_DIR)/$(file).o)
endef
# Linking
define link
$(LD) $(LD_FLAGS) -o $(2) \
-Map $(BUILD_DIR)/$(1).map \
@ -66,8 +70,31 @@ clean:
git clean -fdx config/
git clean -fdx build/
format:
clang-format -i $$(find $(SRC_DIR)/ -type f -name "*.c")
clang-format -i $$(find $(SRC_DIR)/ -type f -name "*.h")
clang-format -i $$(find $(INCLUDE_DIR)/ -type f -name "*.h")
######################### Build system #########################
all: build check
build: cr
build: main overlays
### Main Executables ###
# TODO: SCUS_942.27
main: main_dirs $(BUILD_DIR)/MEDIEVIL.EXE
$(BUILD_DIR)/MEDIEVIL.EXE: $(BUILD_DIR)/$(MAIN).elf
$(OBJCOPY) -O binary $< $@
$(BUILD_DIR)/$(MAIN).elf: $(call list_o_files,main)
$(call link,main,$@)
%_dirs:
$(foreach dir,$(ASM_DIR)/$* $(ASM_DIR)/$*/data $(SRC_DIR)/$* $(ASSETS_DIR)/$*,$(shell mkdir -p $(BUILD_DIR)/$(dir)))
### Overlays ###
overlays: cr
cr: ovlcr_dirs $(BUILD_DIR)/CR.BIN
$(BUILD_DIR)/CR.BIN: $(BUILD_DIR)/ovlcr.elf
@ -76,29 +103,37 @@ $(BUILD_DIR)/CR.BIN: $(BUILD_DIR)/ovlcr.elf
ovl%_dirs:
$(foreach dir,$(ASM_DIR)/ovl/$* $(ASM_DIR)/ovl/$*/data $(SRC_DIR)/ovl/$* $(ASSETS_DIR)/ovl/$*,$(shell mkdir -p $(BUILD_DIR)/$(dir)))
%_dirs:
$(foreach dir,$(ASM_DIR)/$* $(ASM_DIR)/$*/data $(SRC_DIR)/$* $(ASSETS_DIR)/$*,$(shell mkdir -p $(BUILD_DIR)/$(dir)))
$(BUILD_DIR)/ovl%.elf: $$(call list_o_files,ovl/$$*)
$(call link,ovl$*,$@)
# Assembly
$(BUILD_DIR)/%.s.o: %.s
$(AS) $(AS_FLAGS) -o $@ $<
$(BUILD_DIR)/%.c.o: %.c $(MASPSX_APP) $(CC1PSX)
$(CPP) $(CPP_FLAGS) -lang-c $< | $(CC) $(CC_FLAGS) $(PSXCC_FLAGS) | $(MASPSX) | $(AS) $(AS_FLAGS) -o $@
# Checksum
check:
sha1sum --check config/medievil.check.sha
# asm-differ expected object files
expected: check
mkdir -p expected/build
rm -rf expected/build/
cp -r build/ expected/build/
extract: extract_ovlcr
# Assembly extraction
extract: extract_ovlcr extract_main
extract_main:
cat $(CONFIG_DIR)/symbols/symbols.txt $(CONFIG_DIR)/symbols/symbols.main.txt > $(CONFIG_DIR)/symbols/generated.symbols.txt
$(SPLAT) $(CONFIG_DIR)/splat.medievil.exe.yaml
extract_ovl%:
cat $(CONFIG_DIR)/medievil/symbols/symbols.txt $(CONFIG_DIR)/medievil/symbols/symbols.ovlcr.txt > $(CONFIG_DIR)/medievil/symbols/generated.symbols.ovlcr.txt
cat $(CONFIG_DIR)/symbols/symbols.txt $(CONFIG_DIR)/symbols/symbols.ovlcr.txt > $(CONFIG_DIR)/symbols/generated.symbols.ovlcr.txt
$(SPLAT) $(CONFIG_DIR)/splat.ovl$*.yaml
.PHONY: all, clean, format, check, expected
.PHONY: cr
.PHONY: %_dirs

View File

@ -1 +1,2 @@
b52e73eea027f2a517be47b6f2133e3a6ac73a15 build/CR.BIN
b52e73eea027f2a517be47b6f2133e3a6ac73a15 build/CR.BIN
265ce5dc508002a339ae535e49a5b1b4e683b732 build/MEDIEVIL.EXE

View File

@ -0,0 +1,54 @@
name: MEDIEVIL.EXE
sha1: 265ce5dc508002a339ae535e49a5b1b4e683b732
options:
basename: main
target_path: disk/medievil/MEDIEVIL.EXE
base_path: ..
platform: psx
compiler: GCC
asm_path: asm/main
src_path: src/main
build_path: build/
find_file_boundaries: True
asm_emit_size_directive: False
use_legacy_include_asm: False
asm_function_macro: glabel
asm_jtbl_label_macro: jlabel
section_order: [".rodata", ".text", ".data", ".bss"]
symbol_addrs_path: config/symbols/symbols.main.txt
undefined_funcs_auto_path: config/undefined_funcs_auto.main.txt
undefined_syms_auto_path: config/undefined_syms_auto.main.txt
extensions_path: tools/splat_ext
subalign: 2
string_encoding: ASCII
data_string_encoding: ASCII
rodata_string_guesser_level: 2
data_string_guesser_level: 2
segments:
- name: header
type: header
start: 0x0
- name: main
type: code
start: 0x800
vram: 0x80021CA4
bss_size: 0x0
subsegments:
- [0x800, c, 800]
- [0x88394, rodata]
- [0x8839C, c]
- [0x99AD4, rodata]
- [0x99ADC, c]
- [0xA3E88, data]
- [0xCC800]

View File

1
include/common.h Normal file
View File

@ -0,0 +1 @@
#include "include_asm.h"

89
include/gte.inc Normal file
View File

@ -0,0 +1,89 @@
# GTE macros
.macro RTPS
.word 0x4A180001
.endm
.macro RTPT
.word 0x4A280030
.endm
.macro DPCL
.word 0x4A680029
.endm
.macro DPCS
.word 0x4A780010
.endm
.macro DPCT
.word 0x4AF8002A
.endm
.macro INTPL
.word 0x4A980011
.endm
.macro NCS
.word 0x4AC8041E
.endm
.macro NCT
.word 0x4AD80420
.endm
.macro NCDS
.word 0x4AE80413
.endm
.macro NCDT
.word 0x4AF80416
.endm
.macro NCCS
.word 0x4B08041B
.endm
.macro NCCT
.word 0x4B18043F
.endm
.macro CDP
.word 0x4B280414
.endm
.macro CC
.word 0x4B38041C
.endm
.macro NCLIP
.word 0x4B400006
.endm
.macro AVSZ3
.word 0x4B58002D
.endm
.macro AVSZ4
.word 0x4B68002E
.endm
.macro MVMVA sf, mx, v, cv, lm
.word 0x4A400012|\sf<<19|\mx<<17|\v<<15|\cv<<13|\lm<<10
.endm
.macro SQR sf
.word 0x4AA00428|\sf<<19
.endm
.macro OP sf
.word 0x4B70000C|\sf<<19
.endm
.macro GPF sf
.word 0x4B90003D|\sf<<19
.endm
.macro GPL sf
.word 0x4BA0003E|\sf<<19
.endm

View File

@ -16,3 +16,5 @@
addu \a, \b, $zero
.endm
.include "gte.inc"

2807
src/main/800.c Normal file

File diff suppressed because it is too large Load Diff

466
src/main/8839C.c Normal file
View File

@ -0,0 +1,466 @@
#include "common.h"
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800A9840);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800A98C8);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800A98F4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800A9944);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800A9984);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800A99EC);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800A9BC0);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800A9C28);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800A9E5C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800A9F14);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AA050);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AA108);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AA244);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AA35C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AA464);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AA57C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AA684);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AA8E4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AA8F8);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AAA14);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AAC1C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AACA8);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AAD5C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AADB0);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AAE34);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AAE90);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AAF20);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AAF5C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AAF84);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AAFAC);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AAFE0);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AAFF0);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AB000);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AB00C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AB02C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AB040);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AB060);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AB080);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AB094);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AB0A8);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AB1E4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AB318);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AB464);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AB484);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AB4A4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AB4C4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AB4E8);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AB508);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AB60C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AB68C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AB75C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AB77C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AB7E0);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AB800);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AB8E0);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AB9BC);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AC00C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AC120);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AC210);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AC460);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AC6D0);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AC700);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AC8A0);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800ACDFC);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AD07C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AD344);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AD750);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AD7D8);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AD8AC);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AD99C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800ADB7C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800ADCE4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800ADDE4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800ADED0);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800ADEDC);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800ADFB4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AE044);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AE194);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AE1D4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AE1F4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AE284);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AE2C4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AE60C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AE684);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AE708);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AE748);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AE758);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AE768);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AE788);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AE7D8);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AE898);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AE9A8);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AE9D8);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AEA64);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AEAB4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AEC54);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AEC74);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AED10);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AED24);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AEE64);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AF094);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AF0B4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AF0D4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AF120);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AF174);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AF1F4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AF2A4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AF2D8);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AF344);
void func_800AF404(void) {
}
void func_800AF40C(void) {
}
void func_800AF414(void) {
}
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AF41C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AF558);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AF830);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AF850);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AFB14);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AFBB8);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AFE54);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AFEC8);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AFF08);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800AFF78);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B0068);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B0240);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B0458);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B065C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B0900);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B0AC0);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B0CB8);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B0EA4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B1128);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B1218);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B1B34);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B1B60);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B1D08);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B1D3C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B1DB8);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B1DD8);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B1E14);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B1E38);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B1F28);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B1FB8);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B2044);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B20D8);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B216C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B2184);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B2208);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B2288);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B230C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B2338);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B2688);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B2718);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B2748);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B2808);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B28B8);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B2968);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B29C8);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B2B68);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B2C54);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B2D84);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B2E3C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B2F7C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B3078);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B30CC);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B3150);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B33E0);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B3420);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B3430);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B36CC);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B3FAC);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B41C8);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B4D84);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B4EE4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B4F4C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B5040);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B5050);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B510C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B5388);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B53C0);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B53E4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B5404);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B54D0);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B55C8);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B569C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B56D4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B5728);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B5738);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B574C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B5768);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B581C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B5858);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B5868);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B5878);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B58B8);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B59C8);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B5DA4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B6238);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B6724);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B6E70);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B7224);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B76BC);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B7A04);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B7DBC);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B8288);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B89A8);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B906C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B9A04);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B9A5C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B9AC8);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B9AF4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B9B24);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B9B84);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B9B94);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B9BE4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B9C18);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B9E8C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800B9F5C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800BA144);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800BA2E0);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800BA3E4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800BA4A4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800BA4C4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800BA4D4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800BAC58);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800BAC7C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800BAC8C);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800BACC8);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800BACD8);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800BAD24);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800BAEA4);
INCLUDE_ASM("asm/main/nonmatchings/8839C", func_800BAF50);

335
src/main/99ADC.c Normal file
View File

@ -0,0 +1,335 @@
#include "common.h"
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BAF80);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BAF98);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BAFA8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BAFB8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB064);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB0AC);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB0C0);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB0D4);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB0E8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB0FC);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB110);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB124);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB138);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB168);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB344);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB3F8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB500);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB5D8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB6B0);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB6EC);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB728);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB738);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB7B4);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB820);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB838);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB848);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB888);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB898);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB8A8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB8B8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB8C8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB8D8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BB8E8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BBA84);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BBB88);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BBB98);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BBBA8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BBBB8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BBBC8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BBE58);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BC018);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BC0D4);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BC354);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BC3D8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BC41C);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BC4C0);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BC518);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BC540);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BC568);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BC5D0);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BC6B8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BC730);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BC7C0);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BC8E8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BC9A8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BCBA4);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BCC94);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BD174);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BD604);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BD7D4);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BDD54);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BDDBC);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BDEE0);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BE3B0);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BE480);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BE500);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BE880);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BE8B0);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BE910);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BE970);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BE998);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BE9B0);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BEA60);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BECE0);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BED7C);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BEDB4);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BEE34);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BF214);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BF4E4);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BF564);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BFC04);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BFC44);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BFCD0);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BFCE4);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BFD08);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BFD28);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BFD88);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BFDB4);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BFE1C);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800BFFAC);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C0078);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C03AC);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C049C);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C06AC);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C0924);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C09B4);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C09E8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C0A1C);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C0B2C);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C0D90);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C0E70);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C0EA8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C0ED8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C0EE4);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C0F68);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C11D8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C1210);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C12E4);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C138C);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C1784);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C17EC);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C1808);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C18D0);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C18F0);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C1904);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C1924);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C1944);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C1964);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C197C);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C1988);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C1994);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C1A90);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C1ACC);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C1AE4);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C1B50);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C1B88);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C1C18);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C1F68);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C2438);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C2458);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C2488);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C2A88);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C2C48);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C2C78);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C2CC8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C2D08);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C2F18);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C3138);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C31D8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C3238);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C33B8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C36B8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C3708);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C3748);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C37E8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C3830);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C3908);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C39B4);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C3A40);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C3DF8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C3E08);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C3E44);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C3E88);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C3F44);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C3FB4);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C3FE8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C4058);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C4318);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C43E8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C44E4);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C4728);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C4AD8);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C505C);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C50C0);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C5178);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C5188);
INCLUDE_ASM("asm/main/nonmatchings/99ADC", func_800C5288);