diff --git a/src/gvars/gvars.c b/src/gvars/gvars.c index cbcae724f..e03df603a 100644 --- a/src/gvars/gvars.c +++ b/src/gvars/gvars.c @@ -14198,12 +14198,7 @@ u32 var8009c798 = 0; u32 var8009c79c = 0; u32 var8009c7a0 = 0; u32 var8009c7a4 = 0; -u32 __osPiAccessQueue = 0; -u32 var8009c7ac = 0; -u32 var8009c7b0 = 0; -u32 var8009c7b4 = 0; -u32 var8009c7b8 = 0; -u32 var8009c7bc = 0; +OSMesgQueue __osPiAccessQueue = {0}; u32 var8009c7c0 = 0; u32 var8009c7c4 = 0; u32 var8009c7c8 = 0; diff --git a/src/include/gvars/gvars.h b/src/include/gvars/gvars.h index 68f7e3ee6..8a816ffe5 100644 --- a/src/include/gvars/gvars.h +++ b/src/include/gvars/gvars.h @@ -484,7 +484,7 @@ extern u32 var8009c780; extern u32 var8009c788; extern u32 var8009c78c; extern u32 var8009c7a0; -extern u32 __osPiAccessQueue; +extern OSMesgQueue __osPiAccessQueue; extern u32 var8009c7c0; extern u32 var8009c7c8; extern u32 __osContPifRam; diff --git a/src/lib/ultra/io/piacs.c b/src/lib/ultra/io/piacs.c index c6c244a01..b02c29447 100644 --- a/src/lib/ultra/io/piacs.c +++ b/src/lib/ultra/io/piacs.c @@ -1,4 +1,5 @@ #include +#include "gvars/gvars.h" GLOBAL_ASM( glabel __osPiCreateAccessQueue @@ -46,17 +47,7 @@ glabel __osPiGetAccess /* 49b20: 00000000 */ nop ); -GLOBAL_ASM( -glabel __osPiRelAccess -/* 49b24: 27bdffe8 */ addiu $sp,$sp,-24 -/* 49b28: afbf0014 */ sw $ra,0x14($sp) -/* 49b2c: 3c04800a */ lui $a0,%hi(__osPiAccessQueue) -/* 49b30: 2484c7a8 */ addiu $a0,$a0,%lo(__osPiAccessQueue) -/* 49b34: 00002825 */ or $a1,$zero,$zero -/* 49b38: 0c012238 */ jal osSendMesg -/* 49b3c: 00003025 */ or $a2,$zero,$zero -/* 49b40: 8fbf0014 */ lw $ra,0x14($sp) -/* 49b44: 27bd0018 */ addiu $sp,$sp,0x18 -/* 49b48: 03e00008 */ jr $ra -/* 49b4c: 00000000 */ nop -); +void __osPiRelAccess(void) +{ + osSendMesg(&__osPiAccessQueue, NULL, OS_MESG_NOBLOCK); +}