a0f50e5e028fefcbe3ed1e95902c588083cc560f
[reactos.git] / reactos / subsystems / ntvdm / bios / vidbios.h
1 /*
2 * COPYRIGHT: GPL - See COPYING in the top level directory
3 * PROJECT: ReactOS Virtual DOS Machine
4 * FILE: vidbios.h
5 * PURPOSE: VDM Video BIOS Support Library
6 * PROGRAMMERS: Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org>
7 * Hermes Belusca-Maito (hermes.belusca@sfr.fr)
8 */
9
10 #ifndef _VIDBIOS_H_
11 #define _VIDBIOS_H_
12
13 /* INCLUDES *******************************************************************/
14
15 #include "ntvdm.h"
16
17 /* DEFINES ********************************************************************/
18
19 #define BIOS_VIDEO_INTERRUPT 0x10
20
21 #define CONSOLE_FONT_HEIGHT 8
22 #define BIOS_DEFAULT_VIDEO_MODE 0x03
23 #define BIOS_MAX_PAGES 8
24 #define BIOS_MAX_VIDEO_MODE 0x13
25 #define DEFAULT_ATTRIBUTE 0x07
26
27 #define GRAPHICS_VIDEO_SEG 0xA000
28 #define TEXT_VIDEO_SEG 0xB800
29 #define VIDEO_BIOS_DATA_SEG 0xC000
30
31 #define FONT_8x8_OFFSET 0x0000
32 #define FONT_8x8_HIGH_OFFSET 0x0400
33 #define FONT_8x16_OFFSET 0x0800
34
35 enum
36 {
37 SCROLL_DIRECTION_UP,
38 SCROLL_DIRECTION_DOWN,
39 SCROLL_DIRECTION_LEFT,
40 SCROLL_DIRECTION_RIGHT
41 };
42
43 /* FUNCTIONS ******************************************************************/
44
45 VOID VidBiosSyncCursorPosition(VOID);
46
47 VOID WINAPI VidBiosVideoService(LPWORD Stack);
48
49 VOID VidBiosDetachFromConsole(VOID);
50 VOID VidBiosAttachToConsole(VOID);
51
52 BOOLEAN VidBiosInitialize(VOID);
53 VOID VidBiosCleanup(VOID);
54
55 #endif // _VIDBIOS_H_
56
57 /* EOF */