548e40f4603ec2c7bc9f1f58e94a21cba15b0fb8
[reactos.git] / subsystems / ntvdm / bios.h
1 /*
2 * COPYRIGHT: GPL - See COPYING in the top level directory
3 * PROJECT: ReactOS Virtual DOS Machine
4 * FILE: bios.h
5 * PURPOSE: VDM BIOS (header file)
6 * PROGRAMMERS: Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org>
7 */
8
9 #ifndef _BIOS_H_
10 #define _BIOS_H_
11
12 /* INCLUDES *******************************************************************/
13
14 #include "ntvdm.h"
15
16 /* DEFINES ********************************************************************/
17
18 #define CONSOLE_VIDEO_MEM_START 0xB8000
19 #define CONSOLE_VIDEO_MEM_END 0xBFFFF
20 #define ROM_AREA_START 0xC0000
21 #define ROM_AREA_END 0xFFFFF
22 #define BIOS_PIC_MASTER_INT 0x08
23 #define BIOS_PIC_SLAVE_INT 0x70
24 #define BIOS_SEGMENT 0xF000
25 #define BIOS_VIDEO_INTERRUPT 0x10
26 #define BIOS_KBD_INTERRUPT 0x16
27 #define BIOS_TIME_INTERRUPT 0x1A
28 #define CONSOLE_FONT_HEIGHT 8
29 #define BIOS_KBD_BUFFER_SIZE 256
30
31 /* FUNCTIONS ******************************************************************/
32
33 BOOLEAN BiosInitialize();
34 VOID BiosUpdateConsole(ULONG StartAddress, ULONG EndAddress);
35 VOID BiosUpdateVideoMemory(ULONG StartAddress, ULONG EndAddress);
36 WORD BiosPeekCharacter();
37 WORD BiosGetCharacter();
38 VOID BiosVideoService();
39 VOID BiosKeyboardService();
40 VOID BiosTimeService();
41 VOID BiosHandleIrq(BYTE IrqNumber);
42
43 #endif