From e40d2e8bb2c6f7e6a78311df1c2e06fcda0f3f53 Mon Sep 17 00:00:00 2001 From: Kelebek1 Date: Sat, 10 Aug 2024 02:22:18 +0100 Subject: [PATCH] a --- Makefile | 2 +- lib/ultralib/Makefile | 9 +- lib/ultralib/Makefile.gcc | 6 +- lib/ultralib/Makefile.ido | 4 +- lib/ultralib/include/PR/os_version.h | 7 +- lib/ultralib/src/io/cartrominit.c | 2 +- lib/ultralib/src/os/initialize.c | 29 +- linker_scripts/us/symbol_addrs.txt | 1 + yamls/us/rom.yaml | 433 ++++++++++++++------------- 9 files changed, 260 insertions(+), 233 deletions(-) diff --git a/Makefile b/Makefile index 18f19c8..8f5b215 100644 --- a/Makefile +++ b/Makefile @@ -64,7 +64,7 @@ TARGET := pokestadium BASEROM_DIR := baseroms/$(VERSION) BASEROM := $(BASEROM_DIR)/baserom.z64 -ULTRALIB_VERSION := I +ULTRALIB_VERSION := I_P ULTRALIB_TARGET := libultra_rom ### Output ### diff --git a/lib/ultralib/Makefile b/lib/ultralib/Makefile index a4714b6..19624e3 100644 --- a/lib/ultralib/Makefile +++ b/lib/ultralib/Makefile @@ -29,9 +29,10 @@ VERSION_F := 3 VERSION_G := 4 VERSION_H := 5 VERSION_I := 6 -VERSION_J := 7 -VERSION_K := 8 -VERSION_L := 9 +VERSION_I_P := 7 +VERSION_J := 8 +VERSION_K := 9 +VERSION_L := 10 VERSION_DEFINE := -DBUILD_VERSION=$(VERSION_$(VERSION)) -DBUILD_VERSION_STRING=\"2.0$(VERSION)\" @@ -59,7 +60,7 @@ S_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.s)) # Versions J and below used the C matrix math implementations MGU_MATRIX_FILES := mtxcatf normalize scale translate -ifneq ($(filter $(VERSION),D E F G H I J),) +ifneq ($(filter $(VERSION),D E F G H I I_P J),) S_FILES := $(filter-out $(addprefix src/mgu/,$(MGU_MATRIX_FILES:=.s)),$(S_FILES)) else C_FILES := $(filter-out $(addprefix src/gu/,$(MGU_MATRIX_FILES:=.c)),$(C_FILES)) diff --git a/lib/ultralib/Makefile.gcc b/lib/ultralib/Makefile.gcc index 96f1eed..fec93d0 100644 --- a/lib/ultralib/Makefile.gcc +++ b/lib/ultralib/Makefile.gcc @@ -14,12 +14,12 @@ IINC = -I . -I $(WORKING_DIR)/include -I $(WORKING_DIR)/include/gcc -I $(WORKING MIPS_VERSION := -mips3 ASOPTFLAGS := -ifneq ($(filter $(VERSION),D E F G H I J),) +ifneq ($(filter $(VERSION),D E F G H I I_P J),) CFLAGS += -funsigned-char endif # 2.0I libgultra_rom was not compiled with -DNDEBUG and instead libgultra had -DNDEBUG -ifneq ($(filter $(VERSION),I),) +ifneq ($(filter $(VERSION),I I_P),) ifeq ($(findstring _rom,$(TARGET)),_rom) DEBUGFLAG := else ifeq ($(findstring _d,$(TARGET)),_d) @@ -48,7 +48,7 @@ export VR4300MUL := ON $(BUILD_DIR)/src/os/initialize_isv.marker: OPTFLAGS := -O2 $(BUILD_DIR)/src/os/initialize_isv.marker: STRIP = && tools/gcc/strip-2.7 -N initialize_isv.c $(WORKING_DIR)/$(@:.marker=.o) $(BUILD_DIR)/src/os/assert.marker: OPTFLAGS := -O0 -ifeq ($(filter $(VERSION),D E F G H I),) +ifeq ($(filter $(VERSION),D E F G H I I_P),) $(BUILD_DIR)/src/os/seterrorhandler.marker: OPTFLAGS := -O0 endif $(BUILD_DIR)/src/mgu/%.marker: export VR4300MUL := OFF diff --git a/lib/ultralib/Makefile.ido b/lib/ultralib/Makefile.ido index 1550f4d..399f4ab 100644 --- a/lib/ultralib/Makefile.ido +++ b/lib/ultralib/Makefile.ido @@ -18,7 +18,7 @@ ifeq ($(findstring _d,$(TARGET)),_d) OPTFLAGS := -O1 -g2 ASOPTFLAGS := -O0 -g2 else -ifneq ($(filter $(VERSION),D E F G H I),) +ifneq ($(filter $(VERSION),D E F G H I I_P),) OPTFLAGS := -O1 else OPTFLAGS := -O2 @@ -48,7 +48,7 @@ $(BUILD_DIR)/src/os/exceptasm.marker: MIPS_VERSION := -mips3 -32 $(BUILD_DIR)/src/log/delay.marker: MIPS_VERSION := -mips1 -o32 $(BUILD_DIR)/src/log/delay.marker: PICFLAGS := -KPIC -ifneq ($(filter $(VERSION),D E F G H I),) +ifneq ($(filter $(VERSION),D E F G H I I_P),) $(BUILD_DIR)/src/libc/%.marker: OPTFLAGS := -O3 $(BUILD_DIR)/src/sched/%.marker: OPTFLAGS := -O3 $(BUILD_DIR)/src/gu/%.marker: OPTFLAGS := -O3 diff --git a/lib/ultralib/include/PR/os_version.h b/lib/ultralib/include/PR/os_version.h index aa10d20..95d2b1a 100644 --- a/lib/ultralib/include/PR/os_version.h +++ b/lib/ultralib/include/PR/os_version.h @@ -16,9 +16,10 @@ #define VERSION_G 4 #define VERSION_H 5 #define VERSION_I 6 -#define VERSION_J 7 -#define VERSION_K 8 -#define VERSION_L 9 +#define VERSION_I_P 7 +#define VERSION_J 8 +#define VERSION_K 9 +#define VERSION_L 10 #define OS_MAJOR_VERSION BUILD_VERSION_STRING /* major version */ #define OS_MINOR_VERSION 0 /* patch level */ diff --git a/lib/ultralib/src/io/cartrominit.c b/lib/ultralib/src/io/cartrominit.c index 87aa8bb..90ef68d 100644 --- a/lib/ultralib/src/io/cartrominit.c +++ b/lib/ultralib/src/io/cartrominit.c @@ -5,7 +5,7 @@ #include "PR/rcp.h" #include "piint.h" -#if BUILD_VERSION >= VERSION_J +#if BUILD_VERSION >= VERSION_I_P OSPiHandle __CartRomHandle ALIGNED(8); OSPiHandle* osCartRomInit(void) { u32 value = 0; diff --git a/lib/ultralib/src/os/initialize.c b/lib/ultralib/src/os/initialize.c index 89f4b02..f31c817 100644 --- a/lib/ultralib/src/os/initialize.c +++ b/lib/ultralib/src/os/initialize.c @@ -35,7 +35,11 @@ void* __printfunc = NULL; #define INITIALIZE_FUNC osInitialize #define SPEED_PARAM_FUNC createSpeedParam -#if BUILD_VERSION >= VERSION_J +#if BUILD_VERSION == VERSION_I_P +extern OSPiHandle CartRomHandle; +extern OSPiHandle LeoDiskHandle; +static OSPiHandle* __osCartRomInit(void); +#elif BUILD_VERSION >= VERSION_J static void ptstart(void); static void SPEED_PARAM_FUNC(void); #endif @@ -87,7 +91,12 @@ void INITIALIZE_FUNC() { *(__osExceptionVector*)E_VEC = *__osExceptionPreamble; osWritebackDCache((void*)UT_VEC, E_VEC - UT_VEC + sizeof(__osExceptionVector)); osInvalICache((void*)UT_VEC, E_VEC - UT_VEC + sizeof(__osExceptionVector)); -#if BUILD_VERSION >= VERSION_J + +#ifdef BUILD_VERSION == VERSION_I_P + __osCartRomInit(); + osUnmapTLBAll(); + osMapTLBRdb(); +#elif BUILD_VERSION >= VERSION_J SPEED_PARAM_FUNC(); osUnmapTLBAll(); osMapTLBRdb(); @@ -114,7 +123,7 @@ void INITIALIZE_FUNC() { osViClock = VI_NTSC_CLOCK; } -#if BUILD_VERSION >= VERSION_J +#if BUILD_VERSION >= VERSION_I_P // Wait until there are no RCP interrupts if (__osGetCause() & CAUSE_IP5) { while (TRUE) { @@ -207,6 +216,20 @@ void __osInitialize_autodetect() { } #endif } +#elif BUILD_VERSION == VERSION_I_P +static OSPiHandle *__osCartRomInit(void) { + CartRomHandle.type = DEVICE_TYPE_INIT; + CartRomHandle.latency = IO_READ(PI_BSD_DOM1_LAT_REG); + CartRomHandle.pulse = IO_READ(PI_BSD_DOM1_PWD_REG); + CartRomHandle.pageSize = IO_READ(PI_BSD_DOM1_PGS_REG); + CartRomHandle.relDuration = IO_READ(PI_BSD_DOM1_RLS_REG); + + LeoDiskHandle.type = DEVICE_TYPE_INIT; + LeoDiskHandle.latency = IO_READ(PI_BSD_DOM2_LAT_REG); + LeoDiskHandle.pulse = IO_READ(PI_BSD_DOM2_PWD_REG); + LeoDiskHandle.pageSize = IO_READ(PI_BSD_DOM2_PGS_REG); + LeoDiskHandle.relDuration = IO_READ(PI_BSD_DOM2_RLS_REG); +} #elif BUILD_VERSION == VERSION_J static void SPEED_PARAM_FUNC(void) { __Dom1SpeedParam.type = DEVICE_TYPE_INIT; diff --git a/linker_scripts/us/symbol_addrs.txt b/linker_scripts/us/symbol_addrs.txt index e2c7995..7e02311 100644 --- a/linker_scripts/us/symbol_addrs.txt +++ b/linker_scripts/us/symbol_addrs.txt @@ -210,6 +210,7 @@ leomain = 0x80051EC0; lldiv = 0x80064B10; Main = 0x80000530; memcpy = 0x8005E250; +__osRcpImTable = 0x8007E210; osAiGetLength = 0x80063700; osAiSetFrequency = 0x80062270; osAiSetNextBuffer = 0x80065BA0; diff --git a/yamls/us/rom.yaml b/yamls/us/rom.yaml index 955f694..cea9347 100644 --- a/yamls/us/rom.yaml +++ b/yamls/us/rom.yaml @@ -157,163 +157,163 @@ - [0x57390, c, libleo/seek] #libultra - - [0x573F0, lib, libultra/libultra, piacs] - - [0x574B0, lib, libultra/libultra, setcause] - - [0x574C0, lib, libultra/libultra, sendmesg] - - [0x57610, lib, libultra/libultra, stopthread] - - [0x576D0, lib, libultra/libultra, recvmesg] - - [0x57810, lib, libultra/libultra, setintmask] - - [0x578B0, lib, libultra/libultra, dequeuethread] - - [0x578F0, lib, libultra/libultra, scale] - - [0x57990, lib, libultra/libultra, sinf] - - [0x57B50, lib, libultra/libultra, sl] - - [0x57C10, lib, libultra/libultra, sptask] - - [0x57F00, lib, libultra/libultra, destroythread] - - [0x58010, lib, libultra/libultra, ll] - - [0x582D0, lib, libultra/libultra, exceptasm] - - [0x58BD0, lib, libultra/libultra, bzero] - - [0x58C70, lib, libultra/libultra, bnkf] - - [0x58EC0, lib, libultra/libultra, gbpakcheckconnector] - - [0x59350, lib, libultra/libultra, gbpakpower] - - [0x59460, lib, libultra/libultra, controller] - - [0x597A0, lib, libultra/libultra, siacs] + - [0x573F0, lib, libultra, piacs] + - [0x574B0, lib, libultra, setcause] + - [0x574C0, lib, libultra, sendmesg] + - [0x57610, lib, libultra, stopthread] + - [0x576D0, lib, libultra, recvmesg] + - [0x57810, lib, libultra, setintmask] + - [0x578B0, lib, libultra, dequeuethread] + - [0x578F0, lib, libultra, scale] + - [0x57990, lib, libultra, sinf] + - [0x57B50, lib, libultra, sl] + - [0x57C10, lib, libultra, sptask] + - [0x57F00, lib, libultra, destroythread] + - [0x58010, lib, libultra, ll] + - [0x582D0, lib, libultra, exceptasm] + - [0x58BD0, lib, libultra, bzero] + - [0x58C70, lib, libultra, bnkf] + - [0x58EC0, lib, libultra, gbpakcheckconnector] + - [0x59350, lib, libultra, gbpakpower] + - [0x59460, lib, libultra, controller] + - [0x597A0, lib, libultra, siacs] - [0x59860, pad] - - [0x598C0, lib, libultra/libultra, createthread] - - [0x59A10, lib, libultra/libultra, contreaddata] - - [0x59BF0, lib, libultra/libultra, setcount] - - [0x59C00, lib, libultra/libultra, conteeplongread] - - [0x59C90, lib, libultra/libultra, virtualtophysical] - - [0x59D10, lib, libultra/libultra, setsr] - - [0x59D20, lib, libultra/libultra, writebackdcache] - - [0x59DA0, lib, libultra/libultra, initialize] - - [0x5A0F0, lib, libultra/libultra, getsr] - - [0x5A100, lib, libultra/libultra, gbpakinit] - - [0x5A330, lib, libultra/libultra, pfsgetstatus] - - [0x5A560, lib, libultra/libultra, reverb] - - [0x5B1C0, lib, libultra/libultra, perspective] - - [0x5B450, lib, libultra/libultra, sprawdma] - - [0x5B4E0, lib, libultra/libultra, sirawdma] - - [0x5B590, lib, libultra/libultra, epilinkhandle] - - [0x5B5E0, lib, libultra/libultra, viblack] - - [0x5B650, lib, libultra/libultra, sirawread] - - [0x5B6A0, lib, libultra/libultra, sptaskyield] - - [0x5B6C0, lib, libultra/libultra, lookatref] - - [0x5BB50, lib, libultra/libultra, mtxutil] - - [0x5BDC0, lib, libultra/libultra, visetmode] - - [0x5BE30, lib, libultra/libultra, virepeatline] - - [0x5BEA0, lib, libultra/libultra, pfsisplug] - - [0x5C1E0, lib, libultra/libultra, probetlb] - - [0x5C2A0, lib, libultra/libultra, pimgr] + - [0x598C0, lib, libultra, createthread] + - [0x59A10, lib, libultra, contreaddata] + - [0x59BF0, lib, libultra, setcount] + - [0x59C00, lib, libultra, conteeplongread] + - [0x59C90, lib, libultra, virtualtophysical] + - [0x59D10, lib, libultra, setsr] + - [0x59D20, lib, libultra, writebackdcache] + - [0x59DA0, lib, libultra, initialize] + - [0x5A0F0, lib, libultra, getsr] + - [0x5A100, lib, libultra, gbpakinit] + - [0x5A330, lib, libultra, pfsgetstatus] + - [0x5A560, lib, libultra, reverb] + - [0x5B1C0, lib, libultra, perspective] + - [0x5B450, lib, libultra, sprawdma] + - [0x5B4E0, lib, libultra, sirawdma] + - [0x5B590, lib, libultra, epilinkhandle] + - [0x5B5E0, lib, libultra, viblack] + - [0x5B650, lib, libultra, sirawread] + - [0x5B6A0, lib, libultra, sptaskyield] + - [0x5B6C0, lib, libultra, lookatref] + - [0x5BB50, lib, libultra, mtxutil] + - [0x5BDC0, lib, libultra, visetmode] + - [0x5BE30, lib, libultra, virepeatline] + - [0x5BEA0, lib, libultra, pfsisplug] + - [0x5C1E0, lib, libultra, probetlb] + - [0x5C2A0, lib, libultra, pimgr] - [0x5C410, pad] - - [0x5C420, lib, libultra/libultra, devmgr] - - [0x5C830, lib, libultra/libultra, pirawdma] - - [0x5C900, lib, libultra/libultra, osGetCount] - - [0x5C910, lib, libultra/libultra, conteepprobe] - - [0x5C980, lib, libultra/libultra, conteepwrite] - - [0x5CD50, lib, libultra/libultra, getmemsize] - - [0x5CE70, lib, libultra/libultra, contpfs] - - [0x5D9F0, lib, libultra/libultra, seteventmesg] - - [0x5DAB0, lib, libultra/libultra, sqrtf] - - [0x5DAC0, lib, libultra/libultra, afterprenmi] - - [0x5DAE0, lib, libultra/libultra, mtxcatf] - - [0x5DCF0, lib, libultra/libultra, mtxcatl] - - [0x5DDB0, lib, libultra/libultra, random] - - [0x5DDE0, lib, libultra/libultra, xprintf] - - [0x5EAA0, lib, libultra/libultra, gbpakgetstatus] - - [0x5EC20, lib, libultra/libultra, sprintf] - - [0x5ECA0, lib, libultra/libultra, unmaptlball] - - [0x5ECF0, lib, libultra/libultra, epidma] - - [0x5EDD0, lib, libultra/libultra, heapinit] - - [0x5EE10, lib, libultra/libultra, syncprintf] - - [0x5EE50, lib, libultra/libultra, string] - - [0x5EEF0, lib, libultra/libultra, invalidcache] - - [0x5EFA0, lib, libultra/libultra, createmesgqueue] - - [0x5EFD0, lib, libultra/libultra, invalicache] - - [0x5F050, lib, libultra/libultra, conteeplongwrite] - - [0x5F140, lib, libultra/libultra, sp] - - [0x5F170, lib, libultra/libultra, si] - - [0x5F1A0, lib, libultra/libultra, translate] - - [0x5F240, lib, libultra/libultra, jammesg] - - [0x5F390, lib, libultra/libultra, setthreadpri] - - [0x5F470, lib, libultra/libultra, getthreadpri] - - [0x5F490, lib, libultra/libultra, epirawread] - - [0x5F5F0, lib, libultra/libultra, viswapbuf] - - [0x5F640, lib, libultra/libultra, epirawdma] - - [0x5F820, lib, libultra/libultra, sptaskyielded] - - [0x5F8A0, lib, libultra/libultra, rotateRPY] - - [0x5FA40, lib, libultra/libultra, bcmp] - - [0x5FB60, lib, libultra/libultra, rotate] - - [0x5FD50, lib, libultra/libultra, gettime] - - [0x5FDE0, lib, libultra/libultra, timerintr] - - [0x601E0, lib, libultra/libultra, synthesizer] - - [0x60860, lib, libultra/libultra, drvrNew] - - [0x61010, lib, libultra/libultra, mainbus] - - [0x61160, lib, libultra/libultra, auxbus] - - [0x61270, lib, libultra/libultra, env] - - [0x61EF0, lib, libultra/libultra, resample] - - [0x621F0, lib, libultra/libultra, load] - - [0x62D40, lib, libultra/libultra, filter] - - [0x62D60, lib, libultra/libultra, save] - - [0x62E20, lib, libultra/libultra, setglobalintmask] - - [0x62E70, lib, libultra/libultra, aisetfreq] - - [0x62FC0, lib, libultra/libultra, dpctr] - - [0x63010, lib, libultra/libultra, getactivequeue] - - [0x63020, lib, libultra/libultra, normalize] - - [0x630B0, lib, libultra/libultra, setcompare] - - [0x630C0, lib, libultra/libultra, aigetstat] - - [0x630D0, lib, libultra/libultra, dpsetstat] - - [0x630E0, lib, libultra/libultra, copy] - - [0x63160, lib, libultra/libultra, bcopy] - - [0x63470, lib, libultra/libultra, resetglobalintmask] - - [0x634D0, lib, libultra/libultra, ortho] - - [0x63690, lib, libultra/libultra, interrupt] - - [0x63720, lib, libultra/libultra, vi] - - [0x63860, lib, libultra/libultra, viswapcontext] - - [0x63B60, lib, libultra/libultra, pigetcmdq] - - [0x63B90, lib, libultra/libultra, cosf] - - [0x63D00, lib, libultra/libultra, epiread] - - [0x63D50, lib, libultra/libultra, visetspecial] - - [0x63EB0, lib, libultra/libultra, settime] - - [0x63EE0, lib, libultra/libultra, visetevent] - - [0x63F50, lib, libultra/libultra, gbpakreadid] - - [0x64110, lib, libultra/libultra, cartrominit] - - [0x64270, lib, libultra/libultra, pfsselectbank] - - [0x642F0, lib, libultra/libultra, setfpccsr] - - [0x64300, lib, libultra/libultra, aigetlen] - - [0x64310, lib, libultra/libultra, epiwrite] - - [0x64360, lib, libultra/libultra, maptlbrdb] - - [0x643C0, lib, libultra/libultra, yieldthread] - - [0x64410, lib, libultra/libultra, contramwrite] - - [0x64660, lib, libultra/libultra, contramread] - - [0x64890, lib, libultra/libultra, crc] - - [0x64A00, lib, libultra/libultra, __osGetCause] - - [0x64A10, lib, libultra/libultra, epirawwrite] - - [0x64B70, lib, libultra/libultra, settimer] - - [0x64C50, lib, libultra/libultra, xldtob] - - [0x65710, lib, libultra/libultra, ldiv] - - [0x658A0, lib, libultra/libultra, xlitob] - - [0x65B40, lib, libultra/libultra, sirawwrite] - - [0x65B90, lib, libultra/libultra, spsetstat] - - [0x65BA0, lib, libultra/libultra, spgetstat] + - [0x5C420, lib, libultra, devmgr] + - [0x5C830, lib, libultra, pirawdma] + - [0x5C900, lib, libultra, osGetCount] + - [0x5C910, lib, libultra, conteepprobe] + - [0x5C980, lib, libultra, conteepwrite] + - [0x5CD50, lib, libultra, getmemsize] + - [0x5CE70, lib, libultra, contpfs] + - [0x5D9F0, lib, libultra, seteventmesg] + - [0x5DAB0, lib, libultra, sqrtf] + - [0x5DAC0, lib, libultra, afterprenmi] + - [0x5DAE0, lib, libultra, mtxcatf] + - [0x5DCF0, lib, libultra, mtxcatl] + - [0x5DDB0, lib, libultra, random] + - [0x5DDE0, lib, libultra, xprintf] + - [0x5EAA0, lib, libultra, gbpakgetstatus] + - [0x5EC20, lib, libultra, sprintf] + - [0x5ECA0, lib, libultra, unmaptlball] + - [0x5ECF0, lib, libultra, epidma] + - [0x5EDD0, lib, libultra, heapinit] + - [0x5EE10, lib, libultra, syncprintf] + - [0x5EE50, lib, libultra, string] + - [0x5EEF0, lib, libultra, invalidcache] + - [0x5EFA0, lib, libultra, createmesgqueue] + - [0x5EFD0, lib, libultra, invalicache] + - [0x5F050, lib, libultra, conteeplongwrite] + - [0x5F140, lib, libultra, sp] + - [0x5F170, lib, libultra, si] + - [0x5F1A0, lib, libultra, translate] + - [0x5F240, lib, libultra, jammesg] + - [0x5F390, lib, libultra, setthreadpri] + - [0x5F470, lib, libultra, getthreadpri] + - [0x5F490, lib, libultra, epirawread] + - [0x5F5F0, lib, libultra, viswapbuf] + - [0x5F640, lib, libultra, epirawdma] + - [0x5F820, lib, libultra, sptaskyielded] + - [0x5F8A0, lib, libultra, rotateRPY] + - [0x5FA40, lib, libultra, bcmp] + - [0x5FB60, lib, libultra, rotate] + - [0x5FD50, lib, libultra, gettime] + - [0x5FDE0, lib, libultra, timerintr] + - [0x601E0, lib, libultra, synthesizer] + - [0x60860, lib, libultra, drvrNew] + - [0x61010, lib, libultra, mainbus] + - [0x61160, lib, libultra, auxbus] + - [0x61270, lib, libultra, env] + - [0x61EF0, lib, libultra, resample] + - [0x621F0, lib, libultra, load] + - [0x62D40, lib, libultra, filter] + - [0x62D60, lib, libultra, save] + - [0x62E20, lib, libultra, setglobalintmask] + - [0x62E70, lib, libultra, aisetfreq] + - [0x62FC0, lib, libultra, dpctr] + - [0x63010, lib, libultra, getactivequeue] + - [0x63020, lib, libultra, normalize] + - [0x630B0, lib, libultra, setcompare] + - [0x630C0, lib, libultra, aigetstat] + - [0x630D0, lib, libultra, dpsetstat] + - [0x630E0, lib, libultra, copy] + - [0x63160, lib, libultra, bcopy] + - [0x63470, lib, libultra, resetglobalintmask] + - [0x634D0, lib, libultra, ortho] + - [0x63690, lib, libultra, interrupt] + - [0x63720, lib, libultra, vi] + - [0x63860, lib, libultra, viswapcontext] + - [0x63B60, lib, libultra, pigetcmdq] + - [0x63B90, lib, libultra, cosf] + - [0x63D00, lib, libultra, epiread] + - [0x63D50, lib, libultra, visetspecial] + - [0x63EB0, lib, libultra, settime] + - [0x63EE0, lib, libultra, visetevent] + - [0x63F50, lib, libultra, gbpakreadid] + - [0x64110, lib, libultra, cartrominit] + - [0x64270, lib, libultra, pfsselectbank] + - [0x642F0, lib, libultra, setfpccsr] + - [0x64300, lib, libultra, aigetlen] + - [0x64310, lib, libultra, epiwrite] + - [0x64360, lib, libultra, maptlbrdb] + - [0x643C0, lib, libultra, yieldthread] + - [0x64410, lib, libultra, contramwrite] + - [0x64660, lib, libultra, contramread] + - [0x64890, lib, libultra, crc] + - [0x64A00, lib, libultra, __osGetCause] + - [0x64A10, lib, libultra, epirawwrite] + - [0x64B70, lib, libultra, settimer] + - [0x64C50, lib, libultra, xldtob] + - [0x65710, lib, libultra, ldiv] + - [0x658A0, lib, libultra, xlitob] + - [0x65B40, lib, libultra, sirawwrite] + - [0x65B90, lib, libultra, spsetstat] + - [0x65BA0, lib, libultra, spgetstat] - [0x65BB0, pad] - - [0x65BC0, lib, libultra/libultra, vimgr] - - [0x65ED0, lib, libultra/libultra, vigetcurrcontext] - - [0x65EE0, lib, libultra/libultra, writebackdcacheall] - - [0x65F10, lib, libultra/libultra, heapalloc] - - [0x65F70, lib, libultra/libultra, startthread] - - [0x660C0, lib, libultra/libultra, visetxscale] - - [0x661F0, lib, libultra/libultra, visetyscale] - - [0x66250, lib, libultra/libultra, llcvt] - - [0x66460, lib, libultra/libultra, synallocfx] - - [0x66500, lib, libultra/libultra, syndelete] - - [0x66510, lib, libultra/libultra, gbpakreadwrite] - - [0x666D0, lib, libultra/libultra, gbpakselectbank] - - [0x667A0, lib, libultra/libultra, aisetnextbuf] - - [0x66850, lib, libultra/libultra, ai] - - [0x66880, lib, libultra/libultra, conteepread] - - [0x66AD0, lib, libultra/libultra, vigetcurrframebuf] - - [0x66B10, lib, libultra/libultra, spsetpc] - - [0x66B50, lib, libultra/libultra, sethwinterrupt] + - [0x65BC0, lib, libultra, vimgr] + - [0x65ED0, lib, libultra, vigetcurrcontext] + - [0x65EE0, lib, libultra, writebackdcacheall] + - [0x65F10, lib, libultra, heapalloc] + - [0x65F70, lib, libultra, startthread] + - [0x660C0, lib, libultra, visetxscale] + - [0x661F0, lib, libultra, visetyscale] + - [0x66250, lib, libultra, llcvt] + - [0x66460, lib, libultra, synallocfx] + - [0x66500, lib, libultra, syndelete] + - [0x66510, lib, libultra, gbpakreadwrite] + - [0x666D0, lib, libultra, gbpakselectbank] + - [0x667A0, lib, libultra, aisetnextbuf] + - [0x66850, lib, libultra, ai] + - [0x66880, lib, libultra, conteepread] + - [0x66AD0, lib, libultra, vigetcurrframebuf] + - [0x66B10, lib, libultra, spsetpc] + - [0x66B50, lib, libultra, sethwinterrupt] #- [0x66BC0, asm] - [0x66BC0, bin] @@ -336,33 +336,33 @@ - [0x7A190, data, rom_data_7A190] # libultra - - [0x7A210, lib, libultra/libultra, piacs, .data] - - [0x7A220, lib, libultra/libultra, thread, .data] - - [0x7A240, lib, libultra/libultra, sl, .data] - - [0x7A250, lib, libultra/libultra, exceptasm, .data] - - [0x7A280, lib, libultra/libultra, controller, .data] - - [0x7A290, lib, libultra/libultra, siacs, .data] - - [0x7A2A0, lib, libultra/libultra, initialize, .data] - - [0x7A2C0, lib, libultra/libultra, reverb, .data] - - [0x7B460, lib, libultra/libultra, pimgr, .data] - - [0x7B490, lib, libultra/libultra, vimodentsclpn1, .data] - - [0x7B530, lib, libultra/libultra, contpfs, .data] - - [0x7B540, lib, libultra/libultra, seteventmesg, .data] - - [0x7B550, lib, libultra/libultra, random, .data] - - [0x7B560, lib, libultra/libultra, xprintf, .data] - - [0x7B5B0, lib, libultra/libultra, timerintr, .data] - - [0x7B5C0, lib, libultra/libultra, drvrNew, .data] - - [0x7B750, lib, libultra/libultra, env, .data] - - [0x7B890, lib, libultra/libultra, vi, .data] - - [0x7B890, lib, libultra/libultra, vimodepallan1, .data] - - [0x7B950, lib, libultra/libultra, vimodentsclan1, .data] - - [0x7B9A0, lib, libultra/libultra, vimodempallan1, .data] - - [0x7B9F0, lib, libultra/libultra, gbpakreadid, .data] - - [0x7BA40, lib, libultra/libultra, cartrominit, .data] - - [0x7BA50, lib, libultra/libultra, contramread, .data] - - [0x7BA60, lib, libultra/libultra, xlitob, .data] - - [0x7BA90, lib, libultra/libultra, vimgr, .data] - - [0x7BAB0, lib, libultra/libultra, aisetnextbuf, .data] + - [0x7A210, lib, libultra, piacs, .data] + - [0x7A220, lib, libultra, thread, .data] + - [0x7A240, lib, libultra, sl, .data] + - [0x7A250, lib, libultra, exceptasm, .data] + - [0x7A280, lib, libultra, controller, .data] + - [0x7A290, lib, libultra, siacs, .data] + - [0x7A2A0, lib, libultra, initialize, .data] + - [0x7A2C0, lib, libultra, reverb, .data] + - [0x7B460, lib, libultra, pimgr, .data] + - [0x7B490, lib, libultra, vimodentsclpn1, .data] + - [0x7B530, lib, libultra, contpfs, .data] + - [0x7B540, lib, libultra, seteventmesg, .data] + - [0x7B550, lib, libultra, random, .data] + - [0x7B560, lib, libultra, xprintf, .data] + - [0x7B5B0, lib, libultra, timerintr, .data] + - [0x7B5C0, lib, libultra, drvrNew, .data] + - [0x7B750, lib, libultra, env, .data] + - [0x7B890, lib, libultra, vi, .data] + - [0x7B890, lib, libultra, vimodepallan1, .data] + - [0x7B950, lib, libultra, vimodentsclan1, .data] + - [0x7B9A0, lib, libultra, vimodempallan1, .data] + - [0x7B9F0, lib, libultra, gbpakreadid, .data] + - [0x7BA40, lib, libultra, cartrominit, .data] + - [0x7BA50, lib, libultra, contramread, .data] + - [0x7BA60, lib, libultra, xlitob, .data] + - [0x7BA90, lib, libultra, vimgr, .data] + - [0x7BAB0, lib, libultra, aisetnextbuf, .data] # Start of .rodata - [0x7BAC0, .rodata, rsp] @@ -408,25 +408,25 @@ - [0x7E950, .rodata, libleo/leoc2ecc] - [0x7ED70, .rodata, libleo/leomseq_tbl] - [0x7EDF0, .rodata, libleo/leotimer] - - [0x7EE10, rodata, rom_rodata_7EE10] # libultra - - [0x7EE90, lib, libultra/libultra, sinf, .rodata] - - [0x7EEE0, lib, libultra/libultra, exceptasm, .rodata] - - [0x7EF30, lib, libultra/libultra, reverb, .rodata] - - [0x7EF60, lib, libultra/libultra, perspective, .rodata] - - [0x7EF70, lib, libultra/libultra, devmgr, .rodata] - - [0x7EF90, lib, libultra/libultra, xprintf, .rodata] - - [0x7F090, lib, libultra/libultra, rotateRPY, .rodata] - - [0x7F0A0, lib, libultra/libultra, rotate, .rodata] - - [0x7F0B0, lib, libultra/libultra, synthesizer, .rodata] - - [0x7F0C0, lib, libultra/libultra, drvrNew, .rodata] - - [0x7F0E0, lib, libultra/libultra, env, .rodata] - - [0x7F130, lib, libultra/libultra, resample, .rodata] - - [0x7F180, lib, libultra/libultra, cosf, .rodata] - - [0x7F1D0, lib, libultra/libultra, libm_vals, .rodata] - - [0x7F1E0, lib, libultra/libultra, xldtob, .rodata] - - [0x7F240, lib, libultra/libultra, llcvt, .rodata] + - [0x7EE10, lib, libultra, setintmask, .rodata] + - [0x7EE90, lib, libultra, sinf, .rodata] + - [0x7EEE0, lib, libultra, exceptasm, .rodata] + - [0x7EF30, lib, libultra, reverb, .rodata] + - [0x7EF60, lib, libultra, perspective, .rodata] + - [0x7EF70, lib, libultra, devmgr, .rodata] + - [0x7EF90, lib, libultra, xprintf, .rodata] + - [0x7F090, lib, libultra, rotateRPY, .rodata] + - [0x7F0A0, lib, libultra, rotate, .rodata] + - [0x7F0B0, lib, libultra, synthesizer, .rodata] + - [0x7F0C0, lib, libultra, drvrNew, .rodata] + - [0x7F0E0, lib, libultra, env, .rodata] + - [0x7F130, lib, libultra, resample, .rodata] + - [0x7F180, lib, libultra, cosf, .rodata] + - [0x7F1D0, lib, libultra, libm_vals, .rodata] + - [0x7F1E0, lib, libultra, xldtob, .rodata] + - [0x7F240, lib, libultra, llcvt, .rodata] - [0x7F250, bin, F3DEX2_data] # F3DEX2 data - [0x7F670, bin, unk_bin_7F670] @@ -451,25 +451,26 @@ - {vram: 0x801010D0, type: bss, name: unk_bss_6} # ultralib - - {type: lib, vram: 0x801020D0, name: libultra/libultra, object: leointerrupt, section: .bss} - - {type: lib, vram: 0x801020E0, name: libultra/libultra, object: piacs, section: .bss} - - {type: lib, vram: 0x80102100, name: libultra/libultra, object: sptask, section: .bss} - - {type: lib, vram: 0x80102140, name: libultra/libultra, object: controller, section: .bss} - - {type: lib, vram: 0x801021D0, name: libultra/libultra, object: siacs, section: .bss} - - {type: lib, vram: 0x801021F0, name: libultra/libultra, object: initialize, section: .bss} - - {type: lib, vram: 0x80102200, name: libultra/libultra, object: gbpakinit, section: .bss} - - {type: lib, vram: 0x801023F0, name: libultra/libultra, object: pfsisplug, section: .bss} - - {type: lib, vram: 0x80102430, name: libultra/libultra, object: cartrominit, section: .bss} - - {type: lib, vram: 0x801024A8, name: libultra/libultra, object: leodiskinit, section: .bss} - - {type: lib, vram: 0x80102520, name: libultra/libultra, object: pimgr, section: .bss} - - {type: lib, vram: 0x801036F0, name: libultra/libultra, object: contpfs, section: .bss} - - {type: lib, vram: 0x801037F0, name: libultra/libultra, object: seteventmesg, section: .bss} + - {type: lib, vram: 0x801020D0, name: libultra, object: leointerrupt, section: .bss} + - {type: lib, vram: 0x801020E0, name: libultra, object: piacs, section: .bss} + - {type: lib, vram: 0x80102100, name: libultra, object: sptask, section: .bss} + - {type: lib, vram: 0x80102140, name: libultra, object: controller, section: .bss} + - {type: lib, vram: 0x801021D0, name: libultra, object: siacs, section: .bss} + - {type: lib, vram: 0x801021F0, name: libultra, object: initialize, section: .bss} + - {type: lib, vram: 0x80102200, name: libultra, object: gbpakinit, section: .bss} + - {type: lib, vram: 0x80102240, name: libultra, object: kdebugserver, section: .bss} + - {type: lib, vram: 0x801023F0, name: libultra, object: pfsisplug, section: .bss} + - {type: lib, vram: 0x80102430, name: libultra, object: cartrominit, section: .bss} + - {type: lib, vram: 0x801024A8, name: libultra, object: leodiskinit, section: .bss} + - {type: lib, vram: 0x80102520, name: libultra, object: pimgr, section: .bss} + - {type: lib, vram: 0x801036F0, name: libultra, object: contpfs, section: .bss} + - {type: lib, vram: 0x801037F0, name: libultra, object: seteventmesg, section: .bss} - {vram: 0x80103830, type: bss, name: unk_bss_9} - - {type: lib, vram: 0x80103880, name: libultra/libultra, object: rotate, section: .bss} - - {type: lib, vram: 0x80103890, name: libultra/libultra, object: timerintr, section: .bss} - - {type: lib, vram: 0x801038E4, name: libultra/libultra, object: cartrominit, section: .bss} - - {type: lib, vram: 0x80103950, name: libultra/libultra, object: vimgr, section: .bss} - - {type: lib, vram: 0x80104b70, name: libultra/libultra, object: conteepread, section: .bss} + - {type: lib, vram: 0x80103880, name: libultra, object: rotate, section: .bss} + - {type: lib, vram: 0x80103890, name: libultra, object: timerintr, section: .bss} + - {type: lib, vram: 0x801038E4, name: libultra, object: cartrominit, section: .bss} + - {type: lib, vram: 0x80103950, name: libultra, object: vimgr, section: .bss} + - {type: lib, vram: 0x80104b70, name: libultra, object: conteepread, section: .bss} - [0x7F980] - name: heap