mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2024-10-19 03:32:41 +00:00
23 lines
650 B
C
23 lines
650 B
C
#include "libultra_internal.h"
|
|
#define SIAccessQueueSize 2
|
|
OSMesg osSiMesgBuff[SIAccessQueueSize];
|
|
OSMesgQueue gOsSiMessageQueue;
|
|
|
|
u32 gOsSiAccessQueueCreated = 0;
|
|
void __osSiCreateAccessQueue() {
|
|
gOsSiAccessQueueCreated = 1;
|
|
osCreateMesgQueue(&gOsSiMessageQueue, &osSiMesgBuff[0], SIAccessQueueSize - 1);
|
|
osSendMesg(&gOsSiMessageQueue, NULL, OS_MESG_NOBLOCK);
|
|
}
|
|
|
|
void __osSiGetAccess(void) {
|
|
OSMesg sp1c;
|
|
if (!gOsSiAccessQueueCreated) {
|
|
__osSiCreateAccessQueue();
|
|
}
|
|
osRecvMesg(&gOsSiMessageQueue, &sp1c, OS_MESG_BLOCK);
|
|
}
|
|
|
|
void __osSiRelAccess(void) {
|
|
osSendMesg(&gOsSiMessageQueue, NULL, OS_MESG_NOBLOCK);
|
|
}
|