#include "precomp.h"
Go to the source code of this file.
◆ ResetDisplay()
Definition at line 476 of file bootvid.c.
478{
480
481
483 {
484
486 }
487
488
490
491
494}
VOID NTAPI VidSolidColorFill(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Right, _In_ ULONG Bottom, _In_ UCHAR Color)
const USHORT VGA_640x480[]
const USHORT AT_Initialization[]
static BOOLEAN VgaInterpretCmdStream(_In_ const USHORT *CmdStream)
#define InitializePalette
@ VGA_GC_STATE_UNINITIALIZED
VGA_GRAPHICS_CONTROLLER_STATE VgaGCState
◆ VgaInterpretCmdStream()
Definition at line 14 of file bootvid.c.
16{
24
25
26 while (*CmdStream !=
EOD)
27 {
28
32
33
35 {
36
38 {
39
41 {
42
45 }
46 else
47 {
48
51 }
52 }
54 {
55
57 {
58
61
62
64
65
67 }
68 else
69 {
70
73
74
76 {
77
80 }
81 }
82 }
84 {
85
87
88
89 ShortValue = *CmdStream++;
91 }
92 else
93 {
94
96
97
100 }
101 }
103 {
104
106 {
108 {
109
111 Count = *CmdStream++;
113
114
116 {
117
120 }
121 break;
122 }
123
125 {
126
128 Count = *CmdStream++;
130
131
133 {
134
136
137
140 }
141 break;
142 }
143
145 {
146
148
149
151 Value &= *CmdStream++;
152 Value ^= *CmdStream++;
153
154
156 break;
157 }
158
159 default:
160
162 }
163 }
164 else if (Major !=
NCMD)
165 {
166
168 }
169 }
170
171
173}
#define WRITE_PORT_BUFFER_USHORT(port, buffer, count)
ULONG_PTR VgaRegisterBase
#define __outpw(Port, Value)
#define __outpb(Port, Value)
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Referenced by ResetDisplay(), and VidInitialize().
◆ VgaIsPresent()
Definition at line 176 of file bootvid.c.
177{
178 UCHAR OrgGCAddr, OrgReadMap, OrgBitMask;
179 UCHAR OrgSCAddr, OrgMemMode;
181
182#if (NTDDI_VERSION >= NTDDI_WIN7)
183
184
187 {
189 }
190#endif
191
192
194
195
196
197
198
199
200
202
203
204
205
206
209
210
211
212
215
216
218 {
219
220
221
222
225 }
226
227
229
230
232 {
233
234
235
236
240 }
241
242
244
245
246
247
248
249 for (
i = 0xBB;
i;
i >>= 1)
250 {
251
253
254
256 {
257
258
259
260
265 }
266 }
267
268
269
270
271
272
274
275
277 {
278
279
280
281
282
283
288 }
289
290
291
292
293
298
299
300
301
302
303
304
305
306
309
310
312 {
313
314
315
316
318 }
319
320
322
323
324
325
326
327
328
330
331
334
335
337 {
338
339
340
341
343
344
346
347
349 }
350
351
352
353
354
355
357
358
360
361
363
364
366}
#define START_SYNC_RESET_VALUE
#define GRAPH_ADDRESS_PORT
#define READ_MAP_TEST_SETTING
#define END_SYNC_RESET_VALUE
#define MEMORY_MODE_TEXT_DEFAULT
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define HalQueryIoPortAccessSupported
#define HALPRIVATEDISPATCH
Referenced by VidInitialize().
◆ VidInitialize()
Definition at line 372 of file bootvid.c.
374{
381
382
384
385
387 {
388
396
397
399 {
400
402 }
403 else
404 {
405
407 }
408
409
412 {
413
415 VgaAddress.HighPart = 0;
423 }
424 else
425 {
426
428 }
429
430
431 }
432
433
435 {
436
440 }
441 else
442 {
443
445 }
446
447
449
451
452
453 if (SetMode)
454 {
455
458
459
461 {
462
464 }
465 else
466 {
467
469 }
470 }
471
473}
static BOOLEAN VgaIsPresent(VOID)
VOID NTAPI MmUnmapIoSpace(IN PVOID BaseAddress, IN SIZE_T NumberOfBytes)
PVOID NTAPI MmMapIoSpace(IN PHYSICAL_ADDRESS PhysicalAddress, IN SIZE_T NumberOfBytes, IN MEMORY_CACHING_TYPE CacheType)
_In_ PIRP _In_ PIO_COMPLETION_ROUTINE _In_ PVOID Context
#define HalFindBusAddressTranslation
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
_In_ ULONG _In_ PHYSICAL_ADDRESS _Inout_ PULONG _Out_ PPHYSICAL_ADDRESS TranslatedAddress
_In_ ULONG _In_ PHYSICAL_ADDRESS _Inout_ PULONG AddressSpace