Super Mario 64 Source
A Super Mario 64 decompilation, brought to you by a bunch of clever folks.
Data Structures | Macros | Typedefs | Functions
sptask.h File Reference

Go to the source code of this file.

Data Structures

struct  OSTask_t
 
union  OSTask
 

Macros

#define M_GFXTASK   1
 
#define M_AUDTASK   2
 
#define M_VIDTASK   3
 
#define M_HVQTASK   6
 
#define M_HVQMTASK   7
 
#define OS_YIELD_DATA_SIZE   0x900
 
#define OS_YIELD_AUDIO_SIZE   0x400
 
#define M_TASK_FLAG0   1
 
#define M_TASK_FLAG1   2
 
#define SPSTATUS_CLEAR_HALT   0x00000001
 
#define SPSTATUS_SET_HALT   0x00000002
 
#define SPSTATUS_CLEAR_BROKE   0x00000004
 
#define SPSTATUS_CLEAR_INTR   0x00000008
 
#define SPSTATUS_SET_INTR   0x00000010
 
#define SPSTATUS_CLEAR_SSTEP   0x00000020
 
#define SPSTATUS_SET_SSTEP   0x00000040
 
#define SPSTATUS_CLEAR_INTR_ON_BREAK   0x00000080
 
#define SPSTATUS_SET_INTR_ON_BREAK   0x00000100
 
#define SPSTATUS_CLEAR_SIGNAL0   0x00000200
 
#define SPSTATUS_SET_SIGNAL0   0x00000400
 
#define SPSTATUS_CLEAR_SIGNAL1   0x00000800
 
#define SPSTATUS_SET_SIGNAL1   0x00001000
 
#define SPSTATUS_CLEAR_SIGNAL2   0x00002000
 
#define SPSTATUS_SET_SIGNAL2   0x00004000
 
#define SPSTATUS_CLEAR_SIGNAL3   0x00008000
 
#define SPSTATUS_SET_SIGNAL3   0x00010000
 
#define SPSTATUS_CLEAR_SIGNAL4   0x00020000
 
#define SPSTATUS_SET_SIGNAL4   0x00040000
 
#define SPSTATUS_CLEAR_SIGNAL5   0x00080000
 
#define SPSTATUS_SET_SIGNAL5   0x00100000
 
#define SPSTATUS_CLEAR_SIGNAL6   0x00200000
 
#define SPSTATUS_SET_SIGNAL6   0x00800000
 
#define SPSTATUS_CLEAR_SIGNAL7   0x01000000
 
#define SPSTATUS_SET_SIGNAL7   0x02000000
 
#define SPSTATUS_HALT   0x0001
 
#define SPSTATUS_BROKE   0x0002
 
#define SPSTATUS_DMA_BUSY   0x0004
 
#define SPSTATUS_DMA_FULL   0x0008
 
#define SPSTATUS_IO_FULL   0x0010
 
#define SPSTATUS_SINGLE_STEP   0x0020
 
#define SPSTATUS_INTERRUPT_ON_BREAK   0x0040
 
#define SPSTATUS_SIGNAL0_SET   0x0080
 
#define SPSTATUS_SIGNAL1_SET   0x0100
 
#define SPSTATUS_SIGNAL2_SET   0x0200
 
#define SPSTATUS_SIGNAL3_SET   0x0400
 
#define SPSTATUS_SIGNAL4_SET   0x0800
 
#define SPSTATUS_SIGNAL5_SET   0x1000
 
#define SPSTATUS_SIGNAL6_SET   0x2000
 
#define SPSTATUS_SIGNAL7_SET   0x4000
 
#define osSpTaskStart(p)
 

Typedefs

typedef u32 OSYieldResult
 

Functions

void osSpTaskLoad (OSTask *task)
 
void osSpTaskStartGo (OSTask *task)
 
void osSpTaskYield (void)
 
OSYieldResult osSpTaskYielded (OSTask *task)
 

Macro Definition Documentation

◆ M_AUDTASK

#define M_AUDTASK   2

◆ M_GFXTASK

#define M_GFXTASK   1

◆ M_HVQMTASK

#define M_HVQMTASK   7

◆ M_HVQTASK

#define M_HVQTASK   6

◆ M_TASK_FLAG0

#define M_TASK_FLAG0   1

◆ M_TASK_FLAG1

#define M_TASK_FLAG1   2

◆ M_VIDTASK

#define M_VIDTASK   3

◆ OS_YIELD_AUDIO_SIZE

#define OS_YIELD_AUDIO_SIZE   0x400

◆ OS_YIELD_DATA_SIZE

#define OS_YIELD_DATA_SIZE   0x900

◆ osSpTaskStart

#define osSpTaskStart (   p)
Value:
osSpTaskStartGo(p);
void osSpTaskLoad(OSTask *task)
Definition: osSpTaskLoadGo.c:24

◆ SPSTATUS_BROKE

#define SPSTATUS_BROKE   0x0002

◆ SPSTATUS_CLEAR_BROKE

#define SPSTATUS_CLEAR_BROKE   0x00000004

