fbdev output for xvideo, basic ARM build
[pcsx_rearmed.git] / plugins / dfxvideo / externals.h
... / ...
CommitLineData
1/***************************************************************************
2 externals.h - description
3 -------------------
4 begin : Sun Oct 28 2001
5 copyright : (C) 2001 by Pete Bernert
6 email : BlackDove@addcom.de
7 ***************************************************************************/
8/***************************************************************************
9 * *
10 * This program is free software; you can redistribute it and/or modify *
11 * it under the terms of the GNU General Public License as published by *
12 * the Free Software Foundation; either version 2 of the License, or *
13 * (at your option) any later version. See also the license.txt file for *
14 * additional informations. *
15 * *
16 ***************************************************************************/
17
18#define INFO_TW 0
19#define INFO_DRAWSTART 1
20#define INFO_DRAWEND 2
21#define INFO_DRAWOFF 3
22
23#define SHADETEXBIT(x) ((x>>24) & 0x1)
24#define SEMITRANSBIT(x) ((x>>25) & 0x1)
25#define PSXRGB(r,g,b) ((g<<10)|(b<<5)|r)
26
27#define DATAREGISTERMODES unsigned short
28
29#define DR_NORMAL 0
30#define DR_VRAMTRANSFER 1
31
32
33#define GPUSTATUS_ODDLINES 0x80000000
34#define GPUSTATUS_DMABITS 0x60000000 // Two bits
35#define GPUSTATUS_READYFORCOMMANDS 0x10000000
36#define GPUSTATUS_READYFORVRAM 0x08000000
37#define GPUSTATUS_IDLE 0x04000000
38#define GPUSTATUS_DISPLAYDISABLED 0x00800000
39#define GPUSTATUS_INTERLACED 0x00400000
40#define GPUSTATUS_RGB24 0x00200000
41#define GPUSTATUS_PAL 0x00100000
42#define GPUSTATUS_DOUBLEHEIGHT 0x00080000
43#define GPUSTATUS_WIDTHBITS 0x00070000 // Three bits
44#define GPUSTATUS_MASKENABLED 0x00001000
45#define GPUSTATUS_MASKDRAWN 0x00000800
46#define GPUSTATUS_DRAWINGALLOWED 0x00000400
47#define GPUSTATUS_DITHER 0x00000200
48
49#define GPUIsBusy (lGPUstatusRet &= ~GPUSTATUS_IDLE)
50#define GPUIsIdle (lGPUstatusRet |= GPUSTATUS_IDLE)
51
52#define GPUIsNotReadyForCommands (lGPUstatusRet &= ~GPUSTATUS_READYFORCOMMANDS)
53#define GPUIsReadyForCommands (lGPUstatusRet |= GPUSTATUS_READYFORCOMMANDS)
54
55#define __X11_C_
56//X11 render
57#define __inline inline
58#define CALLBACK
59
60#include <stdio.h>
61#include <stdlib.h>
62#include <string.h>
63#include <sys/time.h>
64#ifndef _MACGL
65#include <X11/Xlib.h>
66#include <X11/Xutil.h>
67#include <X11/cursorfont.h>
68#endif
69#include <math.h>
70#include <stdint.h>
71
72/////////////////////////////////////////////////////////////////////////////
73
74typedef struct VRAMLOADTTAG
75{
76 short x;
77 short y;
78 short Width;
79 short Height;
80 short RowsRemaining;
81 short ColsRemaining;
82 unsigned short *ImagePtr;
83} VRAMLoad_t;
84
85/////////////////////////////////////////////////////////////////////////////
86
87typedef struct PSXPOINTTAG
88{
89 int32_t x;
90 int32_t y;
91} PSXPoint_t;
92
93typedef struct PSXSPOINTTAG
94{
95 short x;
96 short y;
97} PSXSPoint_t;
98
99typedef struct PSXRECTTAG
100{
101 short x0;
102 short x1;
103 short y0;
104 short y1;
105} PSXRect_t;
106
107// linux defines for some windows stuff
108
109#define FALSE 0
110#define TRUE 1
111#define BOOL unsigned short
112#define LOWORD(l) ((unsigned short)(l))
113#define HIWORD(l) ((unsigned short)(((uint32_t)(l) >> 16) & 0xFFFF))
114#define max(a,b) (((a) > (b)) ? (a) : (b))
115#define min(a,b) (((a) < (b)) ? (a) : (b))
116#define DWORD uint32_t
117#define __int64 long long int
118
119typedef struct RECTTAG
120{
121 int left;
122 int top;
123 int right;
124 int bottom;
125}RECT;
126
127
128
129/////////////////////////////////////////////////////////////////////////////
130
131typedef struct TWINTAG
132{
133 PSXRect_t Position;
134} TWin_t;
135
136/////////////////////////////////////////////////////////////////////////////
137
138typedef struct PSXDISPLAYTAG
139{
140 PSXPoint_t DisplayModeNew;
141 PSXPoint_t DisplayMode;
142 PSXPoint_t DisplayPosition;
143 PSXPoint_t DisplayEnd;
144
145 int32_t Double;
146 int32_t Height;
147 int32_t PAL;
148 int32_t InterlacedNew;
149 int32_t Interlaced;
150 int32_t RGB24New;
151 int32_t RGB24;
152 PSXSPoint_t DrawOffset;
153 int32_t Disabled;
154 PSXRect_t Range;
155
156} PSXDisplay_t;
157
158/////////////////////////////////////////////////////////////////////////////
159
160// draw.c
161
162#ifndef _IN_DRAW
163
164extern char * pCaptionText;
165
166extern int iResX;
167extern int iResY;
168extern int32_t GlobalTextAddrX,GlobalTextAddrY,GlobalTextTP;
169extern int32_t GlobalTextREST,GlobalTextABR,GlobalTextPAGE;
170extern short ly0,lx0,ly1,lx1,ly2,lx2,ly3,lx3;
171extern long lLowerpart;
172extern BOOL bIsFirstFrame;
173extern int iWinSize;
174extern BOOL bCheckMask;
175extern unsigned short sSetMask;
176extern unsigned long lSetMask;
177extern BOOL bDeviceOK;
178extern short g_m1;
179extern short g_m2;
180extern short g_m3;
181extern short DrawSemiTrans;
182extern int iUseGammaVal;
183extern int iMaintainAspect;
184extern int iDesktopCol;
185extern int iUseNoStretchBlt;
186extern int iShowFPS;
187extern int iFastFwd;
188extern int iDebugMode;
189extern int iFVDisplay;
190extern PSXPoint_t ptCursorPoint[];
191extern unsigned short usCursorActive;
192
193
194#endif
195
196// prim.c
197
198#ifndef _IN_PRIMDRAW
199
200extern BOOL bUsingTWin;
201extern TWin_t TWin;
202//extern unsigned long clutid;
203extern void (*primTableJ[256])(unsigned char *);
204extern void (*primTableSkip[256])(unsigned char *);
205extern unsigned short usMirror;
206extern int iDither;
207extern uint32_t dwCfgFixes;
208extern uint32_t dwActFixes;
209extern uint32_t dwEmuFixes;
210extern int iUseFixes;
211extern int iUseDither;
212extern BOOL bDoVSyncUpdate;
213extern int32_t drawX;
214extern int32_t drawY;
215extern int32_t drawW;
216extern int32_t drawH;
217
218#endif
219
220// gpu.c
221
222#ifndef _IN_GPU
223
224extern VRAMLoad_t VRAMWrite;
225extern VRAMLoad_t VRAMRead;
226extern DATAREGISTERMODES DataWriteMode;
227extern DATAREGISTERMODES DataReadMode;
228extern int iColDepth;
229extern int iWindowMode;
230extern char szDispBuf[];
231extern char szMenuBuf[];
232extern char szDebugText[];
233extern short sDispWidths[];
234extern BOOL bDebugText;
235//extern unsigned int iMaxDMACommandCounter;
236//extern unsigned long dwDMAChainStop;
237extern PSXDisplay_t PSXDisplay;
238extern PSXDisplay_t PreviousPSXDisplay;
239extern BOOL bSkipNextFrame;
240extern long lGPUstatusRet;
241//extern long drawingLines;
242extern unsigned char * psxVSecure;
243extern unsigned char * psxVub;
244extern signed char * psxVsb;
245extern unsigned short * psxVuw;
246extern signed short * psxVsw;
247extern uint32_t * psxVul;
248extern int32_t * psxVsl;
249extern unsigned short * psxVuw_eom;
250extern BOOL bChangeWinMode;
251extern long lSelectedSlot;
252extern BOOL bInitCap;
253extern DWORD dwLaceCnt;
254extern uint32_t lGPUInfoVals[];
255extern uint32_t ulStatusControl[];
256
257#endif
258
259// menu.c
260
261#ifndef _IN_MENU
262
263extern uint32_t dwCoreFlags;
264
265#endif
266
267// key.c
268
269#ifndef _IN_KEY
270
271extern unsigned long ulKeybits;
272
273#endif
274
275// fps.c
276
277#ifndef _IN_FPS
278
279extern int UseFrameLimit;
280extern int UseFrameSkip;
281extern float fFrameRate;
282extern int iFrameLimit;
283extern float fFrameRateHz;
284extern float fps_skip;
285extern float fps_cur;
286
287#endif
288
289// key.c
290
291#ifndef _IN_KEY
292
293#endif
294
295// cfg.c
296
297#ifndef _IN_CFG
298
299extern char * pConfigFile;
300
301#endif
302
303// zn.c
304
305#ifndef _IN_ZN
306
307extern uint32_t dwGPUVersion;
308extern int iGPUHeight;
309extern int iGPUHeightMask;
310extern int GlobalTextIL;
311extern int iTileCheat;
312
313#endif
314
315