#include "precomp.h"
Go to the source code of this file.
◆ ResetDisplay()
Definition at line 468 of file bootvid.c.
470{
471
473 {
474
476 }
477
478
480
481
484}
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[]
#define InitializePalette()
static BOOLEAN VgaInterpretCmdStream(_In_ const USHORT *CmdStream)
◆ VgaInterpretCmdStream()
Definition at line 14 of file bootvid.c.
16{
24
25
26 if (!CmdStream)
28
29
30 while (*CmdStream !=
EOD)
31 {
32
36
37
39 {
40
42 {
43
45 {
46
49 }
50 else
51 {
52
55 }
56 }
58 {
59
61 {
62
65
66
68
69
71 }
72 else
73 {
74
77
78
80 {
81
84 }
85 }
86 }
88 {
89
91
92
93 ShortValue = *CmdStream++;
95 }
96 else
97 {
98
100
101
104 }
105 }
107 {
108
110 {
112 {
113
115 Count = *CmdStream++;
117
118
120 {
121
124 }
125 break;
126 }
127
129 {
130
132 Count = *CmdStream++;
134
135
137 {
138
140
141
144 }
145 break;
146 }
147
149 {
150
152
153
155 Value &= *CmdStream++;
156 Value ^= *CmdStream++;
157
158
160 break;
161 }
162
163 default:
164
166 }
167 }
168 else if (Major !=
NCMD)
169 {
170
172 }
173 }
174
175
177}
#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 180 of file bootvid.c.
181{
182 UCHAR OrgGCAddr, OrgReadMap, OrgBitMask;
183 UCHAR OrgSCAddr, OrgMemMode;
185
186
188
189
190
191
192
193
194
196
197
198
199
200
203
204
205
206
209
210
212 {
213
214
215
216
219 }
220
221
223
224
226 {
227
228
229
230
234 }
235
236
238
239
240
241
242
243 for (
i = 0xBB;
i;
i >>= 1)
244 {
245
247
248
250 {
251
252
253
254
259 }
260 }
261
262
263
264
265
266
268
269
271 {
272
273
274
275
276
277
282 }
283
284
285
286
287
292
293
294
295
296
297
298
299
300
303
304
306 {
307
308
309
310
312 }
313
314
316
317
318
319
320
321
322
324
325
328
329
331 {
332
333
334
335
337
338
340
341
343 }
344
345
346
347
348
349
351
352
354
355
357
358
360}
#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
Referenced by VidInitialize().
◆ VidInitialize()
Definition at line 366 of file bootvid.c.
368{
375
376
378
379
381 {
382
390
391
393 {
394
396 }
397 else
398 {
399
401 }
402
403
406 {
407
409 VgaAddress.HighPart = 0;
417 }
418 else
419 {
420
422 }
423
424
425 }
426
427
429 {
430
434 }
435 else
436 {
437
439 }
440
441
443
444
445 if (SetMode)
446 {
447
450
451
453 {
454
456 }
457 else
458 {
459
461 }
462 }
463
465}
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)
#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