1
0
mirror of https://github.com/zeldaret/oot.git synced 2024-09-23 05:45:03 +00:00
oot/src/libultra_boot_O1/piacs.c

27 lines
575 B
C
Raw Normal View History

2020-03-17 04:31:30 +00:00
#include <global.h>
u32 __osPiAccessQueueEnabled = 0;
OSMesg piAccessBuf;
OSMesgQueue __osPiAccessQueue;
2020-03-22 21:19:43 +00:00
void __osPiCreateAccessQueue(void) {
2020-03-17 04:31:30 +00:00
__osPiAccessQueueEnabled = 1;
osCreateMesgQueue(&__osPiAccessQueue, &piAccessBuf, 1);
osSendMesg(&__osPiAccessQueue, NULL, OS_MESG_NOBLOCK);
}
2020-03-22 21:19:43 +00:00
void __osPiGetAccess(void) {
2020-03-17 04:31:30 +00:00
OSMesg mesg;
2020-03-22 21:19:43 +00:00
if (!__osPiAccessQueueEnabled) {
2020-03-17 04:31:30 +00:00
__osPiCreateAccessQueue();
2020-03-22 21:19:43 +00:00
}
2020-03-17 04:31:30 +00:00
osRecvMesg(&__osPiAccessQueue, &mesg, OS_MESG_BLOCK);
}
2020-03-22 21:19:43 +00:00
void __osPiRelAccess(void) {
2020-03-17 04:31:30 +00:00
osSendMesg(&__osPiAccessQueue, 0, OS_MESG_NOBLOCK);
}