diff options
| author | Random <28494085+Random06457@users.noreply.github.com> | 2020-10-03 17:22:44 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-10-03 11:22:44 -0400 |
| commit | 174af7384d1cfcbf15da02d9069bf02bdc433c20 (patch) | |
| tree | e4fb18346f71047c123ec4d34a80ae7e4d8ab9ea /src/libultra_code/osContInit.c | |
| parent | 6136ee6debd570a63fc695a6f4664553303f2324 (diff) | |
libultra cleanup (#215)
* cleanup libultra
* fixes
- use quotes instead of <> for includes
- add macros for zelda specific thread priorities
- fix Makefile
- properly format the remaining pfs structs
* fix button macros + add CHECK_BTN_ANY/CHECK_BTN_ALL
* remove ULTRA_ABS
* fix includes
* update z_player.c/z_lib.c + run format.sh
* merge upstream/master
* fix include in En_Goroiwa
* fix includes
Diffstat (limited to 'src/libultra_code/osContInit.c')
| -rw-r--r-- | src/libultra_code/osContInit.c | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/src/libultra_code/osContInit.c b/src/libultra_code/osContInit.c deleted file mode 100644 index 8a0bd6b10..000000000 --- a/src/libultra_code/osContInit.c +++ /dev/null @@ -1,90 +0,0 @@ -#include <ultra64.h> -#include <global.h> -#include <ultra64/controller.h> - -OSPifRam __osPifInternalBuff; -u8 __osContLastPoll; -u8 __osMaxControllers; // always 4 - -OSTimer __osEepromTimer; -OSMesgQueue __osEepromTimerMsgQ; -OSMesg __osEepromTimerMsg; - -u32 gOSContInitialized = 0; - -#define HALF_SECOND OS_USEC_TO_CYCLES(500000) -s32 osContInit(OSMesgQueue* mq, u8* ctlBitfield, OSContStatus* status) { - OSMesg mesg; - s32 ret = 0; - OSTime currentTime; - OSTimer timer; - OSMesgQueue timerqueue; - - if (gOSContInitialized) { - return 0; - } - gOSContInitialized = 1; - currentTime = osGetTime(); - if (HALF_SECOND > currentTime) { - osCreateMesgQueue(&timerqueue, &mesg, 1); - osSetTimer(&timer, HALF_SECOND - currentTime, 0, &timerqueue, &mesg); - osRecvMesg(&timerqueue, &mesg, OS_MESG_BLOCK); - } - __osMaxControllers = MAXCONTROLLERS; - __osPackRequestData(CONT_CMD_REQUEST_STATUS); - ret = __osSiRawStartDma(OS_WRITE, &__osPifInternalBuff); - osRecvMesg(mq, &mesg, OS_MESG_BLOCK); - ret = __osSiRawStartDma(OS_READ, &__osPifInternalBuff); - osRecvMesg(mq, &mesg, OS_MESG_BLOCK); - __osContGetInitData(ctlBitfield, status); - __osContLastPoll = CONT_CMD_REQUEST_STATUS; - __osSiCreateAccessQueue(); - osCreateMesgQueue(&__osEepromTimerMsgQ, &__osEepromTimerMsg, 1); - return ret; -} - -void __osContGetInitData(u8* ctlBitfield, OSContStatus* status) { - u8* bufptr; - __OSContRequestHeader req; - s32 i; - u8 bitfieldTemp = 0; - bufptr = (u8*)(&__osPifInternalBuff); - for (i = 0; i < __osMaxControllers; i++, bufptr += sizeof(req), status++) { - req = *((__OSContRequestHeader*)bufptr); - status->errno = (req.rxsize & 0xC0) >> 4; - if (status->errno) { - continue; - } - status->type = req.typel << 8 | req.typeh; - status->status = req.status; - bitfieldTemp |= 1 << i; - } - *ctlBitfield = bitfieldTemp; -} - -void __osPackRequestData(u8 poll) { - u8* bufptr; - __OSContRequestHeader req; - s32 i; - for (i = 0; i < 0xF; i++) { - __osPifInternalBuff.ram[i] = 0; - } - __osPifInternalBuff.status = 1; - - bufptr = &__osPifInternalBuff; - - req.align = 0xFF; - req.txsize = 1; - req.rxsize = 3; - req.poll = poll; - req.typeh = 0xFF; - req.typel = 0xFF; - req.status = 0xFF; - req.align1 = 0xFF; - - for (i = 0; i < __osMaxControllers; i++) { - *((__OSContRequestHeader*)bufptr) = req; - bufptr += sizeof(req); - } - *((u8*)bufptr) = 254; -} |
