Revert "core2/code_85800.c remove goto"

This reverts commit b06a56328f
This commit is contained in:
Banjo Kazooie 2022-07-09 04:06:38 +00:00
parent f6d825f2dd
commit ef5601d890
5 changed files with 144 additions and 362 deletions

134
Makefile
View File

@ -2,22 +2,6 @@
BASENAME := banjo
VERSION ?= us.v10
ifeq ($(VERSION),us.v10)
C_VERSION=0
endif
ifeq ($(VERSION),pal)
C_VERSION=1
endif
ifeq ($(VERSION),us.v11)
C_VERSION=2
endif
ifeq ($(VERSION),jp)
C_VERSION=3
endif
IN_CFLAGS ?= -DCODE2_CODE_CRC2=0 -DCODE2_DATA_CRC2=0
### Tools ###
@ -206,7 +190,7 @@ endef
### Flags ###
# Build tool flags
CFLAGS := -c -Wab,-r4300_mul -non_shared -G 0 -Xfullwarn -Xcpluscomm $(OPT_FLAGS) $(MIPSBIT) -D_FINALROM -DF3DEX_GBI -DVERSION='$(C_VERSION)'
CFLAGS := -c -Wab,-r4300_mul -non_shared -G 0 -Xfullwarn -Xcpluscomm $(OPT_FLAGS) $(MIPSBIT) -D_FINALROM -DF3DEX_GBI
CFLAGS += -woff 649,654,838,807
CFLAGS += $(IN_CFLAGS)
CPPFLAGS := -D_FINALROM -DN_MICRO
@ -293,7 +277,7 @@ verify-each: $(addprefix verify-,$(OVERLAYS))
define overlay_rules
# .o -> .elf (overlay)
$(BUILD_DIR)/$(1).elf : $$($(1)_ALL_OBJS) $(1).ld
$(LD) -T $(1).ld -R core2.elf --allow-multiple-definition -Map $(BUILD_DIR)/$(1).map $$(LDFLAGS_COMMON) -T undefined_syms_auto.$(1).$(VERSION).txt -T undefined_funcs_auto.$(1).$(VERSION).txt -o $$@
$(LD) -T $(1).ld -R core2.elf --allow-multiple-definition -Map $(BUILD_DIR)/$(1).map $$(LDFLAGS_COMMON) -T undefined_syms_auto.$(1).us.v10.txt -T undefined_funcs_auto.$(1).us.v10.txt -o $$@
# split overlay
$(BUILD_DIR)/$(1)_SPLAT_TIMESTAMP : $(SUBYAML)/$(1).$(VERSION).yaml $(BUILD_DIR)/$(1).$(VERSION).bin $(SYMBOL_ADDRS)
$(call print1,Splitting bin:,$$<)
@ -310,8 +294,8 @@ endef
$(foreach overlay,$(OVERLAYS),$(eval $(call overlay_rules,$(overlay))))
# Additional symbols for core2
$(BUILD_DIR)/core2.elf: LDFLAGS_COMMON = -T symbol_addrs.core1.$(VERSION).txt -T symbol_addrs.core2.$(VERSION).txt -T symbol_addrs.global.$(VERSION).txt -T undefined_syms.$(VERSION).txt -T undefined_syms.libultra.txt --no-check-sections --accept-unknown-input-arch -T level_symbols.$(VERSION).txt
$(BUILD_DIR)/core2.temp.elf: LDFLAGS_COMMON = -T symbol_addrs.core1.$(VERSION).txt -T symbol_addrs.core2.$(VERSION).txt -T symbol_addrs.global.$(VERSION).txt -T undefined_syms.$(VERSION).txt -T undefined_syms.libultra.txt --no-check-sections --accept-unknown-input-arch -T level_symbols.$(VERSION).txt
$(BUILD_DIR)/core2.elf: LDFLAGS_COMMON = -T symbol_addrs.core1.$(VERSION).txt -T symbol_addrs.core2.$(VERSION).txt -T symbol_addrs.global.$(VERSION).txt -T undefined_syms.$(VERSION).txt -T undefined_syms.libultra.txt --no-check-sections --accept-unknown-input-arch -T level_symbols.us.v10.txt
$(BUILD_DIR)/core2.temp.elf: LDFLAGS_COMMON = -T symbol_addrs.core1.$(VERSION).txt -T symbol_addrs.core2.$(VERSION).txt -T symbol_addrs.global.$(VERSION).txt -T undefined_syms.$(VERSION).txt -T undefined_syms.libultra.txt --no-check-sections --accept-unknown-input-arch -T level_symbols.us.v10.txt
# mkdir
$(ALL_DIRS) :
@ -405,7 +389,7 @@ ifneq ($(CORE2_CODE_CRC_C_OBJS),)
# core2 objects with zero for code CRC -> core2.temp.elf
$(BUILD_DIR)/core2.temp.elf : $(core2_NON_CRC_OBJS) $(CORE2_TEMP_LD) $(CORE2_CODE_CRC_C_TEMP_OBJS)
$(call print1,Linking elf:,$@)
@$(LD) -T $(CORE2_TEMP_LD) -Map $(BUILD_DIR)/core2.map $(LDFLAGS_COMMON) -T undefined_syms_auto.core2.$(VERSION).txt -T undefined_funcs_auto.core2.$(VERSION).txt -o $@
@$(LD) -T $(CORE2_TEMP_LD) -Map $(BUILD_DIR)/core2.map $(LDFLAGS_COMMON) -T undefined_syms_auto.core2.us.v10.txt -T undefined_funcs_auto.core2.us.v10.txt -o $@
# core2.temp.elf -> core2.temp.code
$(BUILD_DIR)/core2.temp.code : $(BUILD_DIR)/core2.temp.elf
@ -479,7 +463,7 @@ $(ASSET_OBJS): $(ASSET_BIN)
# .o -> .elf (game)
$(ELF): $(MAIN_ALL_OBJS) $(LD_SCRIPT) $(OVERLAY_RZIP_OBJS) $(addprefix $(BUILD_DIR)/, $(addsuffix .full, $(OVERLAYS))) $(ASSET_OBJS)
$(call print1,Linking elf:,$@)
@$(LD) $(LDFLAGS) -T undefined_syms_auto.$(VERSION).txt -o $@
@$(LD) $(LDFLAGS) -T undefined_syms_auto.us.v10.txt -o $@
$(BK_BOOT_LD_SCRIPT): $(LD_SCRIPT)
sed '\|$(CRC_OBJS)|d' $< > $@
@ -487,7 +471,7 @@ $(BK_BOOT_LD_SCRIPT): $(LD_SCRIPT)
# .o -> .elf (game)
$(BUILD_DIR)/bk_boot.elf: $(filter-out $(CRC_OBJS),$(MAIN_ALL_OBJS)) $(BK_BOOT_LD_SCRIPT) $(OVERLAY_RZIP_OBJS) $(addprefix $(BUILD_DIR)/, $(addsuffix .full, $(OVERLAYS)))
$(call print1,Linking elf:,$@)
@$(LD) -T $(BK_BOOT_LD_SCRIPT) -Map $(ELF:.elf=.map) --no-check-sections --accept-unknown-input-arch -T undefined_syms.libultra.txt -T undefined_syms_auto.$(VERSION).txt -o $@
@$(LD) -T $(BK_BOOT_LD_SCRIPT) -Map $(ELF:.elf=.map) --no-check-sections --accept-unknown-input-arch -T undefined_syms.libultra.txt -T undefined_syms_auto.us.v10.txt -o $@
# .elf -> .z64
$(Z64) : $(ELF) $(OVERLAY_PROG_SVGS) $(MAIN_PROG_SVG) $(TOTAL_PROG_SVG)
@ -534,59 +518,59 @@ clean:
@$(RM) -f $(SYMBOL_ADDRS)
# Per-file flag definitions
build/$(VERSION)/src/core1/io/%.c.o: OPT_FLAGS = -O1
build/$(VERSION)/src/core1/io/pimgr.c.o: OPT_FLAGS = -O1
build/$(VERSION)/src/core1/done/io/%.c.o: OPT_FLAGS = -O1
build/$(VERSION)/src/core1/os/%.c.o: OPT_FLAGS = -O1
build/$(VERSION)/src/core1/code_2D2D0.c.o: OPT_FLAGS = -O1
build/$(VERSION)/src/core1/done/os/%.c.o: OPT_FLAGS = -O1
build/$(VERSION)/src/core1/code_21A10.c.o: INCLUDE_CFLAGS = -I . -I include -I include/2.0L -I include/2.0L/PR
build/$(VERSION)/src/core1/code_21A10.c.o: OPT_FLAGS = -O3
build/$(VERSION)/src/core1/done/gu/%.c.o: OPT_FLAGS = -O3
build/$(VERSION)/src/core1/done/gu/%.c.o: INCLUDE_CFLAGS = -I . -I include -I include/2.0L -I include/2.0L/PR
build/$(VERSION)/src/core1/gu/mtxutil.c.o: OPT_FLAGS = -O2
build/$(VERSION)/src/core1/gu/rotate.c.o: OPT_FLAGS = -O2
build/$(VERSION)/src/core1/done/audio/%.c.o: INCLUDE_CFLAGS = -I . -I include -I include/2.0L -I include/2.0L/PR
build/$(VERSION)/src/core1/done/audio/%.c.o: OPT_FLAGS = -O3
# build/$(VERSION)/src/core1/code_21CB0.c.o: INCLUDE_CFLAGS = -I . -I include -I include/2.0L -I include/2.0L/PR
# build/$(VERSION)/src/core1/code_21CB0.c.o: OPT_FLAGS = -O3
build/$(VERSION)/src/core1/done/io/sptask.c.o: OPT_FLAGS = -O1
build/$(VERSION)/src/core1/done/ll.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/core1/done/ll.c.o: MIPSBIT := -mips3 -o32
build/us.v10/src/core1/io/%.c.o: OPT_FLAGS = -O1
build/us.v10/src/core1/io/pimgr.c.o: OPT_FLAGS = -O1
build/us.v10/src/core1/done/io/%.c.o: OPT_FLAGS = -O1
build/us.v10/src/core1/os/%.c.o: OPT_FLAGS = -O1
build/us.v10/src/core1/code_2D2D0.c.o: OPT_FLAGS = -O1
build/us.v10/src/core1/done/os/%.c.o: OPT_FLAGS = -O1
build/us.v10/src/core1/code_21A10.c.o: INCLUDE_CFLAGS = -I . -I include -I include/2.0L -I include/2.0L/PR
build/us.v10/src/core1/code_21A10.c.o: OPT_FLAGS = -O3
build/us.v10/src/core1/done/gu/%.c.o: OPT_FLAGS = -O3
build/us.v10/src/core1/done/gu/%.c.o: INCLUDE_CFLAGS = -I . -I include -I include/2.0L -I include/2.0L/PR
build/us.v10/src/core1/gu/mtxutil.c.o: OPT_FLAGS = -O2
build/us.v10/src/core1/gu/rotate.c.o: OPT_FLAGS = -O2
build/us.v10/src/core1/done/audio/%.c.o: INCLUDE_CFLAGS = -I . -I include -I include/2.0L -I include/2.0L/PR
build/us.v10/src/core1/done/audio/%.c.o: OPT_FLAGS = -O3
# build/us.v10/src/core1/code_21CB0.c.o: INCLUDE_CFLAGS = -I . -I include -I include/2.0L -I include/2.0L/PR
# build/us.v10/src/core1/code_21CB0.c.o: OPT_FLAGS = -O3
build/us.v10/src/core1/done/io/sptask.c.o: OPT_FLAGS = -O1
build/us.v10/src/core1/done/ll.c.o: OPT_FLAGS := -O1
build/us.v10/src/core1/done/ll.c.o: MIPSBIT := -mips3 -o32
build/$(VERSION)/src/bk_boot_27F0.c.o: OPT_FLAGS = -O2
build/$(VERSION)/src/done/destroythread.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/pirawdma.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/thread.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/pimgr.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/getthreadid.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/setthreadpri.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/createthread.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/yieldthread.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/setglobalintmask.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/recvmesg.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/startthread.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/devmgr.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/sendmesg.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/pigetstat.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/si.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/resetglobalintmask.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/epirawwrite.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/epirawread.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/createmesgqueue.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/leodiskinit.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/virtualtophysical.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/ll.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/ll.c.o: MIPSBIT := -mips3 -o32
build/$(VERSION)/src/done/sirawwrite.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/sirawread.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/initialize.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/pirawread.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/seteventmesg.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/siacs.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/cartrominit.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/leointerrupt.c.o: OPT_FLAGS := -O1
build/$(VERSION)/src/done/epirawdma.c.o: OPT_FLAGS := -O1
build/us.v10/src/bk_boot_27F0.c.o: OPT_FLAGS = -O2
build/us.v10/src/done/destroythread.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/pirawdma.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/thread.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/pimgr.c.o: OPT_FLAGS := -O1
build/us.v10/src/getthreadid.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/setthreadpri.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/createthread.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/yieldthread.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/setglobalintmask.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/recvmesg.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/startthread.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/devmgr.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/sendmesg.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/pigetstat.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/si.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/resetglobalintmask.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/epirawwrite.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/epirawread.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/createmesgqueue.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/leodiskinit.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/virtualtophysical.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/ll.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/ll.c.o: MIPSBIT := -mips3 -o32
build/us.v10/src/done/sirawwrite.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/sirawread.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/initialize.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/pirawread.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/seteventmesg.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/siacs.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/cartrominit.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/leointerrupt.c.o: OPT_FLAGS := -O1
build/us.v10/src/done/epirawdma.c.o: OPT_FLAGS := -O1
# Disable implicit rules
MAKEFLAGS += -r

