[NTVDM]
[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_EQUIPMENT_INTERRUPT 0x11
27 #define BIOS_KBD_INTERRUPT 0x16
28 #define BIOS_TIME_INTERRUPT 0x1A
29 #define CONSOLE_FONT_HEIGHT 8
30 #define BIOS_KBD_BUFFER_SIZE 256
31 #define BIOS_EQUIPMENT_LIST 0x3C // HACK: Disable FPU for now
32
33 /* FUNCTIONS ******************************************************************/
34
35 BOOLEAN BiosInitialize();
36 VOID BiosUpdateConsole(ULONG StartAddress, ULONG EndAddress);
37 VOID BiosUpdateVideoMemory(ULONG StartAddress, ULONG EndAddress);
38 WORD BiosPeekCharacter();
39 WORD BiosGetCharacter();
40 VOID BiosVideoService();
41 VOID BiosEquipmentService();
42 VOID BiosKeyboardService();
43 VOID BiosTimeService();
44 VOID BiosHandleIrq(BYTE IrqNumber);
45
46 #endif