summaryrefslogtreecommitdiff
path: root/src/libultra_boot_O2/vimgr.c
diff options
context:
space:
mode:
authorTharo <17233964+Thar0@users.noreply.github.com>2021-11-28 12:50:35 +0000
committerGitHub <noreply@github.com>2021-11-28 07:50:35 -0500
commit982e7be1f7ed06dcd8a9026b461a5908747b8087 (patch)
treef9ed3f8e91de3d173e57328963ef8d6553d59c92 /src/libultra_boot_O2/vimgr.c
parent09f0dc84b8e77cf2078442069bed5ee7db34af44 (diff)
Preliminary fixes for boot/libultra (#1032)
* Preliminary fixes * Missed a NULL
Diffstat (limited to 'src/libultra_boot_O2/vimgr.c')
-rw-r--r--src/libultra_boot_O2/vimgr.c30
1 files changed, 10 insertions, 20 deletions
diff --git a/src/libultra_boot_O2/vimgr.c b/src/libultra_boot_O2/vimgr.c
index b57b48d3b..5be0ba2e3 100644
--- a/src/libultra_boot_O2/vimgr.c
+++ b/src/libultra_boot_O2/vimgr.c
@@ -1,21 +1,12 @@
#include "global.h"
#include "ultra64/internal.h"
-typedef struct {
- u16 unk00;
- u8 unk02;
- u32 unk04;
- u8 pad[0xC];
- u16 unk14;
- u16 unk16;
-} viMesgStruct;
-
OSThread viThread;
u8 viThreadStack[0x1000];
OSMesgQueue viEventQueue;
OSMesg viEventBuf[6];
-viMesgStruct viRetraceMsg;
-viMesgStruct viCounterMsg;
+OSIoMesg viRetraceMsg;
+OSIoMesg viCounterMsg;
OSMgrArgs __osViDevMgr = { 0 };
u32 __additional_scanline = 0;
@@ -30,12 +21,12 @@ void osCreateViManager(OSPri pri) {
__osTimerServicesInit();
__additional_scanline = 0;
osCreateMesgQueue(&viEventQueue, viEventBuf, 5);
- viRetraceMsg.unk00 = 13;
- viRetraceMsg.unk02 = 0;
- viRetraceMsg.unk04 = 0;
- viCounterMsg.unk00 = 14;
- viCounterMsg.unk02 = 0;
- viCounterMsg.unk04 = 0;
+ viRetraceMsg.hdr.type = 13;
+ viRetraceMsg.hdr.pri = 0;
+ viRetraceMsg.hdr.retQueue = NULL;
+ viCounterMsg.hdr.type = 14;
+ viCounterMsg.hdr.pri = 0;
+ viCounterMsg.hdr.retQueue = NULL;
osSetEventMesg(OS_EVENT_VI, &viEventQueue, &viRetraceMsg);
osSetEventMesg(OS_EVENT_COUNTER, &viEventQueue, &viCounterMsg);
newPri = -1;
@@ -68,10 +59,9 @@ void viMgrMain(void* vargs) {
OSMgrArgs* args;
static u16 viRetrace;
u32 addTime;
- viMesgStruct* mesg;
+ OSIoMesg* mesg = NULL;
u32 temp = 0; // always 0
- mesg = NULL;
viRetrace = __osViGetCurrentContext()->retraceCount;
if (viRetrace == 0) {
viRetrace = 1;
@@ -81,7 +71,7 @@ void viMgrMain(void* vargs) {
while (true) {
osRecvMesg(args->eventQueue, (OSMesg)&mesg, OS_MESG_BLOCK);
- switch (mesg->unk00) {
+ switch (mesg->hdr.type) {
case 13:
__osViSwapContext();
viRetrace--;