View File

@ -1,185 +1,86 @@
options:
basename: banjo
find_file_boundaries: True
compiler: "IDO"
platform: n64
asm_endlabels: "endlabel"
cpp_args:
- "-Iinclude"
- "-Iinclude/2.0L"
- "-D_LANGUAGE_C"
generated_c_preamble: |
#include <ultra64.h>
#include "functions.h"
#include "variables.h"
create_detected_syms: yes
find_file_boundaries: true
compiler: "\"IDO\""
undefined_syms_path: undefined_syms.pal.txt
symbol_addrs_path: symbol_addrs.boot.pal.txt
undefined_funcs_auto_path: undefined_funcs_auto.pal.txt
undefined_syms_auto_path: undefined_syms_auto.pal.txt
base_path: .
target_path: baserom.pal.z64
asset_path: bin
build_path: build/pal
segments:
- [0x0, bin, binner]
# - name: header
# type: header
# start: 0x00000000
# - name: boot
# type: code
# start: 0x00000040
# vram: 0xA4000040
# subsegments:
# - [0x0040, asm, boot]
# - [0x0B70, bin, boot2]
# - name: entry
# type: code
# start: 0x1000
# vram: 0x80000400
# subsegments:
# - [0x1000, hasm, entry]
# - name: boot/bk_boot
# type: code
# start: 0x1050
# vram: 0x80000450
# subsegments:
# - [0x1050, c, done/bk_boot_1050]
# - [0x1150, c, done/rarezip]
# - [0x12B0, c, done/inflate]
# - [0x27F0, c, done/overlays]
# - [0x2970, c, done/initialize]
# - [0x2C00, c, done/pirawdma]
# - [0x2CE0, c, done/pigetstat]
# - [0x2CF0, hasm, bzero]
# - [0x2D90, hasm, setsr]
# - [0x2DA0, hasm, getsr]
# - [0x2DB0, hasm, setfpccsr]
# - [0x2DC0, c, done/sirawread]
# - [0x2E10, c, done/sirawwrite]
# - [0x2E60, hasm, ultra/exceptasm]
# - [0x3770, hasm, writebackdcache]
# - [0x37F0, hasm, invalicache]
# - [0x3870, hasm, maptlbrdb]
# - [0x38D0, c, done/pirawread]
# - [0x3930, c, done/ll]
# - [0x3BF0, bin, padding3BF0] # Empty space
# - [0x3C50, c, done/virtualtophysical]
# - [0x3CD0, c, done/si]
# - [0x3D00, c, done/thread]
# - [0x3D40, c, done/leointerrupt]
# - [0x45C0, c, done/seteventmesg]
# - [0x4630, hasm, ultra/setintmask]
# - [0x46D0, c, done/destroythread]
# - [0x47D0, hasm, probetlb]
# - [0x4890, c, done/leodiskinit]
# - [0x4990, c, done/epirawdma]
# - [0x4BC0, hasm, interrupt]
# - [0x4C00, c, done/pimgr]
# - [0x4D90, c, done/cartrominit]
# - [0x4E90, c, done/createmesgqueue]
# - [0x4EC0, c, done/piacs]
# - [0x4F80, c, done/getthreadpri]
# - [0x4FA0, c, done/setthreadpri]
# - [0x5080, c, done/createthread]
# - [0x51D0, c, done/devmgr]
# - [0x5660, c, done/startthread]
# - [0x57B0, c, done/sendmesg]
# - [0x5900, c, done/recvmesg]
# - [0x5A40, c, done/resetglobalintmask]
# - [0x5AA0, c, done/epirawwrite]
# - [0x5AF0, c, done/epirawread]
# - [0x5B40, c, done/setglobalintmask]
# - [0x5B90, c, done/yieldthread]
# - [0x5BE0, c, done/kdebugserver]
# - [0x5BE0, .data, done/inflate]
# - [0x5CE0, .data, done/initialize]
# - [0x5D00, .data, ultra/exceptasm]
# - [0x5D20, .data, done/thread]
# - [0x5D40, .data, done/pimgr]
# - [0x5D70, .data, done/piacs]
# - [0x5D80, .rodata, ultra/exceptasm]
# - [0x5DD0, .rodata, ultra/setintmask]
# - [0x5E50, .rodata, done/devmgr]
# - [0x5E70, .bss, done/bk_boot_1050]
# - [0x5E70, .bss, done/rarezip]
# - [0x5E70, .bss, done/inflate]
# - [0x5E70, .bss, done/initialize]
# - [0x5E70, .bss, done/kdebugserver]
# - [0x5E70, .bss, done/leointerrupt]
# - [0x5E70, .bss, done/seteventmesg]
# - [0x5E70, .bss, done/leodiskinit]
# - [0x5E70, .bss, done/pimgr]
# - [0x5E70, .bss, done/cartrominit]
# - [0x5E70, .bss, done/piacs]
# - name: crc
# type: bin
# start: 0x5E70
# subsegments:
# - [0x5E70, bin, crc]
# - name: assets
# type: bin
# start: 0x5E90
# subsegments:
# - [0x5E90, bin, assets]
# - name: soundfont1
# type: bin
# start: 0x00DA8DF0
# subsegments:
# - [0x00DA8DF0, bin, soundfont1.ctl]
# - [0x00DB9BE0, bin, soundfont1.tbl]
# - name: soundfont2
# type: bin
# start: 0x00EC85E0
# subsegments:
# - [0x00EC85E0, bin, soundfont2.ctl]
# - [0x00ED2440, bin, soundfont2.tbl]
# - name: core1.pal.rzip
# type: bin
# start: 0x00F3D980
# - name: core2.pal.rzip
# type: bin
# start: 0x00F5BEC0
# - name: CC.pal.rzip
# type: bin
# start: 0x00FC8460
# - name: MMM.pal.rzip
# type: bin
# start: 0x00FCA3C0
# - name: GV.pal.rzip
# type: bin
# start: 0x00FCD5C0
# - name: TTC.pal.rzip
# type: bin
# start: 0x00FD2CC0
# - name: MM.pal.rzip
# type: bin
# start: 0x00FD6900
# - name: BGS.pal.rzip
# type: bin
# start: 0x00FD8930
# - name: RBB.pal.rzip
# type: bin
# start: 0x00FDDE80
# - name: FP.pal.rzip
# type: bin
# start: 0x00FE3060
- name: SM.pal.rzip
type: bin
start: 0x00FE8CA0
- name: cutscenes.pal.rzip
type: bin
start: 0x00FEB540
# - name: lair.pal.rzip
# type: bin
# start: 0x00FED780
# - name: fight.pal.rzip
# type: bin
# start: 0x00FF4A50
# - name: CCW.pal.rzip
# type: bin
# start: 0x00FFA830
# - name: emptyLvl.pal.rzip
# type: bin
# start: 0x00FFF090
- [0x01000000]
- name: header
type: header
start: 0x00000000
subsegments:
- [0x00000000, header, header]
- name: boot
type: bin
start: 0x00000040
- name: bk_boot
type: code
start: 0x00001000
vram: 0x80000400
subsegments:
- [0x00001000, asm]
- name: assets
type: bin
start: 0x00005E90
subsegments:
- [0x00005E90, bin, assets]
- name: soundfont1
type: bin
start: 0x00DA8DF0
subsegments:
- [0x00DA8DF0, bin, soundfont1.ctl]
- [0x00DB9BE0, bin, soundfont1.tbl]
- name: soundfont2
type: bin
start: 0x00EC85E0
subsegments:
- [0x00EC85E0, bin, soundfont2.ctl]
- [0x00ED2440, bin, soundfont2.tbl]
- name: core1.pal.rzip
type: bin
start: 0x00F3D980
- name: core2.pal.rzip
type: bin
start: 0x00F5BEC0
- name: level2.pal.rzip
type: bin
start: 0x00FC8460
- name: level9.pal.rzip
type: bin
start: 0x00FCA3C0
- name: level6.pal.rzip
type: bin
start: 0x00FCD5C0
- name: level1.pal.rzip
type: bin
start: 0x00FD2CC0
- name: level0.pal.rzip
type: bin
start: 0x00FD6900
- name: level3.pal.rzip
type: bin
start: 0x00FD8930
- name: level8.pal.rzip
type: bin
start: 0x00FDDE80
- name: level4.pal.rzip
type: bin
start: 0x00FE3060
- name: level10.pal.rzip
type: bin
start: 0x00FE8CA0
- name: level12.pal.rzip
type: bin
start: 0x00FEB540
- name: level5.pal.rzip
type: bin
start: 0x00FED780
- name: level11.pal.rzip
type: bin
start: 0x00FF4A50
- name: level7.pal.rzip
type: bin
start: 0x00FFA830
- name: emptyLvl.pal.rzip
type: bin
start: 0x00FFF090
- [0x01000000]

