blob: f25e2c1a3b841020292751b5d9dde73817e54885 (
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
#ifndef __VXD_VDD_H__INCLUDED__
#define __VXD_VDD_H__INCLUDED__
#ifdef DBGPRINT
void dbg_printf( const char *s, ... );
#else
#define dbg_printf(s, ...)
#endif
/* function codes */
#define REGISTER_DISPLAY_DRIVER 0
#define GET_VDD_BANK 1
#define SET_VDD_BANK 2
#define RESET_BANK 3
#define PRE_HIRES_TO_VGA 4
#define POST_HIRES_TO_VGA 5
#define PRE_VGA_TO_HIRES 6
#define POST_VGA_TO_HIRES 7
#define SAVE_REGISTERS 8
#define RESTORE_REGISTERS 9
#define MODIFY_REGISTER_STATE 10
#define ACCESS_VGA_MEMORY_MODE 11
#define ACCESS_LINEAR_MEMORY_MODE 12
#define ENABLE_TRAPS 13
#define DISABLE_TRAPS 14
#define MAKE_HARDWARE_NOT_BUSY 15
#define VIRTUALIZE_CRTC_IN 16
#define VIRTUALIZE_CRTC_OUT 17
#define VIRTUALIZE_SEQUENCER_IN 18
#define VIRTUALIZE_SEQUENCER_OUT 19
#define VIRTUALIZE_GCR_IN 20
#define VIRTUALIZE_GCR_OUT 21
#define SET_LATCH_BANK 22
#define RESET_LATCH_BANK 23
#define SAVE_LATCHES 24
#define RESTORE_LATCHES 25
#define DISPLAY_DRIVER_DISABLING 26
#define SELECT_PLANE 27
#define PRE_CRTC_MODE_CHANGE 28
#define POST_CRTC_MODE_CHANGE 29
#define VIRTUALIZE_DAC_OUT 30
#define VIRTUALIZE_DAC_IN 31
#define GET_CURRENT_BANK_WRITE 32
#define GET_CURRENT_BANK_READ 33
#define SET_BANK 34
#define CHECK_HIRES_MODE 35
#define GET_TOTAL_VRAM_SIZE 36
#define GET_BANK_SIZE 37
#define SET_HIRES_MODE 38
#define PRE_HIRES_SAVE_RESTORE 39
#define POST_HIRES_SAVE_RESTORE 40
#define VESA_SUPPORT 41
#define GET_CHIP_ID 42
#define CHECK_SCREEN_SWITCH_OK 43
#define VIRTUALIZE_BLTER_IO 44
#define SAVE_MESSAGE_MODE_STATE 45
#define SAVE_FORCED_PLANAR_STATE 46
#define VESA_CALL_POST_PROCESSING 47
#define PRE_INT_10_MODE_SET 48
#define NBR_MINI_VDD_FUNCTIONS_40 49
#define GET_NUM_UNITS 49
#define TURN_VGA_OFF 50
#define TURN_VGA_ON 51
#define SET_ADAPTER_POWER_STATE 52
#define GET_ADAPTER_POWER_STATE_CAPS 53
#define SET_MONITOR_POWER_STATE 54
#define GET_MONITOR_POWER_STATE_CAPS 55
#define GET_MONITOR_INFO 56
#define I2C_OPEN 57
#define I2C_ACCESS 58
#define GPIO_OPEN 59
#define GPIO_ACCESS 60
#define COPYPROTECTION_ACCESS 61
#define NBR_MINI_VDD_FUNCTIONS_41 62
/* VxDCall(VDD, ...) constants */
#define VDD__Get_Version 0
#define VDD__PIF_State 1
#define VDD__Get_GrabRtn 2
#define VDD__Hide_Cursor 3
#define VDD__Set_VMType 4
#define VDD__Get_ModTime 5
#define VDD__Set_HCurTrk 6
#define VDD__Msg_ClrScrn 7
#define VDD__Msg_ForColor 8
#define VDD__Msg_BakColor 9
#define VDD__Msg_TextOut 10
#define VDD__Msg_SetCursPos 11
#define VDD__Query_Access 12
#define VDD__Check_Update_Soon 13
#define VDD__Get_Mini_Dispatch_Table 14 /* edi -> pointer to table, ecx -> table items count */
#define VDD__Register_Virtual_Port 15
#define VDD__Get_VM_Info 16
#define VDD__Get_Special_VM_IDs 17
#define VDD__Register_Extra_Screen_Selector 18
#define VDD__Takeover_VGA_Port 19
#define VDD__Get_DISPLAYINFO 20
#define VDD__Do_Physical_IO 21
#define VDD__Set_Sleep_Flag_Addr 22
#define VDD__EnableDevice 23
/* generate prototypes */
#define VDDFUNC(_fnname, _procname) void __stdcall _procname ## _proc(PCRS_32 state);
#define VDDNAKED VDDFUNC
#include "vxd_vdd_list.h"
#undef VDDFUNC
#undef VDDNAKED
#define VDDPROC(_fnname, _procname) void __stdcall _procname ## _proc(PCRS_32 state)
#define VDD_CY state->Client_EFlags |= 0x1
#define VDD_NC state->Client_EFlags &= 0xFFFFFFFEUL
typedef struct {
WORD diHdrSize;
WORD diInfoFlags;
DWORD diDevNodeHandle;
char diDriverName[16];
WORD diXRes;
WORD diYRes;
WORD diDPI;
BYTE diPlanes;
BYTE diBpp;
WORD diRefreshRateMax;
WORD diRefreshRateMin;
WORD diLowHorz;
WORD diHighHorz;
WORD diLowVert;
WORD diHighVert;
DWORD diMonitorDevNodeHandle;
BYTE diHorzSyncPolarity;
BYTE diVertSyncPolarity;
} DISPLAYINFO;
void Enable_Global_Trapping(DWORD port);
void Disable_Global_Trapping(DWORD port);
#endif /* __VXD_VDD_H__INCLUDED__ */
|