/******************************************************************************** scheduler.h: Ultra 64 MARIO Brothers include file Copyright (c) 1996 Nintendo co., ltd. All rights reserved May 11, 1996 ********************************************************************************/ #ifndef SCHEDULER_H #define SCHEDULER_H /*------------------------------------------------------------------------------- * scheduler messages. */ #define SC_MESG_RSPDONE 100 #define SC_MESG_RDPDONE 101 #define SC_MESG_RETRACE 102 #define SC_MESG_GFXEXEC 103 #define SC_MESG_HWRESET 104 /*------------------------------------------------------------------------------- * RSP task status. */ #define SC_STAT_IDLE 0 #define SC_STAT_RUNNING 1 #define SC_STAT_SUSPENDED 2 #define SC_STAT_RSPDONE 3 #define SC_STAT_RDPDONE 4 /*------------------------------------------------------------------------------- * Scheduler client name. */ #define SC_CLIENT_AUDIO 1 #define SC_CLIENT_GRAPH 2 /******************************************************************************** * * type definition * ********************************************************************************/ /*------------------------------------------------------------------------------- * RSP task record for scheduler. */ typedef struct { OSTask ostask; OSMesgQueue *msgque; OSMesg osmesg; int status; int pad; } RSPTask; /*------------------------------------------------------------------------------- * Scheduler client record. */ typedef struct { OSMesgQueue *msgque; /* message queue for send retrace message */ OSMesg osmesg; /* retrace message */ } ScClient; /******************************************************************************** * * Function prototypes * ********************************************************************************/ extern void ScSetClient(int type, ScClient *client, OSMesgQueue *queue, OSMesg mesg); extern void ScSetRSPTask(RSPTask *rsptask); extern void ScStartGraphicTask(RSPTask *rsptask); extern void ScStartAudioTask(RSPTask *rsptask); extern int ScEnableAudioTask(void); extern void ScDisableAudioTask(void); #endif