View File

@ -2,63 +2,4 @@
#include "functions.h"
#include "variables.h"
#define US_1_0 0
#define PAL 1
u8 D_8038BFC2;
#if VERSION == US_1_0
int func_8038AAB0(void){return 0;}
#elif VERSION == PAL
void func_8038AAB0(s32 arg0, s32 arg1){
if(arg1 < 0){
func_8031A844();
}
else{
D_8038BFC2 = arg1;
func_8038B4D0(3);
}
}
// #pragma GLOBAL_ASM("asm/nonmatchings/SM/code_46C0/func_8038A8F0.s")
void func_8038A8F0(s32 arg0) {
u8 temp_v0;
switch (arg0) { /* irregular */
case 1:
D_8038BFC1 = 1;
func_80319400();
break;
case 2:
D_8038BFC8->unk0 = (s32) D_8038BD38;
D_8038BFC8->unk4 = (s32) D_8038BD3C;
D_8038BFC8->unk10 = (s32) D_8038BD40;
D_8038BFC8->unk20 = (s32) D_8038BD44;
D_8038BFC8->unk30 = (s32) D_8038BD48;
func_8031A5E4(&D_8038BD30, &D_8038BD34, (void *)0x8038BFC8, 0xA, &D_8038B490);
break;
case 3:
temp_v0 = *(u8 *)0x8038BFC2;
if (temp_v0 != 0) {
func_8031B9A4(temp_v0 - 1, 0x80390000);
}
func_802FAF44(0);
D_8038BFC1 = 0;
break;
}
D_8038BFC0 = (s8) arg0;
}
// #pragma GLOBAL_ASM("asm/nonmatchings/SM/code_46C0/func_8038A9E4.s")
// #pragma GLOBAL_ASM("asm/nonmatchings/SM/code_46C0/func_8038AA30.s")
// #pragma GLOBAL_ASM("asm/nonmatchings/SM/code_46C0/func_8038AA64.s")
// #pragma GLOBAL_ASM("asm/nonmatchings/SM/code_46C0/func_8038AA74.s")
// #pragma GLOBAL_ASM("asm/nonmatchings/SM/code_46C0/func_8038AAE8.s")
#endif

