ReactOS 0.4.17-dev-1281-g065abb3
pc.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS Boot Video Driver for VGA-compatible cards
3 * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
4 * PURPOSE: VGA definitions
5 * COPYRIGHT: Copyright 2007 Alex Ionescu <alex.ionescu@reactos.org>
6 */
7
8#pragma once
9
10#include "vga.h"
11
12typedef enum
13{
19
22extern ULONG_PTR VgaBase;
23extern const USHORT AT_Initialization[];
24extern const USHORT VGA_640x480[];
25extern const UCHAR PixelMask[8];
26
27#define __inpb(Port) \
28 READ_PORT_UCHAR((PUCHAR)(VgaRegisterBase + (Port)))
29
30#define __inpw(Port) \
31 READ_PORT_USHORT((PUSHORT)(VgaRegisterBase + (Port)))
32
33#define __outpb(Port, Value) \
34 WRITE_PORT_UCHAR((PUCHAR)(VgaRegisterBase + (Port)), (UCHAR)(Value))
35
36#define __outpw(Port, Value) \
37 WRITE_PORT_USHORT((PUSHORT)(VgaRegisterBase + (Port)), (USHORT)(Value))
38
39VOID
43
44VOID
46
48VOID
50 _In_ ULONG Left,
53{
54 PUCHAR PixelPosition;
55
56 /* Calculate the pixel position */
57 PixelPosition = (PUCHAR)(VgaBase + (Left >> 3) + (Top * (SCREEN_WIDTH / 8)));
58
59 /* Select the bitmask register and write the mask */
61
62 /* Dummy read to load latch registers */
63 (VOID)READ_REGISTER_UCHAR(PixelPosition);
64
65 /* Set the new color */
66 WRITE_REGISTER_UCHAR(PixelPosition, Color);
67}
#define VOID
Definition: acefi.h:82
#define PrepareForSetPixel()
Definition: arm.h:21
static LPHIST_ENTRY Top
Definition: history.c:53
#define GRAPH_ADDRESS_PORT
Definition: vga.h:81
#define IND_BIT_MASK
Definition: vga.h:114
#define VGA_BASE_IO_PORT
Definition: vga.h:38
ASMGENDATA Table[]
Definition: genincdata.c:61
#define _In_reads_(s)
Definition: no_sal2.h:168
#define _In_
Definition: no_sal2.h:158
#define SCREEN_WIDTH
Definition: pc98video.c:24
ULONG_PTR VgaRegisterBase
Definition: vga.c:69
#define __outpw(Port, Value)
Definition: pc.h:36
const USHORT VGA_640x480[]
Definition: bootdata.c:47
const USHORT AT_Initialization[]
Definition: bootdata.c:16
ULONG_PTR VgaBase
Definition: vga.c:70
VGA_GRAPHICS_CONTROLLER_STATE
Definition: pc.h:13
@ VGA_GC_STATE_UNINITIALIZED
Definition: pc.h:14
@ VGA_GC_STATE_COPY_PIXELS
Definition: pc.h:17
@ VGA_GC_STATE_READ_PIXELS
Definition: pc.h:15
@ VGA_GC_STATE_WRITE_PIXELS
Definition: pc.h:16
FORCEINLINE VOID SetPixel(_In_ ULONG Left, _In_ ULONG Top, _In_ UCHAR Color)
Definition: pc.h:49
VOID InitPaletteWithTable(_In_reads_(Count) const ULONG *Table, _In_ ULONG Count)
Definition: bootvid.c:220
const UCHAR PixelMask[8]
Definition: vga.c:37
VGA_GRAPHICS_CONTROLLER_STATE VgaGCState
Definition: vga.c:68
unsigned short USHORT
Definition: pedump.c:61
unsigned char UCHAR
Definition: typedefs.h:53
uint32_t ULONG_PTR
Definition: typedefs.h:65
unsigned char * PUCHAR
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
USHORT Count
Definition: userreq.cpp:200
#define FORCEINLINE
Definition: wdftypes.h:67
NTKERNELAPI VOID NTAPI WRITE_REGISTER_UCHAR(IN PUCHAR Register, IN UCHAR Value)
NTKERNELAPI UCHAR NTAPI READ_REGISTER_UCHAR(IN PUCHAR Register)