◆ SPSTATUS_CLEAR_HALT

#define SPSTATUS_CLEAR_HALT   0x00000001

◆ SPSTATUS_CLEAR_INTR

#define SPSTATUS_CLEAR_INTR   0x00000008

◆ SPSTATUS_CLEAR_INTR_ON_BREAK

#define SPSTATUS_CLEAR_INTR_ON_BREAK   0x00000080

◆ SPSTATUS_CLEAR_SIGNAL0

#define SPSTATUS_CLEAR_SIGNAL0   0x00000200

◆ SPSTATUS_CLEAR_SIGNAL1

#define SPSTATUS_CLEAR_SIGNAL1   0x00000800

◆ SPSTATUS_CLEAR_SIGNAL2

#define SPSTATUS_CLEAR_SIGNAL2   0x00002000

◆ SPSTATUS_CLEAR_SIGNAL3

#define SPSTATUS_CLEAR_SIGNAL3   0x00008000

◆ SPSTATUS_CLEAR_SIGNAL4

#define SPSTATUS_CLEAR_SIGNAL4   0x00020000

◆ SPSTATUS_CLEAR_SIGNAL5

#define SPSTATUS_CLEAR_SIGNAL5   0x00080000

◆ SPSTATUS_CLEAR_SIGNAL6

#define SPSTATUS_CLEAR_SIGNAL6   0x00200000

◆ SPSTATUS_CLEAR_SIGNAL7

#define SPSTATUS_CLEAR_SIGNAL7   0x01000000

◆ SPSTATUS_CLEAR_SSTEP

#define SPSTATUS_CLEAR_SSTEP   0x00000020

◆ SPSTATUS_DMA_BUSY

#define SPSTATUS_DMA_BUSY   0x0004

◆ SPSTATUS_DMA_FULL

#define SPSTATUS_DMA_FULL   0x0008

◆ SPSTATUS_HALT

#define SPSTATUS_HALT   0x0001

◆ SPSTATUS_INTERRUPT_ON_BREAK

#define SPSTATUS_INTERRUPT_ON_BREAK   0x0040

◆ SPSTATUS_IO_FULL

#define SPSTATUS_IO_FULL   0x0010

◆ SPSTATUS_SET_HALT

#define SPSTATUS_SET_HALT   0x00000002

◆ SPSTATUS_SET_INTR

#define SPSTATUS_SET_INTR   0x00000010

◆ SPSTATUS_SET_INTR_ON_BREAK

#define SPSTATUS_SET_INTR_ON_BREAK   0x00000100

◆ SPSTATUS_SET_SIGNAL0

#define SPSTATUS_SET_SIGNAL0   0x00000400

◆ SPSTATUS_SET_SIGNAL1

#define SPSTATUS_SET_SIGNAL1   0x00001000

◆ SPSTATUS_SET_SIGNAL2

#define SPSTATUS_SET_SIGNAL2   0x00004000

◆ SPSTATUS_SET_SIGNAL3

#define SPSTATUS_SET_SIGNAL3   0x00010000

◆ SPSTATUS_SET_SIGNAL4

#define SPSTATUS_SET_SIGNAL4   0x00040000

◆ SPSTATUS_SET_SIGNAL5

#define SPSTATUS_SET_SIGNAL5   0x00100000

◆ SPSTATUS_SET_SIGNAL6

#define SPSTATUS_SET_SIGNAL6   0x00800000

◆ SPSTATUS_SET_SIGNAL7

#define SPSTATUS_SET_SIGNAL7   0x02000000

◆ SPSTATUS_SET_SSTEP

#define SPSTATUS_SET_SSTEP   0x00000040

◆ SPSTATUS_SIGNAL0_SET

#define SPSTATUS_SIGNAL0_SET   0x0080

◆ SPSTATUS_SIGNAL1_SET

#define SPSTATUS_SIGNAL1_SET   0x0100

◆ SPSTATUS_SIGNAL2_SET

#define SPSTATUS_SIGNAL2_SET   0x0200

◆ SPSTATUS_SIGNAL3_SET

#define SPSTATUS_SIGNAL3_SET   0x0400

◆ SPSTATUS_SIGNAL4_SET

#define SPSTATUS_SIGNAL4_SET   0x0800

◆ SPSTATUS_SIGNAL5_SET

#define SPSTATUS_SIGNAL5_SET   0x1000

◆ SPSTATUS_SIGNAL6_SET

#define SPSTATUS_SIGNAL6_SET   0x2000

◆ SPSTATUS_SIGNAL7_SET

#define SPSTATUS_SIGNAL7_SET   0x4000

◆ SPSTATUS_SINGLE_STEP

#define SPSTATUS_SINGLE_STEP   0x0020

Typedef Documentation

◆ OSYieldResult

Function Documentation

◆ osSpTaskLoad()

void osSpTaskLoad ( OSTask task)

◆ osSpTaskStartGo()

void osSpTaskStartGo ( OSTask task)

◆ osSpTaskYield()

void osSpTaskYield ( void  )

◆ osSpTaskYielded()

OSYieldResult osSpTaskYielded ( OSTask task)