From 32a7988e8fc9e05e9c1a05c1dd9648f3a4f6a641 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Tue, 26 Jan 2021 22:39:01 +1000 Subject: [PATCH] Decompile __osPiCreateAccessQueue --- src/gvars/gvars.c | 2 +- src/include/gvars/gvars.h | 2 +- src/lib/ultra/io/piacs.c | 29 ++++++----------------------- 3 files changed, 8 insertions(+), 25 deletions(-) diff --git a/src/gvars/gvars.c b/src/gvars/gvars.c index e03df603a..27b575b74 100644 --- a/src/gvars/gvars.c +++ b/src/gvars/gvars.c @@ -14196,7 +14196,7 @@ u32 var8009c790 = 0; u32 var8009c794 = 0; u32 var8009c798 = 0; u32 var8009c79c = 0; -u32 var8009c7a0 = 0; +OSMesg piAccessBuf = NULL; u32 var8009c7a4 = 0; OSMesgQueue __osPiAccessQueue = {0}; u32 var8009c7c0 = 0; diff --git a/src/include/gvars/gvars.h b/src/include/gvars/gvars.h index 8a816ffe5..9d7e6de8a 100644 --- a/src/include/gvars/gvars.h +++ b/src/include/gvars/gvars.h @@ -483,7 +483,7 @@ extern u32 var8009c760; extern u32 var8009c780; extern u32 var8009c788; extern u32 var8009c78c; -extern u32 var8009c7a0; +extern OSMesg piAccessBuf; extern OSMesgQueue __osPiAccessQueue; extern u32 var8009c7c0; extern u32 var8009c7c8; diff --git a/src/lib/ultra/io/piacs.c b/src/lib/ultra/io/piacs.c index 24bb24ae1..6ffa656e5 100644 --- a/src/lib/ultra/io/piacs.c +++ b/src/lib/ultra/io/piacs.c @@ -2,29 +2,12 @@ #include "game/data/data_000000.h" #include "gvars/gvars.h" -GLOBAL_ASM( -glabel __osPiCreateAccessQueue -/* 49a90: 27bdffe8 */ addiu $sp,$sp,-24 -/* 49a94: afbf0014 */ sw $ra,0x14($sp) -/* 49a98: 240e0001 */ addiu $t6,$zero,0x1 -/* 49a9c: 3c018006 */ lui $at,%hi(__osPiAccessQueueEnabled) -/* 49aa0: 3c04800a */ lui $a0,%hi(__osPiAccessQueue) -/* 49aa4: 3c05800a */ lui $a1,%hi(var8009c7a0) -/* 49aa8: ac2e0920 */ sw $t6,%lo(__osPiAccessQueueEnabled)($at) -/* 49aac: 24a5c7a0 */ addiu $a1,$a1,%lo(var8009c7a0) -/* 49ab0: 2484c7a8 */ addiu $a0,$a0,%lo(__osPiAccessQueue) -/* 49ab4: 0c0120d0 */ jal osCreateMesgQueue -/* 49ab8: 24060001 */ addiu $a2,$zero,0x1 -/* 49abc: 3c04800a */ lui $a0,%hi(__osPiAccessQueue) -/* 49ac0: 2484c7a8 */ addiu $a0,$a0,%lo(__osPiAccessQueue) -/* 49ac4: 00002825 */ or $a1,$zero,$zero -/* 49ac8: 0c012238 */ jal osSendMesg -/* 49acc: 00003025 */ or $a2,$zero,$zero -/* 49ad0: 8fbf0014 */ lw $ra,0x14($sp) -/* 49ad4: 27bd0018 */ addiu $sp,$sp,0x18 -/* 49ad8: 03e00008 */ jr $ra -/* 49adc: 00000000 */ nop -); +void __osPiCreateAccessQueue(void) +{ + __osPiAccessQueueEnabled = 1; + osCreateMesgQueue(&__osPiAccessQueue, &piAccessBuf, 1); + osSendMesg(&__osPiAccessQueue, NULL, OS_MESG_NOBLOCK); +} void __osPiGetAccess(void) {