My favorites | Sign in
Project Home Wiki Issues Source
Repository:
Checkout   Browse   Changes   Clones  
Changes to /yabause/src/yabause/vdp2.h
5d389611c389 vs. b045a477886c Compare: vs.  Format:
Revision b045a477886c
Go to: 
Project members, sign in to write a code review
/yabause/src/yabause/vdp2.h   5d389611c389 /yabause/src/yabause/vdp2.h   b045a477886c
1 /* Copyright 2003-2005 Guillaume Duhamel 1 /* Copyright 2003-2005 Guillaume Duhamel
2 Copyright 2004-2006 Theo Berkau 2 Copyright 2004-2006 Theo Berkau
3 3
4 This file is part of Yabause. 4 This file is part of Yabause.
5 5
6 Yabause is free software; you can redistribute it and/or modify 6 Yabause is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or 8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version. 9 (at your option) any later version.
10 10
11 Yabause is distributed in the hope that it will be useful, 11 Yabause is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details. 14 GNU General Public License for more details.
15 15
16 You should have received a copy of the GNU General Public License 16 You should have received a copy of the GNU General Public License
17 along with Yabause; if not, write to the Free Software 17 along with Yabause; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 */ 19 */
20 20
21 #ifndef VDP2_H 21 #ifndef VDP2_H
22 #define VDP2_H 22 #define VDP2_H
23 23
24 #include "memory.h" 24 #include "memory.h"
25 25
26 extern u8 * Vdp2Ram; 26 extern u8 * Vdp2Ram;
27 extern u8 * Vdp2ColorRam; 27 extern u8 * Vdp2ColorRam;
28 28
29 u8 FASTCALL Vdp2RamReadByte(u32); 29 u8 FASTCALL Vdp2RamReadByte(u32);
30 u16 FASTCALL Vdp2RamReadWord(u32); 30 u16 FASTCALL Vdp2RamReadWord(u32);
31 u32 FASTCALL Vdp2RamReadLong(u32); 31 u32 FASTCALL Vdp2RamReadLong(u32);
32 void FASTCALL Vdp2RamWriteByte(u32, u8); 32 void FASTCALL Vdp2RamWriteByte(u32, u8);
33 void FASTCALL Vdp2RamWriteWord(u32, u16); 33 void FASTCALL Vdp2RamWriteWord(u32, u16);
34 void FASTCALL Vdp2RamWriteLong(u32, u32); 34 void FASTCALL Vdp2RamWriteLong(u32, u32);
35 35
36 u8 FASTCALL Vdp2ColorRamReadByte(u32); 36 u8 FASTCALL Vdp2ColorRamReadByte(u32);
37 u16 FASTCALL Vdp2ColorRamReadWord(u32); 37 u16 FASTCALL Vdp2ColorRamReadWord(u32);
38 u32 FASTCALL Vdp2ColorRamReadLong(u32); 38 u32 FASTCALL Vdp2ColorRamReadLong(u32);
39 void FASTCALL Vdp2ColorRamWriteByte(u32, u8); 39 void FASTCALL Vdp2ColorRamWriteByte(u32, u8);
40 void FASTCALL Vdp2ColorRamWriteWord(u32, u16); 40 void FASTCALL Vdp2ColorRamWriteWord(u32, u16);
41 void FASTCALL Vdp2ColorRamWriteLong(u32, u32); 41 void FASTCALL Vdp2ColorRamWriteLong(u32, u32);
42 42
43 typedef struct { 43 typedef struct {
44 u16 TVMD; // 0x25F80000 44 u16 TVMD; // 0x25F80000
45 u16 EXTEN; // 0x25F80002 45 u16 EXTEN; // 0x25F80002
46 u16 TVSTAT; // 0x25F80004 46 u16 TVSTAT; // 0x25F80004
47 u16 VRSIZE; // 0x25F80006 47 u16 VRSIZE; // 0x25F80006
48 u16 HCNT; // 0x25F80008 48 u16 HCNT; // 0x25F80008
49 u16 VCNT; // 0x25F8000A 49 u16 VCNT; // 0x25F8000A
50 u16 RAMCTL; // 0x25F8000E 50 u16 RAMCTL; // 0x25F8000E
51 u16 CYCA0L; // 0x25F80010 51 u16 CYCA0L; // 0x25F80010
52 u16 CYCA0U; // 0x25F80012 52 u16 CYCA0U; // 0x25F80012
53 u16 CYCA1L; // 0x25F80014 53 u16 CYCA1L; // 0x25F80014
54 u16 CYCA1U; // 0x25F80016 54 u16 CYCA1U; // 0x25F80016
55 u16 CYCB0L; // 0x25F80018 55 u16 CYCB0L; // 0x25F80018
56 u16 CYCB0U; // 0x25F8001A 56 u16 CYCB0U; // 0x25F8001A
57 u16 CYCB1L; // 0x25F8001C 57 u16 CYCB1L; // 0x25F8001C
58 u16 CYCB1U; // 0x25F8001E 58 u16 CYCB1U; // 0x25F8001E
59 u16 BGON; // 0x25F80020 59 u16 BGON; // 0x25F80020
60 u16 MZCTL; // 0x25F80022 60 u16 MZCTL; // 0x25F80022
61 u16 SFSEL; // 0x25F80024 61 u16 SFSEL; // 0x25F80024
62 u16 SFCODE; // 0x25F80026 62 u16 SFCODE; // 0x25F80026
63 u16 CHCTLA; // 0x25F80028 63 u16 CHCTLA; // 0x25F80028
64 u16 CHCTLB; // 0x25F8002A 64 u16 CHCTLB; // 0x25F8002A
65 u16 BMPNA; // 0x25F8002C 65 u16 BMPNA; // 0x25F8002C
66 u16 BMPNB; // 0x25F8002E 66 u16 BMPNB; // 0x25F8002E
67 u16 PNCN0; // 0x25F80030 67 u16 PNCN0; // 0x25F80030
68 u16 PNCN1; // 0x25F80032 68 u16 PNCN1; // 0x25F80032
69 u16 PNCN2; // 0x25F80034 69 u16 PNCN2; // 0x25F80034
70 u16 PNCN3; // 0x25F80036 70 u16 PNCN3; // 0x25F80036
71 u16 PNCR; // 0x25F80038 71 u16 PNCR; // 0x25F80038
72 u16 PLSZ; // 0x25F8003A 72 u16 PLSZ; // 0x25F8003A
73 u16 MPOFN; // 0x25F8003C 73 u16 MPOFN; // 0x25F8003C
74 u16 MPOFR; // 0x25F8003E 74 u16 MPOFR; // 0x25F8003E
75 u16 MPABN0; // 0x25F80040 75 u16 MPABN0; // 0x25F80040
76 u16 MPCDN0; // 0x25F80042 76 u16 MPCDN0; // 0x25F80042
77 u16 MPABN1; // 0x25F80044 77 u16 MPABN1; // 0x25F80044
78 u16 MPCDN1; // 0x25F80046 78 u16 MPCDN1; // 0x25F80046
79 u16 MPABN2; // 0x25F80048 79 u16 MPABN2; // 0x25F80048
80 u16 MPCDN2; // 0x25F8004A 80 u16 MPCDN2; // 0x25F8004A
81 u16 MPABN3; // 0x25F8004C 81 u16 MPABN3; // 0x25F8004C
82 u16 MPCDN3; // 0x25F8004E 82 u16 MPCDN3; // 0x25F8004E
83 u16 MPABRA; // 0x25F80050 83 u16 MPABRA; // 0x25F80050
84 u16 MPCDRA; // 0x25F80052 84 u16 MPCDRA; // 0x25F80052
85 u16 MPEFRA; // 0x25F80054 85 u16 MPEFRA; // 0x25F80054
86 u16 MPGHRA; // 0x25F80056 86 u16 MPGHRA; // 0x25F80056
87 u16 MPIJRA; // 0x25F80058 87 u16 MPIJRA; // 0x25F80058
88 u16 MPKLRA; // 0x25F8005A 88 u16 MPKLRA; // 0x25F8005A
89 u16 MPMNRA; // 0x25F8005C 89 u16 MPMNRA; // 0x25F8005C
90 u16 MPOPRA; // 0x25F8005E 90 u16 MPOPRA; // 0x25F8005E
91 u16 MPABRB; // 0x25F80060 91 u16 MPABRB; // 0x25F80060
92 u16 MPCDRB; // 0x25F80062 92 u16 MPCDRB; // 0x25F80062
93 u16 MPEFRB; // 0x25F80064 93 u16 MPEFRB; // 0x25F80064
94 u16 MPGHRB; // 0x25F80066 94 u16 MPGHRB; // 0x25F80066
95 u16 MPIJRB; // 0x25F80068 95 u16 MPIJRB; // 0x25F80068
96 u16 MPKLRB; // 0x25F8006A 96 u16 MPKLRB; // 0x25F8006A
97 u16 MPMNRB; // 0x25F8006C 97 u16 MPMNRB; // 0x25F8006C
98 u16 MPOPRB; // 0x25F8006E 98 u16 MPOPRB; // 0x25F8006E
99 u16 SCXIN0; // 0x25F80070 99 u16 SCXIN0; // 0x25F80070
100 u16 SCXDN0; // 0x25F80072 100 u16 SCXDN0; // 0x25F80072
101 u16 SCYIN0; // 0x25F80074 101 u16 SCYIN0; // 0x25F80074
102 u16 SCYDN0; // 0x25F80076 102 u16 SCYDN0; // 0x25F80076
103 103
104 #ifdef WORDS_BIGENDIAN 104 #ifdef WORDS_BIGENDIAN
105 union { 105 union {
106 struct { 106 struct {
107 u32 I:16; // 0x25F80078 107 u32 I:16; // 0x25F80078
108 u32 D:16; // 0x25F8007A 108 u32 D:16; // 0x25F8007A
109 } part; 109 } part;
110 u32 all; 110 u32 all;
111 } ZMXN0; 111 } ZMXN0;
112 112
113 union { 113 union {
114 struct { 114 struct {
115 u32 I:16; // 0x25F8007C 115 u32 I:16; // 0x25F8007C
116 u32 D:16; // 0x25F8007E 116 u32 D:16; // 0x25F8007E
117 } part; 117 } part;
118 u32 all; 118 u32 all;
119 } ZMYN0; 119 } ZMYN0;
120 #else 120 #else
121 union { 121 union {
122 struct { 122 struct {
123 u32 D:16; // 0x25F8007A 123 u32 D:16; // 0x25F8007A
124 u32 I:16; // 0x25F80078 124 u32 I:16; // 0x25F80078
125 } part; 125 } part;
126 u32 all; 126 u32 all;
127 } ZMXN0; 127 } ZMXN0;
128 128
129 union { 129 union {
130 struct { 130 struct {
131 u32 D:16; // 0x25F8007E 131 u32 D:16; // 0x25F8007E
132 u32 I:16; // 0x25F8007C 132 u32 I:16; // 0x25F8007C
133 } part; 133 } part;
134 u32 all; 134 u32 all;
135 } ZMYN0; 135 } ZMYN0;
136 #endif 136 #endif
137 137
138 u16 SCXIN1; // 0x25F80080 138 u16 SCXIN1; // 0x25F80080
139 u16 SCXDN1; // 0x25F80082 139 u16 SCXDN1; // 0x25F80082
140 u16 SCYIN1; // 0x25F80084 140 u16 SCYIN1; // 0x25F80084
141 u16 SCYDN1; // 0x25F80086 141 u16 SCYDN1; // 0x25F80086
142 142
143 #ifdef WORDS_BIGENDIAN 143 #ifdef WORDS_BIGENDIAN
144 union { 144 union {
145 struct { 145 struct {
146 u32 I:16; // 0x25F80088 146 u32 I:16; // 0x25F80088
147 u32 D:16; // 0x25F8008A 147 u32 D:16; // 0x25F8008A
148 } part; 148 } part;
149 u32 all; 149 u32 all;
150 } ZMXN1; 150 } ZMXN1;
151 151
152 union { 152 union {
153 struct { 153 struct {
154 u32 I:16; // 0x25F8008C 154 u32 I:16; // 0x25F8008C
155 u32 D:16; // 0x25F8008E 155 u32 D:16; // 0x25F8008E
156 } part; 156 } part;
157 u32 all; 157 u32 all;
158 } ZMYN1; 158 } ZMYN1;
159 #else 159 #else
160 union { 160 union {
161 struct { 161 struct {
162 u32 D:16; // 0x25F8008A 162 u32 D:16; // 0x25F8008A
163 u32 I:16; // 0x25F80088 163 u32 I:16; // 0x25F80088
164 } part; 164 } part;
165 u32 all; 165 u32 all;
166 } ZMXN1; 166 } ZMXN1;
167 167
168 union { 168 union {
169 struct { 169 struct {
170 u32 D:16; // 0x25F8008E 170 u32 D:16; // 0x25F8008E
171 u32 I:16; // 0x25F8008C 171 u32 I:16; // 0x25F8008C
172 } part; 172 } part;
173 u32 all; 173 u32 all;
174 } ZMYN1; 174 } ZMYN1;
175 #endif 175 #endif
176 176
177 u16 SCXN2; // 0x25F80090 177 u16 SCXN2; // 0x25F80090
178 u16 SCYN2; // 0x25F80092 178 u16 SCYN2; // 0x25F80092
179 u16 SCXN3; // 0x25F80094 179 u16 SCXN3; // 0x25F80094
180 u16 SCYN3; // 0x25F80096 180 u16 SCYN3; // 0x25F80096
181 u16 ZMCTL; // 0x25F80098 181 u16 ZMCTL; // 0x25F80098
182 u16 SCRCTL; // 0x25F8009A 182 u16 SCRCTL; // 0x25F8009A
183 #ifdef WORDS_BIGENDIAN 183 #ifdef WORDS_BIGENDIAN
184 union { 184 union {
185 struct { 185 struct {
186 u32 U:16; // 0x25F8009C 186 u32 U:16; // 0x25F8009C
187 u32 L:16; // 0x25F8009E 187 u32 L:16; // 0x25F8009E
188 } part; 188 } part;
189 u32 all; 189 u32 all;
190 } VCSTA; 190 } VCSTA;
191 191
192 union { 192 union {
193 struct { 193 struct {
194 u32 U:16; // 0x25F800A0 194 u32 U:16; // 0x25F800A0
195 u32 L:16; // 0x25F800A2 195 u32 L:16; // 0x25F800A2
196 } part; 196 } part;
197 u32 all; 197 u32 all;
198 } LSTA0; 198 } LSTA0;
199 199
200 union { 200 union {
201 struct { 201 struct {
202 u32 U:16; // 0x25F800A4 202 u32 U:16; // 0x25F800A4
203 u32 L:16; // 0x25F800A6 203 u32 L:16; // 0x25F800A6
204 } part; 204 } part;
205 u32 all; 205 u32 all;
206 } LSTA1; 206 } LSTA1;
207 207
208 union { 208 union {
209 struct { 209 struct {
210 u32 U:16; // 0x25F800A8 210 u32 U:16; // 0x25F800A8
211 u32 L:16; // 0x25F800AA 211 u32 L:16; // 0x25F800AA
212 } part; 212 } part;
213 u32 all; 213 u32 all;
214 } LCTA; 214 } LCTA;
215 #else 215 #else
216 union { 216 union {
217 struct { 217 struct {
218 u32 L:16; // 0x25F8009E 218 u32 L:16; // 0x25F8009E
219 u32 U:16; // 0x25F8009C 219 u32 U:16; // 0x25F8009C
220 } part; 220 } part;
221 u32 all; 221 u32 all;
222 } VCSTA; 222 } VCSTA;
223 223
224 union { 224 union {
225 struct { 225 struct {
226 u32 L:16; // 0x25F800A2 226 u32 L:16; // 0x25F800A2
227 u32 U:16; // 0x25F800A0 227 u32 U:16; // 0x25F800A0
228 } part; 228 } part;
229 u32 all; 229 u32 all;
230 } LSTA0; 230 } LSTA0;
231 231
232 union { 232 union {
233 struct { 233 struct {
234 u32 L:16; // 0x25F800A6 234 u32 L:16; // 0x25F800A6
235 u32 U:16; // 0x25F800A4 235 u32 U:16; // 0x25F800A4
236 } part; 236 } part;
237 u32 all; 237 u32 all;
238 } LSTA1; 238 } LSTA1;
239 239
240 union { 240 union {
241 struct { 241 struct {
242 u32 L:16; // 0x25F800AA 242 u32 L:16; // 0x25F800AA
243 u32 U:16; // 0x25F800A8 243 u32 U:16; // 0x25F800A8
244 } part; 244 } part;
245 u32 all; 245 u32 all;
246 } LCTA; 246 } LCTA;
247 #endif 247 #endif
248 248
249 u16 BKTAU; // 0x25F800AC 249 u16 BKTAU; // 0x25F800AC
250 u16 BKTAL; // 0x25F800AE 250 u16 BKTAL; // 0x25F800AE
251 u16 RPMD; // 0x25F800B0 251 u16 RPMD; // 0x25F800B0
252 u16 RPRCTL; // 0x25F800B2 252 u16 RPRCTL; // 0x25F800B2
253 u16 KTCTL; // 0x25F800B4 253 u16 KTCTL; // 0x25F800B4
254 u16 KTAOF; // 0x25F800B6 254 u16 KTAOF; // 0x25F800B6
255 u16 OVPNRA; // 0x25F800B8 255 u16 OVPNRA; // 0x25F800B8
256 u16 OVPNRB; // 0x25F800BA 256 u16 OVPNRB; // 0x25F800BA
257 #ifdef WORDS_BIGENDIAN 257 #ifdef WORDS_BIGENDIAN
258 union { 258 union {
259 struct { 259 struct {
260 u32 U:16; // 0x25F800BC 260 u32 U:16; // 0x25F800BC
261 u32 L:16; // 0x25F800BE 261 u32 L:16; // 0x25F800BE
262 } part; 262 } part;
263 u32 all; 263 u32 all;
264 } RPTA; 264 } RPTA;
265 #else 265 #else
266 union { 266 union {
267 struct { 267 struct {
268 u32 L:16; // 0x25F800BE 268 u32 L:16; // 0x25F800BE
269 u32 U:16; // 0x25F800BC 269 u32 U:16; // 0x25F800BC
270 } part; 270 } part;
271 u32 all; 271 u32 all;
272 } RPTA; 272 } RPTA;
273 #endif 273 #endif
274 u16 WPSX0; // 0x25F800C0 274 u16 WPSX0; // 0x25F800C0
275 u16 WPSY0; // 0x25F800C2 275 u16 WPSY0; // 0x25F800C2
276 u16 WPEX0; // 0x25F800C4 276 u16 WPEX0; // 0x25F800C4
277 u16 WPEY0; // 0x25F800C6 277 u16 WPEY0; // 0x25F800C6
278 u16 WPSX1; // 0x25F800C8 278 u16 WPSX1; // 0x25F800C8
279 u16 WPSY1; // 0x25F800CA 279 u16 WPSY1; // 0x25F800CA
280 u16 WPEX1; // 0x25F800CC 280 u16 WPEX1; // 0x25F800CC
281 u16 WPEY1; // 0x25F800CE 281 u16 WPEY1; // 0x25F800CE
282 u16 WCTLA; // 0x25F800D0 282 u16 WCTLA; // 0x25F800D0
283 u16 WCTLB; // 0x25F800D2 283 u16 WCTLB; // 0x25F800D2
284 u16 WCTLC; // 0x25F800D4 284 u16 WCTLC; // 0x25F800D4
285 u16 WCTLD; // 0x25F800D6 285 u16 WCTLD; // 0x25F800D6
286 #ifdef WORDS_BIGENDIAN 286 #ifdef WORDS_BIGENDIAN
287 union { 287 union {
288 struct { 288 struct {
289 u32 U:16; // 0x25F800D8 289 u32 U:16; // 0x25F800D8
290 u32 L:16; // 0x25F800DA 290 u32 L:16; // 0x25F800DA
291 } part; 291 } part;
292 u32 all; 292 u32 all;
293 } LWTA0; 293 } LWTA0;
294 294
295 union { 295 union {
296 struct { 296 struct {
297 u32 U:16; // 0x25F800DC 297 u32 U:16; // 0x25F800DC
298 u32 L:16; // 0x25F800DE 298 u32 L:16; // 0x25F800DE
299 } part; 299 } part;
300 u32 all; 300 u32 all;
301 } LWTA1; 301 } LWTA1;
302 #else 302 #else
303 union { 303 union {
304 struct { 304 struct {
305 u32 L:16; // 0x25F800D8 305 u32 L:16; // 0x25F800D8
306 u32 U:16; // 0x25F800DA 306 u32 U:16; // 0x25F800DA
307 } part; 307 } part;
308 u32 all; 308 u32 all;
309 } LWTA0; 309 } LWTA0;
310 310
311 union { 311 union {
312 struct { 312 struct {
313 u32 L:16; // 0x25F800DC 313 u32 L:16; // 0x25F800DC
314 u32 U:16; // 0x25F800DE 314 u32 U:16; // 0x25F800DE
315 } part; 315 } part;
316 u32 all; 316 u32 all;
317 } LWTA1; 317 } LWTA1;
318 #endif 318 #endif
319 319
320 320
321 u16 SPCTL; // 0x25F800E0 321 u16 SPCTL; // 0x25F800E0
322 u16 SDCTL; // 0x25F800E2 322 u16 SDCTL; // 0x25F800E2
323 u16 CRAOFA; // 0x25F800E4 323 u16 CRAOFA; // 0x25F800E4
324 u16 CRAOFB; // 0x25F800E6 324 u16 CRAOFB; // 0x25F800E6
325 u16 LNCLEN; // 0x25F800E8 325 u16 LNCLEN; // 0x25F800E8
326 u16 SFPRMD; // 0x25F800EA 326 u16 SFPRMD; // 0x25F800EA
327 u16 CCCTL; // 0x25F800EC 327 u16 CCCTL; // 0x25F800EC
328 u16 SFCCMD; // 0x25F800EE 328 u16 SFCCMD; // 0x25F800EE
329 u16 PRISA; // 0x25F800F0 329 u16 PRISA; // 0x25F800F0
330 u16 PRISB; // 0x25F800F2 330 u16 PRISB; // 0x25F800F2
331 u16 PRISC; // 0x25F800F4 331 u16 PRISC; // 0x25F800F4
332 u16 PRISD; // 0x25F800F6 332 u16 PRISD; // 0x25F800F6
333 u16 PRINA; // 0x25F800F8 333 u16 PRINA; // 0x25F800F8
334 u16 PRINB; // 0x25F800FA 334 u16 PRINB; // 0x25F800FA
335 u16 PRIR; // 0x25F800FC 335 u16 PRIR; // 0x25F800FC
336 u16 CCRSA; // 0x25F80100 336 u16 CCRSA; // 0x25F80100
337 u16 CCRSB; // 0x25F80102 337 u16 CCRSB; // 0x25F80102
338 u16 CCRSC; // 0x25F80104 338 u16 CCRSC; // 0x25F80104
339 u16 CCRSD; // 0x25F80106 339 u16 CCRSD; // 0x25F80106
340 u16 CCRNA; // 0x25F80108 340 u16 CCRNA; // 0x25F80108
341 u16 CCRNB; // 0x25F8010A 341 u16 CCRNB; // 0x25F8010A
342 u16 CCRR; // 0x25F8010C 342 u16 CCRR; // 0x25F8010C
343 u16 CCRLB; // 0x25F8010E 343 u16 CCRLB; // 0x25F8010E
344 u16 CLOFEN; // 0x25F80110 344 u16 CLOFEN; // 0x25F80110
345 u16 CLOFSL; // 0x25F80112 345 u16 CLOFSL; // 0x25F80112
346 u16 COAR; // 0x25F80114 346 u16 COAR; // 0x25F80114
347 u16 COAG; // 0x25F80116 347 u16 COAG; // 0x25F80116
348 u16 COAB; // 0x25F80118 348 u16 COAB; // 0x25F80118
349 u16 COBR; // 0x25F8011A 349 u16 COBR; // 0x25F8011A
350 u16 COBG; // 0x25F8011C 350 u16 COBG; // 0x25F8011C
351 u16 COBB; // 0x25F8011E 351 u16 COBB; // 0x25F8011E
352 } Vdp2; 352 } Vdp2;
353 353
354 extern Vdp2 * Vdp2Regs; 354 extern Vdp2 * Vdp2Regs;
355 355
356 typedef struct { 356 typedef struct {
357 int ColorMode; 357 int ColorMode;
358 } Vdp2Internal_struct; 358 } Vdp2Internal_struct;
359 359
360 extern Vdp2Internal_struct Vdp2Internal; 360 extern Vdp2Internal_struct Vdp2Internal;
361 extern u64 lastticks; 361 extern u64 lastticks;
362 362
363 // struct for Vdp2 part that shouldn't be saved 363 // struct for Vdp2 part that shouldn't be saved
364 typedef struct { 364 typedef struct {
365 int disptoggle; 365 int disptoggle;
366 } Vdp2External_struct; 366 } Vdp2External_struct;
367 367
368 extern Vdp2External_struct Vdp2External; 368 extern Vdp2External_struct Vdp2External;
369 369
370 int Vdp2Init(void); 370 int Vdp2Init(void);
371 void Vdp2DeInit(void); 371 void Vdp2DeInit(void);
372 void Vdp2Reset(void); 372 void Vdp2Reset(void);
373 void Vdp2VBlankIN(void); 373 void Vdp2VBlankIN(void);
374 void Vdp2HBlankIN(void); 374 void Vdp2HBlankIN(void);
375 void Vdp2HBlankOUT(void); 375 void Vdp2HBlankOUT(void);
376 void Vdp2VBlankOUT(void); 376 void Vdp2VBlankOUT(void);
377 void ToggleFPS(void); 377 void ToggleFPS(void);
378 void SpeedThrottleEnable(void); 378 void SpeedThrottleEnable(void);
379 void SpeedThrottleDisable(void); 379 void SpeedThrottleDisable(void);
380 380
381 u8 FASTCALL Vdp2ReadByte(u32); 381 u8 FASTCALL Vdp2ReadByte(u32);
382 u16 FASTCALL Vdp2ReadWord(u32); 382 u16 FASTCALL Vdp2ReadWord(u32);
383 u32 FASTCALL Vdp2ReadLong(u32); 383 u32 FASTCALL Vdp2ReadLong(u32);
384 void FASTCALL Vdp2WriteByte(u32, u8); 384 void FASTCALL Vdp2WriteByte(u32, u8);
385 void FASTCALL Vdp2WriteWord(u32, u16); 385 void FASTCALL Vdp2WriteWord(u32, u16);
386 void FASTCALL Vdp2WriteLong(u32, u32); 386 void FASTCALL Vdp2WriteLong(u32, u32);
387 387
388 int Vdp2SaveState(FILE *fp); 388 #ifndef MDFNPS3 //Save state hack
389 int Vdp2LoadState(FILE *fp, int version, int size); 389 int Vdp2SaveState(FILE *);
390 int Vdp2LoadState(FILE *, int, int);
391 #else
392 int Vdp2SaveState(StateMemTag *);
393 int Vdp2LoadState(StateMemTag *, int, int);
394 #endif
390 395
391 void ToggleNBG0(void); 396 void ToggleNBG0(void);
392 void ToggleNBG1(void); 397 void ToggleNBG1(void);
393 void ToggleNBG2(void); 398 void ToggleNBG2(void);
394 void ToggleNBG3(void); 399 void ToggleNBG3(void);
395 void ToggleRBG0(void); 400 void ToggleRBG0(void);
396 void ToggleFullScreen(void); 401 void ToggleFullScreen(void);
397 void EnableAutoFrameSkip(void); 402 void EnableAutoFrameSkip(void);
398 void DisableAutoFrameSkip(void); 403 void DisableAutoFrameSkip(void);
399 404
400 void DisplayMessage(const char* str); 405 void DisplayMessage(const char* str);
401 int GetOSDToggle(void); 406 int GetOSDToggle(void);
402 void SetOSDToggle(int toggle); 407 void SetOSDToggle(int toggle);
403 408
404 #endif 409 #endif
Powered by Google Project Hosting