Super Mario 64 Source
A Super Mario 64 decompilation, brought to you by a bunch of clever folks.
os_vi.h
Go to the documentation of this file.
1 #ifndef _ULTRA64_VI_H_
2 #define _ULTRA64_VI_H_
3 
4 /* Ultra64 Video Interface */
5 
6 
7 /* Special Features */
8 #define OS_VI_GAMMA_ON 0x0001
9 #define OS_VI_GAMMA_OFF 0x0002
10 #define OS_VI_GAMMA_DITHER_ON 0x0004
11 #define OS_VI_GAMMA_DITHER_OFF 0x0008
12 #define OS_VI_DIVOT_ON 0x0010
13 #define OS_VI_DIVOT_OFF 0x0020
14 #define OS_VI_DITHER_FILTER_ON 0x0040
15 #define OS_VI_DITHER_FILTER_OFF 0x0080
16 
17 #define OS_VI_GAMMA 0x08
18 #define OS_VI_GAMMA_DITHER 0x04
19 #define OS_VI_DIVOT 0x10
20 #define OS_VI_DITHER_FILTER 0x10000
21 #define OS_VI_UNK200 0x200
22 #define OS_VI_UNK100 0x100
23 
24 
25 /* Types */
26 
27 typedef struct
28 {
39 
40 typedef struct
41 {
48 
49 typedef struct
50 {
53  OSViFieldRegs fldRegs[2];
54 } OSViMode;
55 
56 typedef struct
57 {
58  /* 0x00 */ u16 unk00; //some kind of flags. swap buffer sets to 0x10
59  /* 0x02 */ u16 retraceCount;
60  /* 0x04 */ void* buffer;
61  /* 0x08 */ OSViMode *unk08;
62  /* 0x0c */ u32 features;
63  /* 0x10 */ OSMesgQueue *mq;
64  /* 0x14 */ OSMesg *msg;
65  /* 0x18 */ u32 unk18;
66  /* 0x1c */ u32 unk1c;
67  /* 0x20 */ u32 unk20;
68  /* 0x24 */ f32 unk24;
69  /* 0x28 */ u16 unk28;
70  /* 0x2c */ u32 unk2c;
71 } OSViContext;
72 
73 void osCreateViManager(OSPri pri);
74 void osViSetMode(OSViMode *mode);
75 void osViSetEvent(OSMesgQueue *mq, OSMesg msg, u32 retraceCount);
76 void osViBlack(u8 active);
77 void osViSetSpecialFeatures(u32 func);
78 void osViSwapBuffer(void *vaddr);
79 
80 
81 #define OS_VI_NTSC_LPN1 0 /* NTSC */
82 #define OS_VI_NTSC_LPF1 1
83 #define OS_VI_NTSC_LAN1 2
84 #define OS_VI_NTSC_LAF1 3
85 #define OS_VI_NTSC_LPN2 4
86 #define OS_VI_NTSC_LPF2 5
87 #define OS_VI_NTSC_LAN2 6
88 #define OS_VI_NTSC_LAF2 7
89 #define OS_VI_NTSC_HPN1 8
90 #define OS_VI_NTSC_HPF1 9
91 #define OS_VI_NTSC_HAN1 10
92 #define OS_VI_NTSC_HAF1 11
93 #define OS_VI_NTSC_HPN2 12
94 #define OS_VI_NTSC_HPF2 13
95 
96 #define OS_VI_PAL_LPN1 14 /* PAL */
97 #define OS_VI_PAL_LPF1 15
98 #define OS_VI_PAL_LAN1 16
99 #define OS_VI_PAL_LAF1 17
100 #define OS_VI_PAL_LPN2 18
101 #define OS_VI_PAL_LPF2 19
102 #define OS_VI_PAL_LAN2 20
103 #define OS_VI_PAL_LAF2 21
104 #define OS_VI_PAL_HPN1 22
105 #define OS_VI_PAL_HPF1 23
106 #define OS_VI_PAL_HAN1 24
107 #define OS_VI_PAL_HAF1 25
108 #define OS_VI_PAL_HPN2 26
109 #define OS_VI_PAL_HPF2 27
110 
111 extern OSViMode osViModeTable[]; /* Global VI mode table */
112 
113 
114 #endif
u32 hSync
Definition: os_vi.h:33
void osViSetEvent(OSMesgQueue *mq, OSMesg msg, u32 retraceCount)
Definition: osViSetEvent.c:3
u32 unk1c
Definition: os_vi.h:66
u32 width
Definition: os_vi.h:30
s32 OSPri
Definition: os_thread.h:21
void osCreateViManager(OSPri pri)
Definition: osCreateViManager.c:1003
unsigned short int u16
Definition: ultratypes.h:14
u32 unk2c
Definition: os_vi.h:70
u8 type
Definition: os_vi.h:51
Definition: os_vi.h:27
u32 yScale
Definition: os_vi.h:43
void osViBlack(u8 active)
Definition: osViBlack.c:4
u16 unk00
Definition: os_vi.h:58
u32 ctrl
Definition: os_vi.h:29
u32 burst
Definition: os_vi.h:31
u32 vIntr
Definition: os_vi.h:46
Definition: os_vi.h:49
void osViSetSpecialFeatures(u32 func)
Definition: osViSetSpecialFeatures.c:3
u32 features
Definition: os_vi.h:62
float f32
Definition: ultratypes.h:29
u32 unk20
Definition: os_vi.h:67
u32 xScale
Definition: os_vi.h:36
u32 vSync
Definition: os_vi.h:32
OSViMode osViModeTable[]
Definition: osCreateViManager.c:3
u32 vStart
Definition: os_vi.h:44
OSViCommonRegs comRegs
Definition: os_vi.h:52
u32 hStart
Definition: os_vi.h:35
u32 origin
Definition: os_vi.h:42
u32 vBurst
Definition: os_vi.h:45
u32 vCurrent
Definition: os_vi.h:37
u32 leap
Definition: os_vi.h:34
void osViSwapBuffer(void *vaddr)
Definition: osViSwapBuffer.c:3
OSMesg * msg
Definition: os_vi.h:64
unsigned char u8
Definition: ultratypes.h:12
OSMesgQueue * mq
Definition: os_vi.h:63
f32 unk24
Definition: os_vi.h:68
u16 retraceCount
Definition: os_vi.h:59
Definition: os_vi.h:40
u16 unk28
Definition: os_vi.h:69
OSMesgQueue * mq
Definition: os_time.h:13
void * buffer
Definition: os_vi.h:60
unsigned int u32
Definition: ultratypes.h:16
Definition: os_vi.h:56
void osViSetMode(OSViMode *mode)
Definition: osViSetMode.c:3
OSViMode * unk08
Definition: os_vi.h:61
u32 unk18
Definition: os_vi.h:65
OSMesg * msg
Definition: os_time.h:14