[NTVDM]
[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 #define FONT_8x14_OFFSET 0x1800
35
36 enum
37 {
38 SCROLL_DIRECTION_UP,
39 SCROLL_DIRECTION_DOWN,
40 SCROLL_DIRECTION_LEFT,
41 SCROLL_DIRECTION_RIGHT
42 };
43
44 /* FUNCTIONS ******************************************************************/
45
46 VOID VidBiosSyncCursorPosition(VOID);
47
48 VOID WINAPI VidBiosVideoService(LPWORD Stack);
49
50 VOID VidBiosDetachFromConsole(VOID);
51 VOID VidBiosAttachToConsole(VOID);
52
53 BOOLEAN VidBiosInitialize(VOID);
54 VOID VidBiosCleanup(VOID);
55
56 #endif // _VIDBIOS_H_
57
58 /* EOF */