figure out flags for E3E0

This commit is contained in:
angie 2022-09-29 12:19:40 -03:00
parent 1318a01202
commit 593f902b3d
5 changed files with 39 additions and 5 deletions

View File

@ -161,6 +161,9 @@ DEP_FILES := $(O_FILES:.o=.d) \
# create build directories
$(shell mkdir -p $(BUILD_DIR)/auto $(BUILD_DIR)/linker_scripts $(foreach dir,$(SRC_DIRS) $(ASM_DIRS) $(BIN_DIRS) $(LIBULTRA_DIRS),$(BUILD_DIR)/$(dir)))
# directory flags
$(BUILD_DIR)/src/boot_O1/%.o: OPTFLAGS := -O1 -g3
#### Main Targets ###
all: $(ROM)
@ -241,8 +244,9 @@ $(BUILD_DIR)/%.o: %.c
$(RM_MDEBUG)
$(BUILD_DIR)/lib/%.o:
ifneq ($(PERMUTER), 1)
$(error Library files has not been built, please run `$(MAKE) lib` first)
endif
-include $(DEP_FILES)

View File

@ -232,7 +232,7 @@ segments:
- [0x00E3C0, c, ../lib/ultralib/src/io/si]
# end of libultra
- [0x00E3E0, asm, boot/00E3E0]
- [0x00E3E0, c, boot_O1/E3E0]
- [0x00E5C0, asm, boot/00E5C0]
- [0x00E800, asm, boot/00E800]
- [0x00E8B0, asm, boot/00E8B0]
@ -289,7 +289,7 @@ segments:
- [0x0119F0, .rodata, ../lib/ultralib/src/audio/reverb]
- [0x011A40, .rodata, ../lib/ultralib/src/gu/libm_vals]
- [0x011A50, rodata, boot/E350]
- [0x011A50, .rodata, boot_O1/E3E0]
- start: 0x011A60
name: boot/80010E60

View File

@ -39,8 +39,8 @@ void *func_80002380(romoffset_t segmentRom, UNK_TYPE arg1, romoffset_t segmentSi
// void func_800023B4();
// void func_80002400();
// void func_8000D7E0();
// void func_8000D868();
f64 func_8000D7E0(f64 arg0);
f64 func_8000D868(f64 arg0, f64 arg1);
// void func_8000D8C4();
// void func_8000D940();
// void func_8000D9C0();

18
src/boot_O1/E3E0.c Normal file
View File

@ -0,0 +1,18 @@
#include "ultra64.h"
#include "include_asm.h"
#include "gu/guint.h"
INCLUDE_ASM("asm/nonmatchings/boot_O1/E3E0", func_8000D7E0);
f64 func_8000D868(f64 arg0, f64 arg1) {
if (arg1 == 0.0) {
return 0.0;
}
return arg0 - (func_8000D7E0(arg0 / arg1) * arg1);
}
INCLUDE_ASM("asm/nonmatchings/boot_O1/E3E0", func_8000D8C4);
INCLUDE_ASM("asm/nonmatchings/boot_O1/E3E0", func_8000D940);

View File

@ -0,0 +1,12 @@
compiler_type = "gcc"
[preserve_macros]
NULL = "int"
"g[DS]P.*" = "void"
"gs[DS]P.*" = "void"
"gDma.*" = "void"
"G_IM_SIZ_.*" = "int"
"G_[AC]C.*" = "int"
[decompme.compilers]
"COMPILER_PATH=tools/gcc_kmc/linux/2.7.2" = "gcc2.7.2kmc"