Sort boot files (#260)

This commit is contained in:
Tharo 2021-08-11 03:15:31 +01:00 committed by GitHub
parent 9333306738
commit 82cc274b6a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
85 changed files with 213 additions and 176 deletions

View File

@ -133,26 +133,39 @@ DEP_FILES := $(O_FILES:.o=.asmproc.d)
# create build directories
$(shell mkdir -p build/baserom $(foreach dir,$(SRC_DIRS) $(ASM_DIRS) $(ASSET_BIN_DIRS),build/$(dir)))
build/src/libultra/os/%: OPTFLAGS := -O1
build/src/libultra/voice/%: OPTFLAGS := -O2
build/src/libultra/io/%: OPTFLAGS := -O2
build/src/libultra/libc/%: OPTFLAGS := -O2
build/src/libultra/libc/ll%: OPTFLAGS := -O1
build/src/libultra/libc/ll%: MIPS_VERSION := -mips3 -32
build/src/libultra/gu/%: OPTFLAGS := -O2
build/src/libultra/rmon/%: OPTFLAGS := -O2
build/src/boot_O2/%: OPTFLAGS := -O2
build/src/boot_O2_g3/%: OPTFLAGS := -O2 -g3
# directory flags
build/src/boot_O2/%.o: OPTFLAGS := -O2
build/src/boot_O2_g3/%.o: OPTFLAGS := -O2 -g3
build/src/libultra/os/%.o: OPTFLAGS := -O1
build/src/libultra/voice/%.o: OPTFLAGS := -O2
build/src/libultra/io/%.o: OPTFLAGS := -O2
build/src/libultra/libc/%.o: OPTFLAGS := -O2
build/src/libultra/gu/%.o: OPTFLAGS := -O2
build/src/libultra/rmon/%.o: OPTFLAGS := -O2
# file flags
build/src/boot_O2_g3/fault.o: CFLAGS += -trapuv
build/src/boot_O2_g3/fault_drawer.o: CFLAGS += -trapuv
build/src/libultra/%: CC := $(CC_OLD)
build/src/libultra/io/%: CC := python3 tools/asm-processor/build.py $(CC_OLD) -- $(AS) $(ASFLAGS) --
build/src/libultra/os/%: CC := python3 tools/asm-processor/build.py $(CC_OLD) -- $(AS) $(ASFLAGS) --
build/src/libultra/voice/%: CC := python3 tools/asm-processor/build.py $(CC_OLD) -- $(AS) $(ASFLAGS) --
build/src/libultra/libc/ll.o: OPTFLAGS := -O1
build/src/libultra/libc/ll.o: MIPS_VERSION := -mips3 -32
build/src/libultra/libc/llcvt.o: OPTFLAGS := -O1
build/src/libultra/libc/llcvt.o: MIPS_VERSION := -mips3 -32
CC := python3 tools/asm-processor/build.py $(CC) -- $(AS) $(ASFLAGS) --
# cc & asm-processor
build/src/boot_O2/%.o: CC := python3 tools/asm-processor/build.py $(CC) -- $(AS) $(ASFLAGS) --
build/src/boot_O2_g3/%.o: CC := python3 tools/asm-processor/build.py $(CC) -- $(AS) $(ASFLAGS) --
build/src/libultra/%.o: CC := python3 tools/asm-processor/build.py $(CC_OLD) -- $(AS) $(ASFLAGS) --
build/src/code/%.o: CC := python3 tools/asm-processor/build.py $(CC) -- $(AS) $(ASFLAGS) --
build/src/overlays/actors/%.o: CC := python3 tools/asm-processor/build.py $(CC) -- $(AS) $(ASFLAGS) --
build/src/overlays/effects/%.o: CC := python3 tools/asm-processor/build.py $(CC) -- $(AS) $(ASFLAGS) --
build/src/overlays/fbdemos/%.o: CC := python3 tools/asm-processor/build.py $(CC) -- $(AS) $(ASFLAGS) --
build/src/overlays/gamestates/%.o: CC := python3 tools/asm-processor/build.py $(CC) -- $(AS) $(ASFLAGS) --
build/src/overlays/kaleido_scope/%.o: CC := python3 tools/asm-processor/build.py $(CC) -- $(AS) $(ASFLAGS) --
#### Main Targets ###

View File

@ -56,9 +56,9 @@ void CIC6105_PrintRomInfo(void);
void CIC6105_AddRomInfoFaultPage(void);
void CIC6105_RemoveRomInfoFaultPage(void);
void func_800818F4(void);
void __osSyncVPrintf(UNK_TYPE4 param_1, ...);
void osSyncPrintf(char* str, ...);
void rmonPrintf(UNK_TYPE4 param_1, ...);
void __osSyncVPrintf(const char* fmt, ...);
void osSyncPrintf(const char* fmt, ...);
void rmonPrintf(const char* fmt, ...);
void Fault_SleepImpl(u32 duration);
void Fault_AddClient(FaultClient* client, fault_client_func callback, void* param0, void* param1);
void Fault_RemoveClient(FaultClient* client);
@ -400,7 +400,7 @@ void guPositionF(float mf[4][4], f32 r, f32 p, f32 h, f32 s, f32 x, f32 y, f32 z
void guPosition(Mtx* m, f32 r, f32 p, f32 h, f32 s, f32 x, f32 y, f32 z);
s32 osEPiRawStartDma(OSPiHandle*, s32, u32, void*, u32);
OSYieldResult osSpTaskYielded(OSTask* task);
s32 memcmp(void* __s1, void* __s2, size_t __n);
s32 bcmp(void* __s1, void* __s2, size_t __n);
OSTime osGetTime(void);
void guRotateF(float mf[4][4], f32 a, f32 x, f32 y, f32 z);
void guRotate(Mtx* m, f32 a, f32 x, f32 y, f32 z);
@ -498,13 +498,13 @@ s32 __osSpSetPc(u32 data);
// void __osVoiceContWrite4(void);
void __osGetHWIntrRoutine(s32 idx, OSMesgQueue** outQueue, OSMesg* outMsg);
// void __osSetHWIntrRoutine(void);
// u32 __osGetWatchLo(void);
u32 __osGetWatchLo(void);
void __osSetWatchLo(u32 value);
f32 fmodf(f32 param_1, f32 param_2);
void* __osMemset(void* param_1, u8 param_2, s32 param_3);
s32 __osMemcmp(const char* str1, const char* str2);
char* __osStrcpy(char* param_1, char* param_2);
// void __osMemcpy(void);
f32 fmodf(f32 dividend, f32 divisor);
void* __osMemset(void* ptr, s32 val, u32 size);
s32 __osStrcmp(const char* str1, const char* str2);
char* __osStrcpy(char* dst, const char* src);
void* __osMemcpy(void* dst, void* src, size_t size);
void EnAObj_Init(ActorEnAObj* this, GlobalContext* globalCtx);
void EnAObj_Destroy(ActorEnAObj* this, GlobalContext* globalCtx);
void EnAObj_Update1(ActorEnAObj* this, GlobalContext* globalCtx);

143
spec
View File

@ -33,7 +33,7 @@ beginseg
include "build/src/boot_O2_g3/fault_drawer.o"
include "build/data/boot/fault_drawer.bss.o"
include "build/src/boot_O2/boot_80084940.o"
include "build/src/boot/loadfragment.o"
include "build/src/boot_O2/loadfragment.o"
include "build/data/boot/loadfragment.data.o"
include "build/src/boot_O2/loadfragment2.o"
include "build/src/boot_O2/padutils.o"
@ -44,10 +44,10 @@ beginseg
include "build/src/boot_O2/assert.o"
include "build/src/boot_O2/boot_800862E0.o"
include "build/src/boot_O2/padsetup.o"
include "build/src/boot/boot_80086760.o"
include "build/src/boot_O2/boot_80086760.o"
include "build/data/boot/boot_80086760.bss.o"
include "build/asm/boot/fp.text.o"
include "build/src/boot/system_malloc.o"
include "build/src/boot_O2/system_malloc.o"
include "build/data/boot/system_malloc.data.o"
include "build/data/boot/system_malloc.bss.o"
include "build/src/boot_O2/rand.o"
@ -56,10 +56,11 @@ beginseg
include "build/src/boot_O2/__osMalloc.o"
include "build/data/boot/__osMalloc.bss.o"
include "build/src/libultra/rmon/sprintf.o"
include "build/src/boot/printutils.o"
include "build/src/boot_O2/printutils.o"
include "build/src/boot_O2/sleep.o"
include "build/asm/boot/setcause.text.o"
include "build/src/libultra/os/sendmesg.o"
include "build/src/boot/pfsfreeblocks.o"
include "build/src/libultra/io/pfsfreeblocks.o"
include "build/src/libultra/os/viextend.o"
include "build/src/libultra/os/stopthread.o"
include "build/src/libultra/os/recvmesg.o"
@ -81,7 +82,7 @@ beginseg
include "build/src/libultra/os/destroythread.o"
include "build/src/libultra/voice/voicecheckresult.o"
include "build/asm/boot/bzero.text.o"
include "build/src/boot/rumblepak.o"
include "build/src/libultra/io/rumblepak.o"
include "build/data/boot/rumblepak.bss.o"
include "build/src/libultra/io/siacs.o"
include "build/data/boot/siacs.bss.o"
@ -89,11 +90,11 @@ beginseg
include "build/data/boot/controller.bss.o"
include "build/src/libultra/os/createthread.o"
include "build/src/libultra/io/contreaddata.o"
include "build/src/boot/voicegetreaddata.o"
include "build/src/libultra/voice/voicegetreaddata.o"
include "build/src/libultra/os/virtualtophysical.o"
include "build/asm/boot/getsr.text.o"
include "build/asm/boot/setsr.text.o"
include "build/src/boot/writebackdcache.o"
include "build/asm/boot/writebackdcache.text.o"
include "build/data/boot/threadsave.bss.o"
include "build/src/libultra/os/initialize.o"
include "build/data/boot/initialize.bss.o"
@ -107,20 +108,20 @@ beginseg
include "build/src/libultra/gu/perspective.o"
include "build/src/libultra/io/sprawdma.o"
include "build/src/libultra/io/sirawdma.o"
include "build/src/boot/epilinkhandle.o"
include "build/src/libultra/io/epilinkhandle.o"
include "build/src/libultra/io/viblack.o"
include "build/src/libultra/io/sirawread.o"
include "build/src/libultra/os/getthreadid.o"
include "build/src/libultra/io/sptaskyield.o"
include "build/src/boot/pfsreadwritefile.o"
include "build/src/boot/pfsgetstatus.o"
include "build/src/libultra/io/pfsreadwritefile.o"
include "build/src/libultra/io/pfsgetstatus.o"
pad_text
include "build/asm/boot/guMtxIdentF.text.o"
include "build/src/libultra/io/visetmode.o"
include "build/asm/boot/getconfig.text.o"
include "build/asm/boot/setconfig.text.o"
include "build/src/libultra/gu/lookat.o"
include "build/src/boot/pfsallocatefile.o"
include "build/src/libultra/io/pfsallocatefile.o"
include "build/src/libultra/os/stoptimer.o"
include "build/asm/boot/probetlb.text.o"
include "build/src/libultra/io/pimgr.o"
@ -128,109 +129,109 @@ beginseg
include "build/data/boot/pimgr.bss.o"
include "build/src/libultra/io/piacs.o"
pad_text
include "build/src/boot/devmgr.o"
include "build/src/libultra/io/devmgr.o"
include "build/src/libultra/io/pirawdma.o"
include "build/src/boot/contpfs.o"
include "build/src/libultra/io/contpfs.o"
include "build/data/boot/contpfs.data.o"
include "build/asm/boot/getcount.text.o"
pad_text
include "build/asm/boot/guMtxL2F.text.o"
include "build/src/libultra/os/getmemsize.o"
include "build/src/boot/pfssearchfile.o"
include "build/src/libultra/io/pfssearchfile.o"
include "build/src/libultra/os/seteventmesg.o"
include "build/data/boot/seteventmesg.bss.o"
include "build/src/boot/sqrtf.o"
include "build/src/boot/afterprenmi.o"
include "build/src/libultra/gu/sqrtf.o"
include "build/src/libultra/os/afterprenmi.o"
include "build/src/libultra/io/contquery.o"
include "build/src/libultra/gu/lookathil.o"
include "build/src/libultra/rmon/xprintf.o"
include "build/src/boot/voicecleardictionary.o"
include "build/src/libultra/voice/voicecleardictionary.o"
include "build/asm/boot/unmaptlball.text.o"
include "build/src/libultra/io/epidma.o"
include "build/src/boot/voicecontread2.o"
include "build/src/boot/voicecrc.o"
include "build/src/libultra/voice/voicecontread2.o"
include "build/src/libultra/voice/voicecrc.o"
include "build/src/libultra/libc/string.o"
include "build/src/libultra/os/createmesgqueue.o"
include "build/src/boot/invalicache.o"
include "build/src/boot/invaldcache.o"
include "build/asm/boot/invalicache.text.o"
include "build/asm/boot/invaldcache.text.o"
include "build/src/libultra/os/timerintr.o"
include "build/src/boot/voicecontread36.o"
include "build/src/boot/sp.o"
include "build/src/libultra/voice/voicecontread36.o"
include "build/src/libultra/io/sp.o"
include "build/src/libultra/io/si.o"
include "build/asm/boot/guMtxIdent.text.o"
include "build/src/libultra/os/jammesg.o"
include "build/src/libultra/os/setthreadpri.o"
include "build/src/libultra/os/getthreadpri.o"
include "build/src/boot/epirawread.o"
include "build/src/libultra/io/epirawread.o"
include "build/src/libultra/io/viswapbuf.o"
include "build/src/boot/position.o"
include "build/src/libultra/gu/position.o"
include "build/data/boot/position.data.o"
include "build/src/boot/epirawdma.o"
include "build/src/libultra/io/epirawdma.o"
include "build/src/libultra/io/sptaskyielded.o"
include "build/src/boot/memcmp.o"
include "build/asm/boot/bcmp.text.o"
include "build/src/libultra/os/gettime.o"
include "build/src/libultra/gu/rotate.o"
include "build/src/boot/setglobalintmask.o"
include "build/src/boot/voiceinit.o"
include "build/src/libultra/os/setglobalintmask.o"
include "build/src/libultra/voice/voiceinit.o"
include "build/data/boot/voiceinit.data.o"
include "build/src/boot/contchannelreset.o"
include "build/src/boot/voicesetadconverter.o"
include "build/src/boot/aisetfreq.o"
include "build/src/boot/contramread.o"
include "build/src/libultra/io/contchannelreset.o"
include "build/src/libultra/voice/voicesetadconverter.o"
include "build/src/libultra/io/aisetfreq.o"
include "build/src/libultra/io/contramread.o"
include "build/data/boot/contramread.data.o"
include "build/src/boot/voicecontwrite20.o"
include "build/src/boot/crc.o"
include "build/src/libultra/voice/voicecontwrite20.o"
include "build/src/libultra/io/crc.o"
include "build/src/libultra/os/getactivequeue.o"
include "build/src/boot/normalize.o"
include "build/src/libultra/gu/normalize.o"
include "build/asm/boot/setcompare.text.o"
include "build/asm/boot/getcompare.text.o"
include "build/src/libultra/io/dpgetstat.o"
include "build/src/libultra/io/dpsetstat.o"
include "build/src/boot/bcopy.o"
include "build/src/boot/resetglobalintmask.o"
include "build/src/boot/pfsdeletefile.o"
include "build/asm/boot/bcopy.text.o"
include "build/src/libultra/os/resetglobalintmask.o"
include "build/src/libultra/io/pfsdeletefile.o"
include "build/src/libultra/gu/ortho.o"
include "build/asm/boot/interrupt.text.o"
include "build/src/libultra/io/vi.o"
include "build/data/boot/vi.data.o"
include "build/src/boot/viswapcontext.o"
include "build/src/libultra/io/viswapcontext.o"
include "build/src/libultra/io/pigetcmdq.o"
include "build/src/boot/cosf.o"
include "build/src/boot/epiread.o"
include "build/src/libultra/gu/cosf.o"
include "build/src/libultra/io/epiread.o"
include "build/src/libultra/io/visetspecial.o"
include "build/src/libultra/gu/coss.o"
include "build/src/libultra/os/settime.o"
include "build/src/boot/voicestopread.o"
include "build/src/libultra/voice/voicestopread.o"
include "build/src/libultra/gu/visetevent.o"
include "build/src/boot/pfsisplug.o"
include "build/src/libultra/io/pfsisplug.o"
include "build/src/libultra/voice/voicegetstatus.o"
include "build/src/boot/cartrominit.o"
include "build/src/libultra/io/cartrominit.o"
include "build/data/boot/cartrominit.data.o"
include "build/data/boot/cartrominit.bss.o"
include "build/src/boot/guS2DInitBg.o"
include "build/src/libultra/gu/guS2DInitBg.o"
include "build/data/boot/guS2DInitBg.data.o"
include "build/src/boot/pfsselectbank.o"
include "build/src/libultra/io/pfsselectbank.o"
include "build/src/libultra/io/contsetch.o"
include "build/src/boot/setfpccsr.o"
include "build/src/boot/getfpccsr.o"
include "build/src/boot/pfsfilestate.o"
include "build/src/boot/pfsinitpak.o"
include "build/src/boot/pfschecker.o"
include "build/asm/boot/setfpccsr.text.o"
include "build/asm/boot/getfpccsr.text.o"
include "build/src/libultra/io/pfsfilestate.o"
include "build/src/libultra/io/pfsinitpak.o"
include "build/src/libultra/io/pfschecker.o"
include "build/src/libultra/io/aigetlen.o"
include "build/src/boot/epiwrite.o"
include "build/src/libultra/io/epiwrite.o"
include "build/asm/boot/maptlbrdb.text.o"
include "build/src/libultra/os/yieldthread.o"
pad_text
include "build/asm/boot/guTranslate.text.o"
include "build/asm/boot/getcause.text.o"
include "build/src/boot/contramwrite.o"
include "build/src/libultra/io/contramwrite.o"
include "build/src/libultra/io/epirawwrite.o"
include "build/src/libultra/os/settimer.o"
include "build/data/boot/__libm_qnan_f.rodata.o"
include "build/src/boot/xldtob.o"
include "build/src/libultra/rmon/xldtob.o"
include "build/data/boot/xldtob.data.o"
include "build/src/libultra/libc/ldiv.o"
include "build/src/boot/xlitob.o"
include "build/src/libultra/rmon/xlitob.o"
include "build/src/libultra/io/sirawwrite.o"
include "build/src/libultra/io/spgetstat.o"
include "build/src/libultra/io/spsetstat.o"
@ -239,30 +240,30 @@ beginseg
include "build/data/boot/vimgr.data.o"
include "build/data/boot/vimgr.bss.o"
include "build/src/libultra/io/vigetcurrcontext.o"
include "build/src/boot/writebackdcacheall.o"
include "build/asm/boot/writebackdcacheall.text.o"
include "build/src/libultra/os/getcurrfaultthread.o"
include "build/src/boot/voicemaskdictionary.o"
include "build/src/libultra/voice/voicemaskdictionary.o"
pad_text
include "build/asm/boot/guMtxF2L.text.o"
include "build/src/libultra/os/startthread.o"
include "build/src/libultra/io/visetyscale.o"
include "build/src/libultra/io/visetxscale.o"
include "build/src/libultra/libc/llcvt.o"
include "build/src/boot/voicecheckword.o"
include "build/src/boot/voicecontrolgain.o"
include "build/src/boot/voicestartreaddata.o"
include "build/src/boot/vigetcurrframebuf.o"
include "build/src/boot/spsetpc.o"
include "build/src/boot/voicecontwrite4.o"
include "build/src/libultra/voice/voicecheckword.o"
include "build/src/libultra/voice/voicecontrolgain.o"
include "build/src/libultra/voice/voicestartreaddata.o"
include "build/src/libultra/io/vigetcurrframebuf.o"
include "build/src/libultra/io/spsetpc.o"
include "build/src/libultra/voice/voicecontwrite4.o"
include "build/src/libultra/os/gethwinterrupt.o"
include "build/src/boot/sethwinterrupt.o"
include "build/src/libultra/os/sethwinterrupt.o"
include "build/asm/boot/getwatchlo.text.o"
include "build/asm/boot/setwatchlo.text.o"
include "build/src/boot/fmodf.o"
include "build/src/boot/__osMemset.o"
include "build/src/boot_O2_g3/__osMemcmp.o"
include "build/src/boot/__osStrcpy.o"
include "build/src/boot/__osMemcpy.o"
include "build/src/boot_O2/fmodf.o"
include "build/src/boot_O2/__osMemset.o"
include "build/src/boot_O2/__osStrcmp.o"
include "build/src/boot_O2/__osStrcpy.o"
include "build/src/boot_O2/__osMemcpy.o"
include "build/data/boot/build.rodata.o"
endseg

View File

@ -1,3 +0,0 @@
#include "global.h"
#pragma GLOBAL_ASM("asm/non_matchings/boot/__osMemcpy/__osMemcpy.s")

View File

@ -1,3 +0,0 @@
#include "global.h"
#pragma GLOBAL_ASM("asm/non_matchings/boot/__osMemset/__osMemset.s")

View File

@ -1,3 +0,0 @@
#include "global.h"
#pragma GLOBAL_ASM("asm/non_matchings/boot/__osStrcpy/__osStrcpy.s")

View File

@ -1,3 +0,0 @@
#include "global.h"
#pragma GLOBAL_ASM("asm/non_matchings/boot/bcopy/bcopy.s")

View File

@ -1,3 +0,0 @@
#include "global.h"
#pragma GLOBAL_ASM("asm/non_matchings/boot/fmodf/fmodf.s")

View File

@ -1,3 +0,0 @@
#include "global.h"
#pragma GLOBAL_ASM("asm/non_matchings/boot/getfpccsr/__osGetFpcCsr.s")

View File

@ -1,3 +0,0 @@
#include "global.h"
#pragma GLOBAL_ASM("asm/non_matchings/boot/invaldcache/osInvalDCache.s")

View File

@ -1,3 +0,0 @@
#include "global.h"
#pragma GLOBAL_ASM("asm/non_matchings/boot/invalicache/osInvalICache.s")

View File

@ -1,3 +0,0 @@
#include "global.h"
#pragma GLOBAL_ASM("asm/non_matchings/boot/memcmp/memcmp.s")

View File

@ -1,15 +0,0 @@
#include "global.h"
#pragma GLOBAL_ASM("asm/non_matchings/boot/printutils/PrintUtils_VPrintf.s")
#pragma GLOBAL_ASM("asm/non_matchings/boot/printutils/PrintUtils_Printf.s")
#pragma GLOBAL_ASM("asm/non_matchings/boot/printutils/Sleep_Cycles.s")
#pragma GLOBAL_ASM("asm/non_matchings/boot/printutils/Sleep_Nsec.s")
#pragma GLOBAL_ASM("asm/non_matchings/boot/printutils/Sleep_Usec.s")
#pragma GLOBAL_ASM("asm/non_matchings/boot/printutils/Sleep_Msec.s")
#pragma GLOBAL_ASM("asm/non_matchings/boot/printutils/Sleep_Sec.s")

View File

@ -1,3 +0,0 @@
#include "global.h"
#pragma GLOBAL_ASM("asm/non_matchings/boot/setfpccsr/__osSetFpcCsr.s")

View File

@ -1,3 +0,0 @@
#include "global.h"
#pragma GLOBAL_ASM("asm/non_matchings/boot/writebackdcache/osWritebackDCache.s")

View File

@ -1,3 +0,0 @@
#include "global.h"
#pragma GLOBAL_ASM("asm/non_matchings/boot/writebackdcacheall/osWritebackDCacheAll.s")

23
src/boot_O2/__osMemcpy.c Normal file
View File

@ -0,0 +1,23 @@
#include "global.h"
void* __osMemcpy(void* dst, void* src, size_t size) {
u8* _dst = dst;
u8* _src = src;
register s32 rem;
if (_dst == _src) {
return dst;
}
if (_dst < _src) {
for (rem = size--; rem != 0; rem = size--) {
*_dst++ = *_src++;
}
} else {
_dst += size - 1;
_src += size - 1;
for (rem = size--; rem != 0; rem = size--) {
*_dst-- = *_src--;
}
}
return dst;
}

11
src/boot_O2/__osMemset.c Normal file
View File

@ -0,0 +1,11 @@
#include "global.h"
void* __osMemset(void* ptr, s32 val, u32 size) {
u8* dst = ptr;
register s32 rem;
for (rem = size--; rem != 0; rem = size--) {
*dst++ = val;
}
return ptr;
}

16
src/boot_O2/__osStrcmp.c Normal file
View File

@ -0,0 +1,16 @@
#include "global.h"
s32 __osStrcmp(const char* str1, const char* str2) {
char c1;
char c2;
do {
c1 = *str1++;
c2 = *str2++;
if (c1 != c2) {
return c1 - c2;
}
} while (c1);
return 0;
}

12
src/boot_O2/__osStrcpy.c Normal file
View File

@ -0,0 +1,12 @@
#include "global.h"
char* __osStrcpy(char* dst, const char* src) {
char* _dst = dst;
while (*src != '\0') {
*_dst++ = *src++;
}
*_dst = '\0';
return dst;
}

12
src/boot_O2/fmodf.c Normal file
View File

@ -0,0 +1,12 @@
#include "global.h"
f32 fmodf(f32 dividend, f32 divisor) {
s32 quotient;
if (divisor == 0.0f) {
return 0.0f;
}
quotient = dividend / divisor;
return dividend - quotient * divisor;
}

5
src/boot_O2/printutils.c Normal file
View File

@ -0,0 +1,5 @@
#include "global.h"
#pragma GLOBAL_ASM("asm/non_matchings/boot/printutils/PrintUtils_VPrintf.s")
#pragma GLOBAL_ASM("asm/non_matchings/boot/printutils/PrintUtils_Printf.s")

11
src/boot_O2/sleep.c Normal file
View File

@ -0,0 +1,11 @@
#include "global.h"
#pragma GLOBAL_ASM("asm/non_matchings/boot/sleep/Sleep_Cycles.s")
#pragma GLOBAL_ASM("asm/non_matchings/boot/sleep/Sleep_Nsec.s")
#pragma GLOBAL_ASM("asm/non_matchings/boot/sleep/Sleep_Usec.s")
#pragma GLOBAL_ASM("asm/non_matchings/boot/sleep/Sleep_Msec.s")
#pragma GLOBAL_ASM("asm/non_matchings/boot/sleep/Sleep_Sec.s")

View File

@ -1,18 +0,0 @@
#include "global.h"
/*
* Compare strings (strcmp).
*/
s32 __osMemcmp(const char* str1, const char* str2) {
char currentCharStr1;
char currentCharStr2;
do {
currentCharStr1 = *str1++;
currentCharStr2 = *str2++;
if (currentCharStr1 != currentCharStr2) {
return currentCharStr1 - currentCharStr2;
}
} while (currentCharStr1);
return 0;
}

View File

@ -1,10 +1,11 @@
#include "global.h"
// This file contains print functions that are used by fault.c, so they are placed in the fault module
// This isn't a vprintf since it doesn't take a va_list
void __osSyncVPrintf(const char* fmt, ...) {
}
void __osSyncVPrintf(UNK_TYPE4 param_1, ...) {
void osSyncPrintf(const char* fmt, ...) {
}
void osSyncPrintf(char* str, ...) {
}
void rmonPrintf(UNK_TYPE4 param_1, ...) {
void rmonPrintf(const char* fmt, ...) {
}

View File

@ -66,6 +66,7 @@
0x80087160 : "__osMalloc",
0x80087830 : "sprintf",
0x80087900 : "printutils",
0x80087960 : "sleep",
0x80087B00 : "setcause",
0x80087B10 : "sendmesg",
0x80087C60 : "pfsfreeblocks",
@ -156,7 +157,7 @@
0x8008FEB0 : "position",
0x800900C0 : "epirawdma",
0x800902A0 : "sptaskyielded",
0x80090300 : "memcmp",
0x80090300 : "bcmp",
0x80090420 : "gettime",
0x800904B0 : "rotate",
0x80090680 : "setglobalintmask",
@ -239,7 +240,7 @@
0x80096820 : "setwatchlo",
0x80096830 : "fmodf",
0x80096880 : "__osMemset",
0x800968B0 : "__osMemcmp",
0x800968B0 : "__osStrcmp",
0x800968F0 : "__osStrcpy",
0x80096930 : "__osMemcpy",

View File

@ -380,7 +380,7 @@
0x80090058:("guPosition",),
0x800900C0:("osEPiRawStartDma",),
0x800902A0:("osSpTaskYielded",),
0x80090300:("memcmp",),
0x80090300:("bcmp",),
0x80090420:("osGetTime",),
0x800904B0:("guRotateF",),
0x80090634:("guRotate",),
@ -481,7 +481,7 @@
0x80096820:("__osSetWatchLo",),
0x80096830:("fmodf",),
0x80096880:("__osMemset",),
0x800968B0:("__osMemcmp",),
0x800968B0:("__osStrcmp",),
0x800968F0:("__osStrcpy",),
0x80096930:("__osMemcpy",),
0x800A5AC0:("EnAObj_Init",),

View File

@ -377,7 +377,7 @@ asm/non_matchings/boot/position/guPositionF.s,guPositionF,0x8008FEB0,0x6A
asm/non_matchings/boot/position/guPosition.s,guPosition,0x80090058,0x1A
asm/non_matchings/boot/epirawdma/osEPiRawStartDma.s,osEPiRawStartDma,0x800900C0,0x78
asm/non_matchings/boot/sptaskyielded/osSpTaskYielded.s,osSpTaskYielded,0x800902A0,0x18
asm/non_matchings/boot/memcmp/memcmp.s,memcmp,0x80090300,0x48
asm/non_matchings/boot/bcmp/bcmp.s,bcmp,0x80090300,0x48
asm/non_matchings/boot/gettime/osGetTime.s,osGetTime,0x80090420,0x24
asm/non_matchings/boot/rotate/guRotateF.s,guRotateF,0x800904B0,0x61
asm/non_matchings/boot/rotate/guRotate.s,guRotate,0x80090634,0x13
@ -478,6 +478,6 @@ asm/non_matchings/boot/getwatchlo/__osGetWatchLo.s,__osGetWatchLo,0x80096810,0x4
asm/non_matchings/boot/setwatchlo/__osSetWatchLo.s,__osSetWatchLo,0x80096820,0x4
asm/non_matchings/boot/fmodf/fmodf.s,fmodf,0x80096830,0x14
asm/non_matchings/boot/__osMemset/__osMemset.s,__osMemset,0x80096880,0xC
asm/non_matchings/boot/__osMemcmp/__osMemcmp.s,__osMemcmp,0x800968B0,0x10
asm/non_matchings/boot/__osStrcmp/__osStrcmp.s,__osStrcmp,0x800968B0,0x10
asm/non_matchings/boot/__osStrcpy/__osStrcpy.s,__osStrcpy,0x800968F0,0x10
asm/non_matchings/boot/__osMemcpy/__osMemcpy.s,__osMemcpy,0x80096930,0x24

1 asm/non_matchings/boot/boot_main/bootproc.s bootproc 0x80080060 0x3C
377 asm/non_matchings/boot/position/guPosition.s guPosition 0x80090058 0x1A
378 asm/non_matchings/boot/epirawdma/osEPiRawStartDma.s osEPiRawStartDma 0x800900C0 0x78
379 asm/non_matchings/boot/sptaskyielded/osSpTaskYielded.s osSpTaskYielded 0x800902A0 0x18
380 asm/non_matchings/boot/memcmp/memcmp.s asm/non_matchings/boot/bcmp/bcmp.s memcmp bcmp 0x80090300 0x48
381 asm/non_matchings/boot/gettime/osGetTime.s osGetTime 0x80090420 0x24
382 asm/non_matchings/boot/rotate/guRotateF.s guRotateF 0x800904B0 0x61
383 asm/non_matchings/boot/rotate/guRotate.s guRotate 0x80090634 0x13
478 asm/non_matchings/boot/setwatchlo/__osSetWatchLo.s __osSetWatchLo 0x80096820 0x4
479 asm/non_matchings/boot/fmodf/fmodf.s fmodf 0x80096830 0x14
480 asm/non_matchings/boot/__osMemset/__osMemset.s __osMemset 0x80096880 0xC
481 asm/non_matchings/boot/__osMemcmp/__osMemcmp.s asm/non_matchings/boot/__osStrcmp/__osStrcmp.s __osMemcmp __osStrcmp 0x800968B0 0x10
482 asm/non_matchings/boot/__osStrcpy/__osStrcpy.s __osStrcpy 0x800968F0 0x10
483 asm/non_matchings/boot/__osMemcpy/__osMemcpy.s __osMemcpy 0x80096930 0x24