mirror of
https://github.com/sm64pc/sm64pc.git
synced 2025-04-12 00:05:59 +02:00
26 lines
644 B
C
26 lines
644 B
C
#include "libultra_internal.h"
|
|
|
|
#define PIAccessQueueSize 2
|
|
|
|
OSMesg osPiMesgBuff[PIAccessQueueSize];
|
|
OSMesgQueue gOsPiMessageQueue;
|
|
u32 gOsPiAccessQueueCreated = 0;
|
|
|
|
void __osPiCreateAccessQueue() {
|
|
gOsPiAccessQueueCreated = 1;
|
|
osCreateMesgQueue(&gOsPiMessageQueue, &osPiMesgBuff[0], PIAccessQueueSize - 1);
|
|
osSendMesg(&gOsPiMessageQueue, NULL, OS_MESG_NOBLOCK);
|
|
}
|
|
|
|
void __osPiGetAccess() {
|
|
OSMesg sp1c;
|
|
if (!gOsPiAccessQueueCreated) {
|
|
__osPiCreateAccessQueue();
|
|
}
|
|
osRecvMesg(&gOsPiMessageQueue, &sp1c, OS_MESG_BLOCK);
|
|
}
|
|
|
|
void __osPiRelAccess() {
|
|
osSendMesg(&gOsPiMessageQueue, NULL, OS_MESG_NOBLOCK);
|
|
}
|