8cda3ec426179ea86fd2152be2f71532eeb85869
2 * COPYRIGHT: GPL - See COPYING in the top level directory
3 * PROJECT: ReactOS Virtual DOS Machine
5 * PURPOSE: VDM BIOS (header file)
6 * PROGRAMMERS: Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org>
12 /* INCLUDES *******************************************************************/
16 /* DEFINES ********************************************************************/
18 #define CONSOLE_VIDEO_MEM_END 0xBFFFF
19 #define ROM_AREA_START 0xC0000
20 #define ROM_AREA_END 0xFFFFF
21 #define BIOS_PIC_MASTER_INT 0x08
22 #define BIOS_PIC_SLAVE_INT 0x70
23 #define BIOS_SEGMENT 0xF000
24 #define BIOS_VIDEO_INTERRUPT 0x10
25 #define BIOS_EQUIPMENT_INTERRUPT 0x11
26 #define BIOS_KBD_INTERRUPT 0x16
27 #define BIOS_TIME_INTERRUPT 0x1A
28 #define BIOS_SYS_TIMER_INTERRUPT 0x1C
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 #define BIOS_DEFAULT_VIDEO_MODE 0x03
33 #define BIOS_MAX_PAGES 8
34 #define BIOS_MAX_VIDEO_MODE 0x13
47 /* FUNCTIONS ******************************************************************/
49 BOOLEAN
BiosInitialize();
51 VOID
BiosUpdateConsole(ULONG StartAddress
, ULONG EndAddress
);
52 VOID
BiosUpdateVideoMemory(ULONG StartAddress
, ULONG EndAddress
);
53 inline DWORD
BiosGetVideoMemoryStart();
54 inline VOID
BiosVerticalRefresh();
55 WORD
BiosPeekCharacter();
56 WORD
BiosGetCharacter();
57 VOID
BiosVideoService();
58 VOID
BiosEquipmentService();
59 VOID
BiosKeyboardService();
60 VOID
BiosTimeService();
61 VOID
BiosHandleIrq(BYTE IrqNumber
);
62 VOID
BiosSystemTimerInterrupt();