2013-06-26 22:58:41 +00:00
|
|
|
/*
|
|
|
|
* COPYRIGHT: GPL - See COPYING in the top level directory
|
|
|
|
* PROJECT: ReactOS Virtual DOS Machine
|
|
|
|
* FILE: bios.h
|
|
|
|
* PURPOSE: VDM BIOS (header file)
|
|
|
|
* PROGRAMMERS: Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org>
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _BIOS_H_
|
|
|
|
#define _BIOS_H_
|
|
|
|
|
|
|
|
/* INCLUDES *******************************************************************/
|
|
|
|
|
|
|
|
#include "ntvdm.h"
|
|
|
|
|
|
|
|
/* DEFINES ********************************************************************/
|
|
|
|
|
|
|
|
#define CONSOLE_VIDEO_MEM_START 0xB8000
|
|
|
|
#define CONSOLE_VIDEO_MEM_END 0xBFFFF
|
|
|
|
#define ROM_AREA_START 0xC0000
|
|
|
|
#define ROM_AREA_END 0xFFFFF
|
|
|
|
#define BIOS_PIC_MASTER_INT 0x08
|
|
|
|
#define BIOS_PIC_SLAVE_INT 0x70
|
|
|
|
#define BIOS_SEGMENT 0xF000
|
2013-06-29 21:37:44 +00:00
|
|
|
#define BIOS_VIDEO_INTERRUPT 0x10
|
2013-07-02 02:08:30 +00:00
|
|
|
#define BIOS_EQUIPMENT_INTERRUPT 0x11
|
2013-06-29 21:37:44 +00:00
|
|
|
#define BIOS_KBD_INTERRUPT 0x16
|
|
|
|
#define BIOS_TIME_INTERRUPT 0x1A
|
2013-07-03 23:38:51 +00:00
|
|
|
#define CONSOLE_WIDTH 80
|
|
|
|
#define CONSOLE_HEIGHT 25
|
2013-06-26 22:58:41 +00:00
|
|
|
#define CONSOLE_FONT_HEIGHT 8
|
2013-06-28 20:52:40 +00:00
|
|
|
#define BIOS_KBD_BUFFER_SIZE 256
|
2013-07-02 02:08:30 +00:00
|
|
|
#define BIOS_EQUIPMENT_LIST 0x3C // HACK: Disable FPU for now
|
2013-06-26 22:58:41 +00:00
|
|
|
|
|
|
|
/* FUNCTIONS ******************************************************************/
|
|
|
|
|
|
|
|
BOOLEAN BiosInitialize();
|
|
|
|
VOID BiosUpdateConsole(ULONG StartAddress, ULONG EndAddress);
|
|
|
|
VOID BiosUpdateVideoMemory(ULONG StartAddress, ULONG EndAddress);
|
2013-06-28 20:52:40 +00:00
|
|
|
WORD BiosPeekCharacter();
|
|
|
|
WORD BiosGetCharacter();
|
2013-06-26 22:58:41 +00:00
|
|
|
VOID BiosVideoService();
|
2013-07-02 02:08:30 +00:00
|
|
|
VOID BiosEquipmentService();
|
2013-06-28 20:52:40 +00:00
|
|
|
VOID BiosKeyboardService();
|
2013-06-29 21:37:44 +00:00
|
|
|
VOID BiosTimeService();
|
2013-06-26 22:58:41 +00:00
|
|
|
VOID BiosHandleIrq(BYTE IrqNumber);
|
|
|
|
|
|
|
|
#endif
|