diff --git a/Makefile b/Makefile index 24c5939cf..cd141419c 100644 --- a/Makefile +++ b/Makefile @@ -65,6 +65,7 @@ $(B_DIR)/lib/libc/llcvt.o: MIPSISET := -mips3 -o32 $(B_DIR)/lib/libc/ll.o: OPT_LVL := -O1 $(B_DIR)/lib/libc/llcvt.o: OPT_LVL := -O1 +$(B_DIR)/lib/ultra/io/dpctr.o: OPT_LVL := -O1 $(B_DIR)/lib/ultra/io/sp.o: OPT_LVL := -O1 $(B_DIR)/lib/ultra/io/spsetpc.o: OPT_LVL := -O1 $(B_DIR)/lib/ultra/io/vigetcurrframebuf.o: OPT_LVL := -O1 diff --git a/ld/libfiles.inc b/ld/libfiles.inc index 8f239c96a..edcdfb404 100644 --- a/ld/libfiles.inc +++ b/ld/libfiles.inc @@ -100,6 +100,7 @@ build/ROMID/lib/ultra/os/stoptimer.o (section); \ build/ROMID/lib/ultra/os/settimer.o (section); \ build/ROMID/lib/lib_48c00.o (section); \ + build/ROMID/lib/ultra/io/dpctr.o (section); \ build/ROMID/lib/lib_48cd0.o (section); \ build/ROMID/lib/lib_48dc0.o (section); \ build/ROMID/lib/lib_48ef0.o (section); \ diff --git a/src/lib/lib_48c00.c b/src/lib/lib_48c00.c index 3b9ae7aa3..ed970bf45 100644 --- a/src/lib/lib_48c00.c +++ b/src/lib/lib_48c00.c @@ -49,27 +49,3 @@ glabel osSpTaskYielded /* 48c78: 03e00008 */ jr $ra /* 48c7c: 00000000 */ nop ); - -GLOBAL_ASM( -glabel osDpGetCounters -/* 48c80: 3c0ea410 */ lui $t6,0xa410 -/* 48c84: 8dcf0010 */ lw $t7,0x10($t6) -/* 48c88: 3c18a410 */ lui $t8,0xa410 -/* 48c8c: 3c08a410 */ lui $t0,0xa410 -/* 48c90: ac8f0000 */ sw $t7,0x0($a0) -/* 48c94: 8f190014 */ lw $t9,0x14($t8) -/* 48c98: 24840004 */ addiu $a0,$a0,0x4 -/* 48c9c: 3c0aa410 */ lui $t2,0xa410 -/* 48ca0: ac990000 */ sw $t9,0x0($a0) -/* 48ca4: 8d090018 */ lw $t1,0x18($t0) -/* 48ca8: 24840004 */ addiu $a0,$a0,0x4 -/* 48cac: 24840004 */ addiu $a0,$a0,0x4 -/* 48cb0: ac89fffc */ sw $t1,-0x4($a0) -/* 48cb4: 8d4b001c */ lw $t3,0x1c($t2) -/* 48cb8: 24840004 */ addiu $a0,$a0,0x4 -/* 48cbc: 03e00008 */ jr $ra -/* 48cc0: ac8bfffc */ sw $t3,-0x4($a0) -/* 48cc4: 00000000 */ nop -/* 48cc8: 00000000 */ nop -/* 48ccc: 00000000 */ nop -); \ No newline at end of file diff --git a/src/lib/ultra/io/dpctr.c b/src/lib/ultra/io/dpctr.c new file mode 100644 index 000000000..de9ada189 --- /dev/null +++ b/src/lib/ultra/io/dpctr.c @@ -0,0 +1,9 @@ +#include "libultra_internal.h" + +void osDpGetCounters(u32 *array) +{ + *array++ = IO_READ(DPC_CLOCK_REG); + *array++ = IO_READ(DPC_BUFBUSY_REG); + *array++ = IO_READ(DPC_PIPEBUSY_REG); + *array++ = IO_READ(DPC_TMEM_REG); +}