blob: bd16b839b0b0aa45f946907c6f4821b23de46cf8 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
#ifndef __VMDAHAL_H__INCLUDED__
#define __VMDAHAL_H__INCLUDED__
#pragma pack(push)
#pragma pack(1)
typedef struct DDHALMODEINFO2
{
DWORD dwWidth; // width (in pixels) of mode
DWORD dwHeight; // height (in pixels) of mode
LONG lPitch; // pitch (in bytes) of mode
DWORD dwBPP; // bits per pixel
WORD wFlags; // flags
WORD wRefreshRate; // refresh rate
DWORD dwRBitMask; // red bit mask
DWORD dwGBitMask; // green bit mask
DWORD dwBBitMask; // blue bit mask
DWORD dwAlphaBitMask; // alpha bit mask
} DDHALMODEINFO2_t;
typedef struct VMDAHALCB32
{
LPDDHAL_DESTROYDRIVER DestroyDriver;
LPDDHAL_CREATESURFACE CreateSurface;
LPDDHAL_CANCREATESURFACE CanCreateSurface;
LPDDHALSURFCB_DESTROYSURFACE DestroySurface;
LPDDHALSURFCB_FLIP Flip;
LPDDHALSURFCB_SETCLIPLIST SetClipList;
LPDDHALSURFCB_LOCK Lock;
LPDDHALSURFCB_UNLOCK Unlock;
LPDDHALSURFCB_BLT Blt;
LPDDHALSURFCB_SETCOLORKEY SetColorKey;
LPDDHALSURFCB_ADDATTACHEDSURFACE AddAttachedSurface;
LPDDHALSURFCB_GETBLTSTATUS GetBltStatus;
LPDDHALSURFCB_GETFLIPSTATUS GetFlipStatus;
LPDDHALSURFCB_UPDATEOVERLAY UpdateOverlay;
LPDDHALSURFCB_SETOVERLAYPOSITION SetOverlayPosition;
LPDDHAL_GETDRIVERINFO GetDriverInfo;
LPDDHAL_WAITFORVERTICALBLANK WaitForVerticalBlank;
LPDDHAL_SETMODE SetMode;
LPDDHAL_SETEXCLUSIVEMODE SetExclusiveMode;
LPDDHAL_FLIPTOGDISURFACE FlipToGDISurface;
} VMDAHALCB32_t;
struct VXD_pair
{
DWORD pid;
DWORD vxd;
};
#define VXD_PAIRS_CNT 32
#define DISP_MODES_MAX 512
typedef struct VMDAHAL_D3DCAPS
{
DWORD ddscaps;
DWORD zcaps;
} VMDAHAL_D3DCAPS_t;
typedef struct VMDAHAL
{
DWORD dwSize;
DWORD vramLinear;
DWORD vramSize;
DWORD dwWidth;
DWORD dwHeight;
DWORD dwBpp;
DWORD dwPitch;
DDPIXELFORMAT_t ddpf;
DDHALINFO_t ddHALInfo;
VMDAHALCB32_t cb32;
DWORD hInstance;
DWORD pFBHDA32;
void __far *pFBHDA16;
DWORD FBHDA_version;
DWORD hDC;
struct VXD_pair vxd_table[VXD_PAIRS_CNT];
DDHALMODEINFO2_t modes[DISP_MODES_MAX];
DWORD modes_count;
DWORD custom_mode_id;
DWORD d3dhal_global;
DWORD d3dhal_callbacks;
VMDAHAL_D3DCAPS_t d3dhal_flags;
} VMDAHAL_t;
#pragma pack(pop)
#define VMDAHAL_modes(_hal) ((struct DDHALMODEINFO __far *)(&(_hal->modes[0])))
#endif
|