summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTharo <17233964+Thar0@users.noreply.github.com>2025-08-07 19:46:09 +0100
committerGitHub <noreply@github.com>2025-08-07 14:46:09 -0400
commit9612575930717c78c1bfed17231e364eea8a28da (patch)
tree75ea5cf6a5d0e35c7d2b7f8a9461efa50fc5f0a4
parentce93b71b95df82182c5772b7ba6ee7e1f7949c48 (diff)
parameters.s (#1820)
-rw-r--r--linker_scripts/final/hardware_regs.ld9
-rw-r--r--spec/spec7
-rw-r--r--src/libultra/os/parameters.s26
3 files changed, 27 insertions, 15 deletions
diff --git a/linker_scripts/final/hardware_regs.ld b/linker_scripts/final/hardware_regs.ld
index 785711579..3e7ad405a 100644
--- a/linker_scripts/final/hardware_regs.ld
+++ b/linker_scripts/final/hardware_regs.ld
@@ -7,15 +7,6 @@ D_8000000C = 0x8000000C; // __osExceptionPreamble
D_80000010 = 0x80000010; //
D_80000020 = 0x80000020; //
-osTvType = 0x80000300;
-osRomType = 0x80000304;
-osRomBase = 0x80000308;
-osResetType = 0x8000030C;
-osCicId = 0x80000310;
-osVersion = 0x80000314;
-osMemSize = 0x80000318;
-osAppNMIBuffer = 0x8000031C;
-
/// OS hardware registers
// Signal Processor Registers
diff --git a/spec/spec b/spec/spec
index 0982b5874..dbaecee51 100644
--- a/spec/spec
+++ b/spec/spec
@@ -86,12 +86,7 @@ beginseg
include "$(BUILD_DIR)/asm/boot/writebackdcache.text.o"
include "$(BUILD_DIR)/src/libultra/os/initialize.o"
include "$(BUILD_DIR)/src/libultra/debug/kdebugserver.o"
- pad_text // These pads are from src/libultra/os/parameters.o
- pad_text
- pad_text
- pad_text
- pad_text
- pad_text
+ include "$(BUILD_DIR)/src/libultra/os/parameters.o"
include "$(BUILD_DIR)/src/libultra/io/vigetnextframebuf.o"
include "$(BUILD_DIR)/src/libultra/gu/perspective.o"
include "$(BUILD_DIR)/src/libultra/io/sprawdma.o"
diff --git a/src/libultra/os/parameters.s b/src/libultra/os/parameters.s
new file mode 100644
index 000000000..058674777
--- /dev/null
+++ b/src/libultra/os/parameters.s
@@ -0,0 +1,26 @@
+#include "PR/asm.h"
+
+.text
+
+#ifdef __sgi
+#define IPL_SYMBOL(name, address, size) \
+ ABS(name, address)
+#else
+#define IPL_SYMBOL(name, address, sz) \
+ ABS(name, address) ;\
+ .type name, @object ;\
+ .size name, sz
+#endif
+
+
+IPL_SYMBOL(leoBootID, 0x800001A0, 4)
+IPL_SYMBOL(osTvType, 0x80000300, 4)
+IPL_SYMBOL(osRomType, 0x80000304, 4)
+IPL_SYMBOL(osRomBase, 0x80000308, 4)
+IPL_SYMBOL(osResetType, 0x8000030C, 4)
+IPL_SYMBOL(osCicId, 0x80000310, 4)
+IPL_SYMBOL(osVersion, 0x80000314, 4)
+IPL_SYMBOL(osMemSize, 0x80000318, 4)
+IPL_SYMBOL(osAppNMIBuffer, 0x8000031C, 0x40)
+
+.space 0x60