Decompile __osSiRelAccess

This commit is contained in:
Ryan Dwyer 2021-01-26 23:32:54 +10:00
parent 3f8a924a05
commit 6bc6a80a58
3 changed files with 13 additions and 27 deletions

View File

@ -14201,12 +14201,7 @@ u32 var8009c7a4 = 0;
OSMesgQueue __osPiAccessQueue = {0};
u32 var8009c7c0 = 0;
u32 var8009c7c4 = 0;
u32 var8009c7c8 = 0;
u32 var8009c7cc = 0;
u32 var8009c7d0 = 0;
u32 var8009c7d4 = 0;
u32 var8009c7d8 = 0;
u32 var8009c7dc = 0;
OSMesgQueue __osSiAccessQueue = {0};
u32 __osContPifRam = 0;
u32 var8009c7e4 = 0;
u32 var8009c7e8 = 0;

View File

@ -486,7 +486,7 @@ extern u32 var8009c78c;
extern OSMesg piAccessBuf;
extern OSMesgQueue __osPiAccessQueue;
extern u32 var8009c7c0;
extern u32 var8009c7c8;
extern OSMesgQueue __osSiAccessQueue;
extern u32 __osContPifRam;
extern u32 var8009c81c;
extern u8 __osContLastCmd;

View File

@ -1,4 +1,5 @@
#include <libultra_internal.h>
#include "gvars/gvars.h"
GLOBAL_ASM(
glabel __osSiCreateAccessQueue
@ -6,15 +7,15 @@ glabel __osSiCreateAccessQueue
/* 4a814: afbf0014 */ sw $ra,0x14($sp)
/* 4a818: 240e0001 */ addiu $t6,$zero,0x1
/* 4a81c: 3c018006 */ lui $at,%hi(var80060950)
/* 4a820: 3c04800a */ lui $a0,%hi(var8009c7c8)
/* 4a820: 3c04800a */ lui $a0,%hi(__osSiAccessQueue)
/* 4a824: 3c05800a */ lui $a1,%hi(var8009c7c0)
/* 4a828: ac2e0950 */ sw $t6,%lo(var80060950)($at)
/* 4a82c: 24a5c7c0 */ addiu $a1,$a1,%lo(var8009c7c0)
/* 4a830: 2484c7c8 */ addiu $a0,$a0,%lo(var8009c7c8)
/* 4a830: 2484c7c8 */ addiu $a0,$a0,%lo(__osSiAccessQueue)
/* 4a834: 0c0120d0 */ jal osCreateMesgQueue
/* 4a838: 24060001 */ addiu $a2,$zero,0x1
/* 4a83c: 3c04800a */ lui $a0,%hi(var8009c7c8)
/* 4a840: 2484c7c8 */ addiu $a0,$a0,%lo(var8009c7c8)
/* 4a83c: 3c04800a */ lui $a0,%hi(__osSiAccessQueue)
/* 4a840: 2484c7c8 */ addiu $a0,$a0,%lo(__osSiAccessQueue)
/* 4a844: 00002825 */ or $a1,$zero,$zero
/* 4a848: 0c012238 */ jal osSendMesg
/* 4a84c: 00003025 */ or $a2,$zero,$zero
@ -35,8 +36,8 @@ glabel __osSiGetAccess
/* 4a878: 0c012a04 */ jal __osSiCreateAccessQueue
/* 4a87c: 00000000 */ nop
.L0004a880:
/* 4a880: 3c04800a */ lui $a0,%hi(var8009c7c8)
/* 4a884: 2484c7c8 */ addiu $a0,$a0,%lo(var8009c7c8)
/* 4a880: 3c04800a */ lui $a0,%hi(__osSiAccessQueue)
/* 4a884: 2484c7c8 */ addiu $a0,$a0,%lo(__osSiAccessQueue)
/* 4a888: 27a5001c */ addiu $a1,$sp,0x1c
/* 4a88c: 0c0121bc */ jal osRecvMesg
/* 4a890: 24060001 */ addiu $a2,$zero,0x1
@ -46,17 +47,7 @@ glabel __osSiGetAccess
/* 4a8a0: 00000000 */ nop
);
GLOBAL_ASM(
glabel __osSiRelAccess
/* 4a8a4: 27bdffe8 */ addiu $sp,$sp,-24
/* 4a8a8: afbf0014 */ sw $ra,0x14($sp)
/* 4a8ac: 3c04800a */ lui $a0,%hi(var8009c7c8)
/* 4a8b0: 2484c7c8 */ addiu $a0,$a0,%lo(var8009c7c8)
/* 4a8b4: 00002825 */ or $a1,$zero,$zero
/* 4a8b8: 0c012238 */ jal osSendMesg
/* 4a8bc: 00003025 */ or $a2,$zero,$zero
/* 4a8c0: 8fbf0014 */ lw $ra,0x14($sp)
/* 4a8c4: 27bd0018 */ addiu $sp,$sp,0x18
/* 4a8c8: 03e00008 */ jr $ra
/* 4a8cc: 00000000 */ nop
);
void __osSiRelAccess(void)
{
osSendMesg(&__osSiAccessQueue, NULL, OS_MESG_NOBLOCK);
}