From d88f9cef04fd47ca1fc246731354a704ab48c6be Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sat, 30 Jan 2021 10:33:14 +1000 Subject: [PATCH] Decompile __osAiDeviceBusy --- Makefile | 1 + ld/libfiles.inc | 2 +- src/include/lib/lib_51ec0.h | 8 -------- src/lib/lib_51ec0.c | 19 ------------------- src/lib/ultra/io/ai.c | 12 ++++++++++++ 5 files changed, 14 insertions(+), 28 deletions(-) delete mode 100644 src/include/lib/lib_51ec0.h delete mode 100644 src/lib/lib_51ec0.c create mode 100644 src/lib/ultra/io/ai.c diff --git a/Makefile b/Makefile index b0d611fc7..b9d26d2a5 100644 --- a/Makefile +++ b/Makefile @@ -68,6 +68,7 @@ $(B_DIR)/lib/ultra/gu/ortho.o: LOOPUNROLL := $(B_DIR)/lib/ultra/libc/ll.o: MIPSISET := -mips3 -o32 $(B_DIR)/lib/ultra/libc/llcvt.o: MIPSISET := -mips3 -o32 +$(B_DIR)/lib/ultra/io/ai.o: OPT_LVL := -O1 $(B_DIR)/lib/ultra/io/aisetnextbuf.o: OPT_LVL := -O1 $(B_DIR)/lib/ultra/io/dpctr.o: OPT_LVL := -O1 $(B_DIR)/lib/ultra/io/pigetcmdq.o: OPT_LVL := -O1 diff --git a/ld/libfiles.inc b/ld/libfiles.inc index 08e572f05..51a5f6df8 100644 --- a/ld/libfiles.inc +++ b/ld/libfiles.inc @@ -187,7 +187,7 @@ build/ROMID/lib/ultra/io/si.o (section); \ build/ROMID/lib/ultra/os/probetlb.o (section); \ build/ROMID/lib/lib_51d50.o (section); \ - build/ROMID/lib/lib_51ec0.o (section); \ + build/ROMID/lib/ultra/io/ai.o (section); \ build/ROMID/lib/ultra/os/jammesg.o (section); \ build/ROMID/lib/ultra/io/pigetcmdq.o (section); \ build/ROMID/lib/ultra/io/pirawread.o (section); \ diff --git a/src/include/lib/lib_51ec0.h b/src/include/lib/lib_51ec0.h deleted file mode 100644 index 6d8739a5e..000000000 --- a/src/include/lib/lib_51ec0.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef _IN_LIB_LIB_51EC0_H -#define _IN_LIB_LIB_51EC0_H -#include -#include "types.h" - -u32 __osAiDeviceBusy(void); - -#endif diff --git a/src/lib/lib_51ec0.c b/src/lib/lib_51ec0.c deleted file mode 100644 index 12d3a8256..000000000 --- a/src/lib/lib_51ec0.c +++ /dev/null @@ -1,19 +0,0 @@ -#include - -GLOBAL_ASM( -glabel __osAiDeviceBusy -/* 51ec0: 3c0ea450 */ lui $t6,0xa450 -/* 51ec4: 8dc4000c */ lw $a0,0xc($t6) -/* 51ec8: 3c018000 */ lui $at,0x8000 -/* 51ecc: 27bdfff8 */ addiu $sp,$sp,-8 -/* 51ed0: 00817824 */ and $t7,$a0,$at -/* 51ed4: 11e00003 */ beqz $t7,.L00051ee4 -/* 51ed8: 00000000 */ nop -/* 51edc: 10000002 */ b .L00051ee8 -/* 51ee0: 24020001 */ addiu $v0,$zero,0x1 -.L00051ee4: -/* 51ee4: 00001025 */ or $v0,$zero,$zero -.L00051ee8: -/* 51ee8: 03e00008 */ jr $ra -/* 51eec: 27bd0008 */ addiu $sp,$sp,0x8 -); diff --git a/src/lib/ultra/io/ai.c b/src/lib/ultra/io/ai.c new file mode 100644 index 000000000..1f85ea9b4 --- /dev/null +++ b/src/lib/ultra/io/ai.c @@ -0,0 +1,12 @@ +#include + +s32 __osAiDeviceBusy(void) +{ + register s32 status = IO_READ(AI_STATUS_REG); + + if (status & AI_STATUS_FIFO_FULL) { + return 1; + } + + return 0; +}