12#define LCDTIMING0_PPL(x) ((((x) / 16 - 1) & 0x3f) << 2)
13#define LCDTIMING1_LPP(x) (((x) & 0x3ff) - 1)
14#define LCDCONTROL_LCDPWR (1 << 11)
15#define LCDCONTROL_LCDEN (1)
16#define LCDCONTROL_LCDBPP(x) (((x) & 7) << 1)
17#define LCDCONTROL_LCDTFT (1 << 5)
19#define PL110_LCDTIMING0 (PVOID)0xE0020000
20#define PL110_LCDTIMING1 (PVOID)0xE0020004
21#define PL110_LCDTIMING2 (PVOID)0xE0020008
22#define PL110_LCDUPBASE (PVOID)0xE0020010
23#define PL110_LCDLPBASE (PVOID)0xE0020014
24#define PL110_LCDCONTROL (PVOID)0xE0020018
26#define READ_REGISTER_ULONG(r) (*(volatile ULONG * const)(r))
27#define WRITE_REGISTER_ULONG(r, v) (*(volatile ULONG *)(r) = (v))
29#define READ_REGISTER_USHORT(r) (*(volatile USHORT * const)(r))
30#define WRITE_REGISTER_USHORT(r, v) (*(volatile USHORT *)(r) = (v))
45 return ((
Red & 0x1F) << 11) | ((
Green & 0x1F) << 6) | ((
Blue & 0x1F));
#define WRITE_REGISTER_USHORT(r, v)
VOID PreserveRow(_In_ ULONG CurrentTop, _In_ ULONG TopDelta, _In_ BOOLEAN Restore)
FORCEINLINE VOID SetPixel(_In_ ULONG Left, _In_ ULONG Top, _In_ UCHAR Color)
VOID DisplayCharacter(_In_ CHAR Character, _In_ ULONG Left, _In_ ULONG Top, _In_ ULONG TextColor, _In_ ULONG BackColor)
VOID DoScroll(_In_ ULONG Scroll)
VOID InitPaletteWithTable(_In_ PULONG Table, _In_ ULONG Count)
FORCEINLINE USHORT VidpBuildColor(_In_ UCHAR Color)
static const UCHAR DefaultPalette[]