From 019d2816ba591622c2e9cec3efbb5eca3bf89bd1 Mon Sep 17 00:00:00 2001 From: Julian Uy Date: Sun, 24 May 2026 20:17:34 -0500 Subject: [PATCH] refactor: move s file contents to referenced c files --- ee/libprofglue/Makefile | 4 +- ee/libprofglue/src/mcount.S | 39 ---- ee/libprofglue/src/prof.c | 43 ++++ iop/debug/iop_sbusdbg/Makefile | 2 +- iop/debug/iop_sbusdbg/src/main.c | 18 ++ iop/debug/iop_sbusdbg/src/sbus_dbg_low.S | 15 -- iop/system/udnl/Makefile | 2 +- iop/system/udnl/src/udnl.c | 259 +++++++++++++++++++++++ iop/system/udnl/src/udnl_asm.S | 244 --------------------- 9 files changed, 325 insertions(+), 301 deletions(-) delete mode 100644 ee/libprofglue/src/mcount.S delete mode 100644 iop/debug/iop_sbusdbg/src/sbus_dbg_low.S delete mode 100644 iop/system/udnl/src/udnl_asm.S diff --git a/ee/libprofglue/Makefile b/ee/libprofglue/Makefile index 7064b39014c4..992d6f624f46 100644 --- a/ee/libprofglue/Makefile +++ b/ee/libprofglue/Makefile @@ -8,7 +8,9 @@ EE_LIB = libprofglue.a -EE_OBJS = prof.o mcount.o +EE_FATLTOFLAGS ?= + +EE_OBJS = prof.o include $(PS2SDKSRC)/Defs.make include $(PS2SDKSRC)/ee/Rules.lib.make diff --git a/ee/libprofglue/src/mcount.S b/ee/libprofglue/src/mcount.S deleted file mode 100644 index 657c48c34eab..000000000000 --- a/ee/libprofglue/src/mcount.S +++ /dev/null @@ -1,39 +0,0 @@ - .set noreorder - .set noat - - .global _mcount - .ent _mcount - -_mcount: - -# Generated code already substracts 8 bytes -# We store our ra, at and a0-a3 - daddiu $sp, $sp, -56 # Adjust stack pointer for 64-bit registers, 7 registers * 8 bytes each - sd $ra, 0($sp) # store ra - sd $at, 8($sp) # at = ra of caller - sd $a0, 16($sp) - sd $a1, 24($sp) - sd $a2, 32($sp) - sd $a3, 40($sp) - -# Call internal C handler - move $a0, $at - move $a1, $ra - jal __mcount - nop - -# Restore registers - ld $ra, 0($sp) - ld $at, 8($sp) - ld $a0, 16($sp) - ld $a1, 24($sp) - ld $a2, 32($sp) - ld $a3, 40($sp) - daddiu $sp, $sp, 56 # Adjust stack pointer back - jr $ra - move $ra, $at # restore caller's ra - - .end _mcount - - .set reorder - .set at diff --git a/ee/libprofglue/src/prof.c b/ee/libprofglue/src/prof.c index 73e2c8f35a8f..0e6bc9ec58a4 100644 --- a/ee/libprofglue/src/prof.c +++ b/ee/libprofglue/src/prof.c @@ -245,3 +245,46 @@ void __mcount(unsigned int frompc, unsigned int selfpc) arc->count++; } } + +__asm__ +( + "\t" ".set push" "\n" + "\t" ".set noreorder" "\n" + "\t" ".set noat" "\n" + + "\t" ".global _mcount" "\n" + "\t" ".ent _mcount" "\n" + + "\t" "_mcount:" "\n" + + // Generated code already substracts 8 bytes + // We store our ra, at and a0-a3 + "\t" "\t" "daddiu $sp, $sp, -56" "\n" // Adjust stack pointer for 64-bit registers, 7 registers * 8 bytes each + "\t" "\t" "sd $ra, 0($sp)" "\n" // store ra + "\t" "\t" "sd $at, 8($sp)" "\n" // at = ra of caller + "\t" "\t" "sd $a0, 16($sp)" "\n" + "\t" "\t" "sd $a1, 24($sp)" "\n" + "\t" "\t" "sd $a2, 32($sp)" "\n" + "\t" "\t" "sd $a3, 40($sp)" "\n" + + // Call internal C handler + "\t" "\t" "move $a0, $at" "\n" + "\t" "\t" "move $a1, $ra" "\n" + "\t" "\t" "jal __mcount" "\n" + "\t" "\t" "nop" "\n" + + // Restore registers + "\t" "\t" "ld $ra, 0($sp)" "\n" + "\t" "\t" "ld $at, 8($sp)" "\n" + "\t" "\t" "ld $a0, 16($sp)" "\n" + "\t" "\t" "ld $a1, 24($sp)" "\n" + "\t" "\t" "ld $a2, 32($sp)" "\n" + "\t" "\t" "ld $a3, 40($sp)" "\n" + "\t" "\t" "daddiu $sp, $sp, 56" "\n" // Adjust stack pointer back + "\t" "\t" "jr $ra" "\n" + "\t" "\t" "move $ra, $at" "\n" // restore caller's ra + + "\t" ".end _mcount" "\n" + + "\t" ".set pop" "\n" +); diff --git a/iop/debug/iop_sbusdbg/Makefile b/iop/debug/iop_sbusdbg/Makefile index 53df17862a18..dbfd893d6351 100644 --- a/iop/debug/iop_sbusdbg/Makefile +++ b/iop/debug/iop_sbusdbg/Makefile @@ -23,7 +23,7 @@ IOP_IMPORT_INCS += \ system/sysmem \ system/threadman -IOP_OBJS = main.o sbus_dbg_low.o sbus_tty.o sbus_dbg.o imports.o +IOP_OBJS = main.o sbus_tty.o sbus_dbg.o imports.o include $(PS2SDKSRC)/Defs.make include $(PS2SDKSRC)/iop/Rules.bin.make diff --git a/iop/debug/iop_sbusdbg/src/main.c b/iop/debug/iop_sbusdbg/src/main.c index 684199fa7887..6390aaa77301 100644 --- a/iop/debug/iop_sbusdbg/src/main.c +++ b/iop/debug/iop_sbusdbg/src/main.c @@ -46,6 +46,24 @@ void _iop_ex_handler(IOP_RegFrame *frame) int tid; extern void soft_break(void); +__asm__ +( + "\t" ".set push" "\n" + "\t" ".set noreorder" "\n" + "\t" ".set noat" "\n" + + "\t" ".global soft_break" "\n" + "\t" ".ent soft_break" "\n" + "\t" "soft_break:" "\n" + "\t" "\t" "nop" "\n" + "\t" "\t" "break" "\n" + "\t" "\t" "nop" "\n" + "\t" "\t" "jr $ra" "\n" + "\t" "\t" "nop" "\n" + "\t" ".end soft_break" "\n" + + "\t" ".set pop" "\n" +); void _controller_thread(void *arg) { diff --git a/iop/debug/iop_sbusdbg/src/sbus_dbg_low.S b/iop/debug/iop_sbusdbg/src/sbus_dbg_low.S deleted file mode 100644 index 2e776ef2de31..000000000000 --- a/iop/debug/iop_sbusdbg/src/sbus_dbg_low.S +++ /dev/null @@ -1,15 +0,0 @@ -.set push -.set noreorder -.set noat - -.global soft_break -.ent soft_break -soft_break: - nop - break - nop - jr $ra - nop -.end soft_break - -.set pop diff --git a/iop/system/udnl/Makefile b/iop/system/udnl/Makefile index ffa9a834888f..9529f12c8c96 100644 --- a/iop/system/udnl/Makefile +++ b/iop/system/udnl/Makefile @@ -16,7 +16,7 @@ IOP_IMPORT_INCS += \ system/sysmem \ system/threadman -IOP_OBJS = udnl.o udnl_asm.o imports.o +IOP_OBJS = udnl.o imports.o include $(PS2SDKSRC)/Defs.make include $(PS2SDKSRC)/iop/Rules.bin.make diff --git a/iop/system/udnl/src/udnl.c b/iop/system/udnl/src/udnl.c index ad5cdc3f7ffe..ea53bf1ef3fd 100644 --- a/iop/system/udnl/src/udnl.c +++ b/iop/system/udnl/src/udnl.c @@ -17,6 +17,22 @@ IRX_ID(MODNAME, 1, 1); #ifdef UDNL_T300 int CpuExecuteKmode(void *function, ...); // Exactly the same function as INTRMAN's export 14. +__asm__ +( + "\t" ".set push" "\n" + "\t" ".set noat" "\n" + "\t" ".set noreorder" "\n" + + "\t" ".globl CpuExecuteKmode" "\n" + "\t" ".ent CpuExecuteKmode" "\n" + "\t" "CpuExecuteKmode:" "\n" + "\t" "\t" "li $v0, 0x0C" "\n" + "\t" "\t" "syscall" "\n" + "\t" "\t" "jr $ra" "\n" + "\t" "\t" "nop" "\n" + "\t" ".end CpuExecuteKmode" "\n" + "\t" ".set pop" "\n" +); #endif //#define DEBUG 1 //Comment out to disable debug messages. @@ -368,6 +384,36 @@ static volatile unsigned int *func_00000f80(volatile unsigned int *address) // 0x00001b38 void func_00001b38(unsigned int arg1); +__asm__ +( + "\t" ".set push" "\n" + "\t" ".set noat" "\n" + "\t" ".set noreorder" "\n" + + "\t" ".globl func_00001b38" "\n" + "\t" ".ent func_00001b38" "\n" + "\t" "func_00001b38:" "\n" + "\t" "\t" "mfc0 $t0, $12" "\n" + "\t" "\t" "nop" "\n" + "\t" "\t" "la $t4, func_00001b38_main" "\n" + "\t" "\t" "lui $at, 0xA000" "\n" + "\t" "\t" "or $t4, $t4, $at" "\n" + "\t" "\t" "jr $t4" "\n" + "\t" "\t" "mtc0 $zero, $12" "\n" + "\t" "func_00001b38_main:" "\n" + "\t" "\t" "nop" "\n" + "\t" "\t" "lui $at, 0xFFFE" "\n" + "\t" "\t" "sw $a0, 0x0130($at)" "\n" + "\t" "\t" "lui $at, 0xFFFE" "\n" + "\t" "\t" "lw $zero, 0x0130($at)" "\n" + "\t" "\t" "nop" "\n" + "\t" "\t" "mtc0 $t0, $12" "\n" + "\t" "\t" "nop" "\n" + "\t" "\t" "jr $ra" "\n" + "\t" "\t" "nop" "\n" + "\t" ".end func_00001b38" "\n" + "\t" ".set pop" "\n" +); // 0x00000c98 static void TerminateResidentEntriesDI(unsigned int options) @@ -415,6 +461,111 @@ void func_00001930(void); void func_00001440(void); #endif +__asm__ +( + "\t" ".set push" "\n" + "\t" ".set noat" "\n" + "\t" ".set noreorder" "\n" + +#ifdef UDNL_T300 + "\t" ".globl func_00001930" "\n" + "\t" ".ent func_00001930" "\n" + "\t" "func_00001930:" "\n" +#else + "\t" ".globl func_00001440" "\n" + "\t" ".ent func_00001440" "\n" + "\t" "func_00001440:" "\n" +#endif + "\t" "\t" "mfc0 $t0, $12" "\n" + "\t" "\t" "nop" "\n" +#ifdef UDNL_T300 + "\t" "\t" "la $t4, func_00001930_main" "\n" +#else + "\t" "\t" "la $t4, func_00001440_main" "\n" +#endif + "\t" "\t" "lui $at, 0xA000" "\n" + "\t" "\t" "or $t4, $t4, $at" "\n" + "\t" "\t" "jr $t4" "\n" +#ifdef UDNL_T300 + "\t" "func_00001930_main:" "\n" +#else + "\t" "func_00001440_main:" "\n" +#endif + "\t" "\t" "mtc0 $zero, $12" "\n" + "\t" "\t" "nop" "\n" + "\t" "\t" "nop" "\n" + "\t" "\t" "lui $t6, 0xbf80" "\n" + "\t" "\t" "lw $t6, 0x1450($t6)" "\n" + "\t" "\t" "nop" "\n" + "\t" "\t" "addiu $t7, $zero, 0xfffe" "\n" + "\t" "\t" "and $t1, $t6, $t7" "\n" + "\t" "\t" "lui $at, 0xbf80" "\n" + "\t" "\t" "sw $t1, 0x1450($at)" "\n" + "\t" "\t" "lui $at, 0xbf80" "\n" + "\t" "\t" "lw $zero, 0x1450($at)" "\n" + "\t" "\t" "lui $t7, 0xbf80" "\n" + "\t" "\t" "lw $t7, 0x1578($t7)" "\n" + "\t" "\t" "lui $at, 0xbf80" "\n" + "\t" "\t" "sw $zero, 0x1578($at)" "\n" + "\t" "\t" "lui $at, 0xbf80" "\n" + "\t" "\t" "lw $zero, 0x1578($at)" "\n" + "\t" "\t" "lui $t5, 0xfffe" "\n" + "\t" "\t" "lw $t5, 0x0130($t5)" "\n" + "\t" "\t" "addiu $t1, $zero, 0x0c04" "\n" + "\t" "\t" "lui $at, 0xfffe" "\n" + "\t" "\t" "sw $t1, 0x0130($at)" "\n" + "\t" "\t" "lui $t4, 0x0001" "\n" + "\t" "\t" "mtc0 $t4, $12" "\n" + "\t" "\t" "nop" "\n" + "\t" "\t" "nop" "\n" + "\t" "\t" "addiu $t2, $zero, 0x0000" "\n" + "\t" "\t" "addiu $t3, $zero, 0x0f80" "\n" +#ifdef UDNL_T300 + "\t" "func_00001930_loop:" "\n" +#else + "\t" "func_00001440_loop:" "\n" +#endif + "\t" "\t" "sw $zero, 0x0000($t2)" "\n" + "\t" "\t" "sw $zero, 0x0010($t2)" "\n" + "\t" "\t" "sw $zero, 0x0020($t2)" "\n" + "\t" "\t" "sw $zero, 0x0030($t2)" "\n" + "\t" "\t" "sw $zero, 0x0040($t2)" "\n" + "\t" "\t" "sw $zero, 0x0050($t2)" "\n" + "\t" "\t" "sw $zero, 0x0060($t2)" "\n" + "\t" "\t" "sw $zero, 0x0070($t2)" "\n" +#ifdef UDNL_T300 + "\t" "\t" "bne $t2, $t3, func_00001930_loop" "\n" +#else + "\t" "\t" "bne $t2, $t3, func_00001440_loop" "\n" +#endif + "\t" "\t" "addi $t2, $t2, 0x0080" "\n" + "\t" "\t" "mtc0 $zero, $12" "\n" + "\t" "\t" "nop" "\n" + "\t" "\t" "lui $at, 0xfffe" "\n" + "\t" "\t" "sw $t5, 0x0130($at)" "\n" + "\t" "\t" "lui $at, 0xfffe" "\n" + "\t" "\t" "lw $zero, 0x0130($at)" "\n" + "\t" "\t" "nop" "\n" + "\t" "\t" "lui $at, 0xbf80" "\n" + "\t" "\t" "sw $t7, 0x1578($at)" "\n" + "\t" "\t" "lui $at, 0xbf80" "\n" + "\t" "\t" "lw $zero, 0x1578($at)" "\n" + "\t" "\t" "lui $at, 0xbf80" "\n" + "\t" "\t" "sw $t6, 0x1450($at)" "\n" + "\t" "\t" "lui $at, 0xbf80" "\n" + "\t" "\t" "lw $zero, 0x1450($at)" "\n" + "\t" "\t" "mtc0 $t0, $12" "\n" + "\t" "\t" "nop" "\n" + "\t" "\t" "jr $ra" "\n" + "\t" "\t" "nop" "\n" +#ifdef UDNL_T300 + "\t" ".end func_00001930" "\n" +#else + "\t" ".end func_00001440" "\n" +#endif + "\t" ".set pop" "\n" +); + enum IOP_MODULE_TYPES { IOP_MOD_TYPE_COFF = 1, IOP_MOD_TYPE_2, @@ -1276,3 +1427,111 @@ static void *AllocMemory(int nbytes) return AllocSysMemory(2, nbytes, BlockTopAddress); } + +#ifdef THIS_IS_UNUSED +__asm__ +( + "\t" ".set push" "\n" + "\t" ".set noat" "\n" + "\t" ".set noreorder" "\n" + +// Note: This doesn't seem to be used. +#ifdef UDNL_T300 + "\t" ".globl func_00001a34" "\n" + "\t" ".ent func_00001a34" "\n" + "\t" "func_00001a34:" "\n" +#else + "\t" ".globl func_00001544" "\n" + "\t" ".ent func_00001544" "\n" + "\t" "func_00001544:" "\n" +#endif + "\t" "\t" "mfc0 $t0, $12" "\n" + "\t" "\t" "nop" "\n" +#ifdef UDNL_T300 + "\t" "\t" "la $t4, func_00001a34_main" "\n" +#else + "\t" "\t" "la $t4, func_00001544_main" "\n" +#endif + "\t" "\t" "lui $at, 0xa000" "\n" + "\t" "\t" "or $t4, $t4, $at" "\n" + "\t" "\t" "jr $t4" "\n" +#ifdef UDNL_T300 + "\t" "func_00001a34_main:" "\n" +#else + "\t" "func_00001544_main:" "\n" +#endif + "\t" "\t" "mtc0 $zero, $12" "\n" + "\t" "\t" "nop" "\n" + "\t" "\t" "nop" "\n" + "\t" "\t" "lui $t6, 0xbf80" "\n" + "\t" "\t" "lw $t6, 0x1450($t6)" "\n" + "\t" "\t" "nop" "\n" + "\t" "\t" "addiu $t7, $zero, 0xfffe" "\n" + "\t" "\t" "and $t1, $t6, $t7" "\n" + "\t" "\t" "lui $at, 0xbf80" "\n" + "\t" "\t" "sw $t1, 0x1450($at)" "\n" + "\t" "\t" "lui $at, 0xbf80" "\n" + "\t" "\t" "lw $zero, 0x1450($at)" "\n" + "\t" "\t" "lui $t7, 0xbf80" "\n" + "\t" "\t" "lw $t7, 0x1578($t7)" "\n" + "\t" "\t" "lui $at, 0xbf80" "\n" + "\t" "\t" "sw $zero, 0x1578($at)" "\n" + "\t" "\t" "lui $at, 0xbf80" "\n" + "\t" "\t" "lw $zero, 0x1578($at)" "\n" + "\t" "\t" "lui $t5, 0xfffe" "\n" + "\t" "\t" "lw $t5, 0x0130($t5)" "\n" + "\t" "\t" "addiu $t1, $zero, 0x00c4" "\n" + "\t" "\t" "lui $at, 0xfffe" "\n" + "\t" "\t" "sw $t1, 0x0130($at)" "\n" + "\t" "\t" "lui $t4, 0x0001" "\n" + "\t" "\t" "mtc0 $t4, $12" "\n" + "\t" "\t" "nop" "\n" + "\t" "\t" "nop" "\n" + "\t" "\t" "addiu $t2, $zero, 0x0000" "\n" + "\t" "\t" "addiu $t3, $zero, 0x0380" "\n" +#ifdef UDNL_T300 + "\t" "func_00001a34_loop:" "\n" +#else + "\t" "func_00001544_loop:" "\n" +#endif + "\t" "\t" "sw $zero, 0x0000($t2)" "\n" + "\t" "\t" "sw $zero, 0x0010($t2)" "\n" + "\t" "\t" "sw $zero, 0x0020($t2)" "\n" + "\t" "\t" "sw $zero, 0x0030($t2)" "\n" + "\t" "\t" "sw $zero, 0x0040($t2)" "\n" + "\t" "\t" "sw $zero, 0x0050($t2)" "\n" + "\t" "\t" "sw $zero, 0x0060($t2)" "\n" + "\t" "\t" "sw $zero, 0x0070($t2)" "\n" +#ifdef UDNL_T300 + "\t" "\t" "bne $t2, $t3, func_00001a34_loop" "\n" +#else + "\t" "\t" "bne $t2, $t3, func_00001544_loop" "\n" +#endif + "\t" "\t" "addi $t2, $t2, 0x0080" "\n" + "\t" "\t" "mtc0 $zero, $12" "\n" + "\t" "\t" "nop" "\n" + "\t" "\t" "lui $at, 0xfffe" "\n" + "\t" "\t" "sw $t5, 0x0130($at)" "\n" + "\t" "\t" "lui $at, 0xfffe" "\n" + "\t" "\t" "lw $zero, 0x0130($at)" "\n" + "\t" "\t" "nop" "\n" + "\t" "\t" "lui $at, 0xbf80" "\n" + "\t" "\t" "sw $t7, 0x1578($at)" "\n" + "\t" "\t" "lui $at, 0xbf80" "\n" + "\t" "\t" "lw $zero, 0x1578($at)" "\n" + "\t" "\t" "lui $at, 0xbf80" "\n" + "\t" "\t" "sw $t6, 0x1450($at)" "\n" + "\t" "\t" "lui $at, 0xbf80" "\n" + "\t" "\t" "lw $zero, 0x1450($at)" "\n" + "\t" "\t" "mtc0 $t0, $12" "\n" + "\t" "\t" "nop" "\n" + "\t" "\t" "jr $ra" "\n" + "\t" "\t" "nop" "\n" +#ifdef UDNL_T300 + "\t" ".end func_00001a34" "\n" +#else + "\t" ".end func_00001544" "\n" +#endif + "\t" ".set pop" "\n" +); +#endif diff --git a/iop/system/udnl/src/udnl_asm.S b/iop/system/udnl/src/udnl_asm.S deleted file mode 100644 index 89d8e070c339..000000000000 --- a/iop/system/udnl/src/udnl_asm.S +++ /dev/null @@ -1,244 +0,0 @@ -#include "as_reg_compat.h" - -.ifdef .gasversion. -.section .mdebug.abi32 -.nan legacy -.module softfloat -.module nooddspreg -.endif -.set push -.set noat -.set noreorder - -.text - -#ifdef UDNL_T300 -.globl CpuExecuteKmode -.ent CpuExecuteKmode -CpuExecuteKmode: - li $v0, 0x0C - syscall - jr $ra - nop -.end CpuExecuteKmode - -.globl func_00001b38 -.ent func_00001b38 -func_00001b38: - mfc0 $t0, $12 - nop - la $t4, func_00001b38_main - lui $at, 0xA000 - or $t4, $t4, $at - jr $t4 - mtc0 $zero, $12 -func_00001b38_main: - nop - lui $at, 0xFFFE - sw $a0, 0x0130($at) - lui $at, 0xFFFE - lw $zero, 0x0130($at) - nop - mtc0 $t0, $12 - nop - jr $ra - nop -.end func_00001b38 -#endif - -#ifdef UDNL_T300 -.globl func_00001930 -.ent func_00001930 -func_00001930: -#else -.globl func_00001440 -.ent func_00001440 -func_00001440: -#endif - mfc0 $t0, $12 - nop -#ifdef UDNL_T300 - la $t4, func_00001930_main -#else - la $t4, func_00001440_main -#endif - lui $at, 0xA000 - or $t4, $t4, $at - jr $t4 -#ifdef UDNL_T300 -func_00001930_main: -#else -func_00001440_main: -#endif - mtc0 $zero, $12 - nop - nop - lui $t6, 0xbf80 - lw $t6, 0x1450($t6) - nop - addiu $t7, $zero, 0xfffe - and $t1, $t6, $t7 - lui $at, 0xbf80 - sw $t1, 0x1450($at) - lui $at, 0xbf80 - lw $zero, 0x1450($at) - lui $t7, 0xbf80 - lw $t7, 0x1578($t7) - lui $at, 0xbf80 - sw $zero, 0x1578($at) - lui $at, 0xbf80 - lw $zero, 0x1578($at) - lui $t5, 0xfffe - lw $t5, 0x0130($t5) - addiu $t1, $zero, 0x0c04 - lui $at, 0xfffe - sw $t1, 0x0130($at) - lui $t4, 0x0001 - mtc0 $t4, $12 - nop - nop - addiu $t2, $zero, 0x0000 - addiu $t3, $zero, 0x0f80 -#ifdef UDNL_T300 -func_00001930_loop: -#else -func_00001440_loop: -#endif - sw $zero, 0x0000($t2) - sw $zero, 0x0010($t2) - sw $zero, 0x0020($t2) - sw $zero, 0x0030($t2) - sw $zero, 0x0040($t2) - sw $zero, 0x0050($t2) - sw $zero, 0x0060($t2) - sw $zero, 0x0070($t2) -#ifdef UDNL_T300 - bne $t2, $t3, func_00001930_loop -#else - bne $t2, $t3, func_00001440_loop -#endif - addi $t2, $t2, 0x0080 - mtc0 $zero, $12 - nop - lui $at, 0xfffe - sw $t5, 0x0130($at) - lui $at, 0xfffe - lw $zero, 0x0130($at) - nop - lui $at, 0xbf80 - sw $t7, 0x1578($at) - lui $at, 0xbf80 - lw $zero, 0x1578($at) - lui $at, 0xbf80 - sw $t6, 0x1450($at) - lui $at, 0xbf80 - lw $zero, 0x1450($at) - mtc0 $t0, $12 - nop - jr $ra - nop -#ifdef UDNL_T300 -.end func_00001930 -#else -.end func_00001440 -#endif - -# Note: This doesn't seem to be used. -#ifdef UDNL_T300 -# .globl func_00001a34 -# .ent func_00001a34 -# func_00001a34: -#else -# .globl func_00001544 -# .ent func_00001544 -# func_00001544: -#endif -# mfc0 $t0, $12 -# nop -#ifdef UDNL_T300 -# la $t4, func_00001a34_main -#else -# la $t4, func_00001544_main -#endif -# lui $at, 0xa000 -# or $t4, $t4, $at -# jr $t4 -#ifdef UDNL_T300 -# func_00001a34_main: -#else -# func_00001544_main: -#endif -# mtc0 $zero, $12 -# nop -# nop -# lui $t6, 0xbf80 -# lw $t6, 0x1450($t6) -# nop -# addiu $t7, $zero, 0xfffe -# and $t1, $t6, $t7 -# lui $at, 0xbf80 -# sw $t1, 0x1450($at) -# lui $at, 0xbf80 -# lw $zero, 0x1450($at) -# lui $t7, 0xbf80 -# lw $t7, 0x1578($t7) -# lui $at, 0xbf80 -# sw $zero, 0x1578($at) -# lui $at, 0xbf80 -# lw $zero, 0x1578($at) -# lui $t5, 0xfffe -# lw $t5, 0x0130($t5) -# addiu $t1, $zero, 0x00c4 -# lui $at, 0xfffe -# sw $t1, 0x0130($at) -# lui $t4, 0x0001 -# mtc0 $t4, $12 -# nop -# nop -# addiu $t2, $zero, 0x0000 -# addiu $t3, $zero, 0x0380 -#ifdef UDNL_T300 -# func_00001a34_loop: -#else -# func_00001544_loop: -#endif -# sw $zero, 0x0000($t2) -# sw $zero, 0x0010($t2) -# sw $zero, 0x0020($t2) -# sw $zero, 0x0030($t2) -# sw $zero, 0x0040($t2) -# sw $zero, 0x0050($t2) -# sw $zero, 0x0060($t2) -# sw $zero, 0x0070($t2) -#ifdef UDNL_T300 -# bne $t2, $t3, func_00001a34_loop -#else -# bne $t2, $t3, func_00001544_loop -#endif -# addi $t2, $t2, 0x0080 -# mtc0 $zero, $12 -# nop -# lui $at, 0xfffe -# sw $t5, 0x0130($at) -# lui $at, 0xfffe -# lw $zero, 0x0130($at) -# nop -# lui $at, 0xbf80 -# sw $t7, 0x1578($at) -# lui $at, 0xbf80 -# lw $zero, 0x1578($at) -# lui $at, 0xbf80 -# sw $t6, 0x1450($at) -# lui $at, 0xbf80 -# lw $zero, 0x1450($at) -# mtc0 $t0, $12 -# nop -# jr $ra -# nop -#ifdef UDNL_T300 -# .end func_00001a34 -#else -# .end func_00001544 -#endif - -.set pop