View File

@ -1,5 +0,0 @@
#include <ultra64.h>
#include "functions.h"
#include "variables.h"
int func_8038AAB0(void){return 0;}

View File

@ -15,12 +15,6 @@ options:
create_detected_syms: yes
undefined_syms_path: undefined_syms.pal.txt
symbol_addrs_path: symbol_addrs.pal.txt
undefined_funcs_auto_path: undefined_funcs_auto.SM.pal.txt
undefined_syms_auto_path: undefined_syms_auto.SM.pal.txt
base_path: .
target_path: build/pal/SM.pal.bin
asset_path: bin
build_path: build/pal
segments:
- name: SM-code
dir: SM
@ -28,45 +22,12 @@ segments:
start: 0x00000000
vram: 0x80386DD0
subsegments:
- [0x00000000, c, code_0]
- [0xF0, c, code_F0]
- [0x5B0, c, code_5B0]
- [0xBF0, c, code_BF0]
- [0xD60, c, ch/attacktutorial]
- [0x1520, c, ch/vegetables]
- [0x2900, c, code_2900]
- [0x2990, c, code_2990]
- [0x3FC0, c, code_3FC0]
- [0x4070, c, code_4070]
- [0x44D0, c, code_44D0]
- [0x46C0, c, code_46C0]
- [0x00000000, asm]
- name: SM-data
dir: SM
type: code
start: 0x00004910
vram: 0x8038B6E0
subsegments:
- [0x00004910, .data, code_0]
- [0x00004930, .data, code_F0]
- [0x00004940, .data, code_5B0]
- [0x00004A40, .data, code_BF0]
- [0x00004A70, .data, ch/attacktutorial]
- [0x00004AA0, .data, ch/vegetables]
- [0x00004DB0, .data, code_2990]
- [0x00004E40, .data, code_3FC0]
- [0x00004F00, .data, code_4070]
- [0x00004F30, .data, code_44D0]
- [0x00004F60, .rodata, code_5B0]
- [0x00004F80, .rodata, ch/attacktutorial]
- [0x00005020, .rodata, ch/vegetables]
- [0x00005050, .rodata, code_2990]
- [0x00005160, .rodata, code_44D0]
- name: SM-bss
dir: SM
type: code
start: 0x00005160
vram: 0x8038BF30
subsegments:
- [0x00005160, .bss, code_F0]
- [0x00005160, .bss, code_46C0]
- [0x00005160]
- [0x00004910, bin, data_4910]
- [0x000051E0]