mirror of
https://github.com/zeldaret/mm.git
synced 2024-11-30 16:20:26 +00:00
48 lines
1.4 KiB
C
48 lines
1.4 KiB
C
|
#ifndef SCHEDULER_H
|
||
|
#define SCHEDULER_H
|
||
|
|
||
|
#include "PR/ultratypes.h"
|
||
|
#include "PR/sched.h"
|
||
|
#include "ultra64/vi.h"
|
||
|
#include "ultra64/sptask.h"
|
||
|
#include "irqmgr.h"
|
||
|
|
||
|
#define TASK_FRAMEBUFFER(task) ((CfbInfo*)(task)->framebuffer)
|
||
|
|
||
|
typedef struct {
|
||
|
/* 0x00 */ u16* fb1;
|
||
|
/* 0x04 */ u16* swapBuffer;
|
||
|
/* 0x08 */ OSViMode* viMode;
|
||
|
/* 0x0C */ u32 features;
|
||
|
/* 0x10 */ u8 unk_10;
|
||
|
/* 0x11 */ s8 updateRate;
|
||
|
/* 0x12 */ s8 updateRate2;
|
||
|
/* 0x13 */ u8 unk_13;
|
||
|
/* 0x14 */ f32 xScale;
|
||
|
/* 0x18 */ f32 yScale;
|
||
|
} CfbInfo; // size = 0x1C
|
||
|
|
||
|
typedef struct {
|
||
|
/* 0x000 */ OSMesgQueue interruptQ;
|
||
|
/* 0x018 */ OSMesg intBuf[64];
|
||
|
/* 0x118 */ OSMesgQueue cmdQ;
|
||
|
/* 0x130 */ OSMesg cmdMsgBuf[8];
|
||
|
/* 0x150 */ OSThread thread;
|
||
|
/* 0x300 */ OSScTask* audioListHead;
|
||
|
/* 0x304 */ OSScTask* gfxListHead;
|
||
|
/* 0x308 */ OSScTask* audioListTail;
|
||
|
/* 0x30C */ OSScTask* gfxListTail;
|
||
|
/* 0x310 */ OSScTask* curRSPTask;
|
||
|
/* 0x314 */ OSScTask* curRDPTask;
|
||
|
/* 0x318 */ s32 retraceCount;
|
||
|
/* 0x318 */ s32 doAudio;
|
||
|
/* 0x320 */ CfbInfo* curBuf;
|
||
|
/* 0x324 */ CfbInfo* pendingSwapBuf1;
|
||
|
/* 0x328 */ CfbInfo* pendingSwapBuf2;
|
||
|
/* 0x32C */ char unk_32C[0x3];
|
||
|
/* 0x32F */ u8 shouldUpdateVi;
|
||
|
/* 0x330 */ IrqMgrClient irqClient;
|
||
|
} SchedContext; // size = 0x338
|
||
|
|
||
|
#endif
|