;	[]===========================================================[]
;
;	NOTICE: THIS PROGRAM BELONGS TO AWARD SOFTWARE INTERNATIONAL(R)
;	        INC. IT IS CONSIDERED A TRADE SECRET AND IS NOT TO BE 	
;	        DIVULGED OR USED BY PARTIES WHO HAVE NOT RECEIVED	
;	        WRITTEN AUTHORIZATION FROM THE OWNER.
;
; 	[]===========================================================[]
;

;----------------------------------------------------------------------------
;Rev	Date	 Name	Description
;----------------------------------------------------------------------------
;R27	03/10/99 GAR	Add Com_Ir in system_flag
;R26	01/28/99 RCH	Support "Processor Number CPU" for Penitum III series
;			CPUs. Switch "PSN_CMOS" & "PSN_CMOS_BIT" are required.
;
;M01  	09/02/98 RAY	Adapt Preboot-Agent from code modified by US
;	
;	(01/29/98 TJM)  Added MPC 2.0 (Formerly RPB) modifications
;
;R25	01/19/98 DRS	Support run awdflash.exe during POST 
;R24	10/28/97 KVN	Fixed system hang when execute RMX386 (issue by Intel).
;			The reason of system hang that is 40:0E7(may be is E0-E7)
;			to be destroyed.So we remove 0E7 byte to safely area
;R23	10/23/97 RCH	Reserve bit 6 of SYSTEM_FLAG for controlling L2 ECC
;R22	10/07/97 RCH	Reserve bit 7 of SYSTEM_FLAG for booting from LAN
;R21	06/13/97 KVN	Support HDD_write_protect function by setup option
;R20	06/06/97 PTY	Add for RPB
;R18A	05/20/97 AVN	Let MXIC 28F2000PPC reduce to alone in BIOS support.
;R19	05/01/97 KVN	Add LS120 bootable even floppy A exist
;R18	04/11/97 AVN	Link MX28F2000PPC EEPROM into 2M EEPROM Group
;R17	02/01/97 KVN	Support IOMEGA ZIP-100 drive active
;R16	01/22/97 KVN	Support dual LS120 drive active
;R15	11/01/96 KVN	Added LS-120 support
;R14A	10/23/96 KVN	Prevent reentry Int 13h from SCSI ISR to fixed NCR v4.0
;			booting hang
;R14	10/04/96 KVN	Added boot HDD selectable function
;R13	09/17/96 KVN	Add bootable CDROM no emulation support
;R12	09/03/96 RCH	Get boot sequence from BIOS data area instead of
;			reading CMOS value
;R11A	09/03/96 RCH	Fixed error BIOS data usage for DMI, this will cause
;			future usage of memory segment 40.
;R11	08/12/96 KVN	Add new DMI spec 2.0 support
;R10	05/01/96 KVN	Support any drive boot
;R09	03/12/96 KVN	Added for ECS audio impression AP
;R08	12/04/95 KVN	Fixed system hang after shutdown
;R07	12/04/95 KVN	Fixed system hang if run AZTECH sound card on VIA mother
;			board
;R06	11/22/95 RAY	Not only Cirrus Logic PCI VGA should set to Mode 3 
;			immediately after warm boot, some other PCI VGA also
;			need to do the same thing. Thus we have to add
;			another name to the flag: CIRRUS_PCI_VGA.
;R05	11/15/95 KVN	Fixed GCD-R520B CD-ROM can't boot
;R04	11/03/95 KVN	Added floppy 3 mode 1.2Mb format
;R03	09/06/95 KVN	Added floppy write protect function
;R02	09/04/95 KVN	Added floppy 3 mode auto switch
;R01	08/21/95 DNL	Added "System_Flag" flag
;RIR	08/14/95 KVN	Modify G_RAM data allocate for S3-764 PCI VGA Windows
;			drivers use 40:CCh & CFh area and initial revision,
;			save old G_RAM.INC become G_RAM.OLD

;		+-----------------------+
;		|			|
;		|  386 BIOS DATA AREA	|
;		|			|
;		+-----------------------+

;		INCLUDE	BIOS.CFG

COMM_PORT_ADDRS		DW	4 DUP(?)	;40:00			
PRNTR_PORT_ADDRS	DW	3 DUP(?)	;40:08
EXT_SEGMENT		DW	?		;40:0E
HARDWARE		DW	1 DUP(?)	;40:10
INIT_FLG		DB	1 DUP(?)	;40:12
SIZE_SYSRAM		DW	1 DUP(?)	;40:13
INIT_ERR_FLG		DW	1 DUP(?)	;40:15
SHFT_STAT		DB	1 DUP(?)	;40:17
KBD_FLG1		DB	1 DUP(?)	;40:18
ALT_INPUT		DB	1 DUP(?)	;40:19
PTR_KBD_BUF_HD		DW	1 DUP(?)	;40:1A	; POINTERS FOR BUF_FOR_KBD
PTR_KBD_BUF_TL		DW	1 DUP(?)	;40:1C
BUF_FOR_KBD		DW	16 DUP(?)	;40:1E	; TYPE AHEAD BUFFER
NEED_RECAL		DB	1 DUP(?)	;40:3E	; DRIVE RECALIBRATION FLAG
MOTOR_ON_IND		DB	1 DUP(?)	;40:3F
MOTOR_OFF_WAIT		DB	1 DUP(?)	;40:40
FD_OP_RESULT		DB	1 DUP(?)	;40:41	; FLOPPY DISK STATUS

FDC_RET_CODES		LABEL	BYTE		;40:42	; FLOPPY DISK RETURN CODES
HDC_CMD			DB	6 DUP(?)	;40:42	; HARD DISK COMMAND BLOCK
FDC_RET_END		DB	1 DUP(?)	;40:48	; MARKER ONLY LENGTH 7 BLOCK
CON_MODE		DB	1 DUP(?)	;40:49	; CURRENT MODE
CON_COLS		DW	1 DUP(?)	;40:4A	; # OF COLUMNS ON SCREEN
CON_LEN			DW	1 DUP(?)	;40:4C	; LENGTH OF SCREEN
CON_STR			DW	1 DUP(?)	;40:4E	; BASE ADDRESS OF SCREEN
CUR_POS			DW	8 DUP(?)	;40:50	; CURSOR POSITION FOR 8 PAGES
CURSOR_MODE		DW	1 DUP(?)	;40:60	; CURSOR MODE SETTING
ACT_PAGE		DB	1 DUP(?)	;40:62	; PAGE BEING DISPLAYED
CARD_ADDR		DW	1 DUP(?)	;40:63	; BASE ADDRESS OF DISPLAY CARD
CON_MODE_SET		DB	1 DUP(?)	;40:65
CON_PALETTE		DB	1 DUP(?)	;40:66
ROM_MODULE_OFFSET	DW	1 DUP(?)	;40:67
ROM_MODULE_SEG		DW	1 DUP(?)	;40:69
INT_OCCUR_FLG		DB	1 DUP(?)	;40:6B
LOW_8254_CNT		DW	1 DUP(?)	;40:6C
HI_8254_CNT		DW	1 DUP(?)	;40:6E
OVRFLW_8254		DB	1 DUP(?)	;40:70
BIOS_BRK		DB	1 DUP(?)	;40:71	; AKBRD
USER_REBOOT		DW	1 DUP(?)	;40:72	; RESET_FLG change in atorgs
DISK_STAT		DB	1 DUP(?)	;40:74	; HARD DISK STATUS
NUMHDSKS		DB	1 DUP(?)	;40:75
HDC_CNTL		DB	1 DUP(?)	;40:76	; HARD DISK CONTROL BYTE
			DB	1 DUP(?)	;40:77
PARL_PORT_TO_CNT	DW	2 DUP(?)	;40:78	; added from orgs
COMM_PORT_TO_CNT	DW	2 DUP(?)	;40:7C
KBD_BUF_LOCN		DW	1 DUP(?)	;40:80
KBD_BUFEND_LOCN		DW	1 DUP(?)	;40:82

CON_LLINE		LABEL	BYTE		;40:84		; last row of video screen.
CON_ROWS		DB	7 DUP(?)	;40:84

XFER_INFO		LABEL	BYTE		;40:8B
MOST_RECENT_RATE	DB	1 DUP(?)	;40:8B
HDC_STAT_RES		DB	1 DUP(?)	;40:8C	; HARD DISK STATUS RESULTS
HDC_ERR_RES		DB	1 DUP(?)	;40:8D	; HARD DISK ERROR RESULTS
HDC_INT			DB	1 DUP(?)	;40:8E	; HARD DISK INTERRUPT
DCAPABILITY		DB	1 DUP(?)	;40:8F
CURRENT_MEDIA		DB	2 DUP (?)	;40:90
			DB	2 DUP (?)	;40:92
CURCYL			DB	2 DUP(?)	;40:94	; FLOPPY CURRENT CYLINDER
KB_FLAG_3		DB	1 DUP(?)	;40:96	; NEW 101 KEYBOARD FLAG
KB_FLAG_2		LABEL	BYTE		;40:97	; NEW 101 OVERLAY
LED_STAT		DB	1 DUP(?)	;40:97
REQUESTER_FLG_OFFSET	DW	1 DUP(?)	;40:98
REQUESTER_SEG		DW	1 DUP(?)	;40:9A
LOW_NUM_MSECS		DW	1 DUP(?)	;40:9C
HI_NUM_MSECS		DW	1 DUP(?)	;40:9E
WAIT_IN_USE		DB	1 DUP(?)	;40:A0
TEMP_BP			DW	1 DUP(?)	;40:A1	; SAVE POST BP		
			DB      9 DUP(?)	;40:A3  ; A3,A4,A5,A6,A7,A8,A9,AA,AB 	

;R11FDD_VERIFY_CMD_FLAG	DB	1 DUP(0)	;40:AC 2.88MB drive verify command flag
FDD_VERIFY_CMD_FLAG	DB	1 DUP(?)	;R11 40:AC 2.88MB drive verify command flag
;R04						;bit 7 = 1 IDE block mode enabled
;R04Floppy_3_mode		EQU	01000000b	;bit 6 = 1 Floppy 3 mode support		;R02
FloppyB_3_mode		EQU	10000000b	;bit 7 = 1 Floppy B 3-mode support	;R04
FloppyA_3_mode		EQU	01000000b	;bit 6 = 1 Floppy A 3-mode support	;R04
SWAP_DRIVE		EQU	00100000b	;bit 5 = swap A,B drive.
						;bit 4 = 1 fast gate A20
FDD_A_3_mode_detect	EQU	00001000b	;bit 3 = 1 Floppy drive A 3 mode detected	;R02
FDD_B_3_mode_detect	EQU	00000100b	;bit 2 = 1 Floppy drive B 3 mode detected	;R02
						;bit 1 = 1 drive already verify standby mode.
						;bit 0 = 0 turbo switch input disabled
						;	 1 turbo switch input enabled
;R11 SECTOR_PER_BLOCK_0	DB	1 dup(0)	;40:AD drive 0 sectors number per block for read/write multiple mode
;R11 SECTOR_PER_BLOCK_1	DB	1 dup(0)	;40:AE drive 1 sectors number per block for read/write multiple mode
;R11 SECTOR_PER_BLOCK_2	DB	1 dup(0)	;40:AF drive 2 sectors number per block for read/write multiple mode
;R11 SECTOR_PER_BLOCK_3	DB	1 dup(0)	;40:B0 drive 3 sectors number per block for read/write multiple mode
;R11 start
SECTOR_PER_BLOCK_0	DB	1 dup(?)	;40:AD drive 0 sectors number per block for read/write multiple mode
SECTOR_PER_BLOCK_1	DB	1 dup(?)	;40:AE drive 1 sectors number per block for read/write multiple mode
SECTOR_PER_BLOCK_2	DB	1 dup(?)	;40:AF drive 2 sectors number per block for read/write multiple mode
SECTOR_PER_BLOCK_3	DB	1 dup(?)	;40:B0 drive 3 sectors number per block for read/write multiple mode
;R11 end

Turbo_Pin_Status	db	1 dup (?)	;40:B1
Turbo_Pin_Interval	db	1 dup (?)	;40:B2 tempary counter for int8h
HDD_MODE_FLAG		DB	1 DUP(?)	;40:B3 bit 0-1 Drive 0 mode
						;bit 2-3 Drive 1 mode
						;bit 4-5 Drive 2 mode
						;bit 6-7 Drive 3 mode
						;00 : CHS mode
						;01 : LBA mode
						;10 : LARGE mode
						;11 : reserve
CPU_TYPE_FLAG		db	1 DUP(?)	;40:B4 CPU type
;R24CPU_CLOCK		db	1 DUP(?)	;40:B5 CPU clock
;R24						;bit 7 - 4  cpu clock
;R24						;bit 1 - 0  00 single clock mode
;R24						;           01 double clock mode
;R24						;           10 triple clock mode
;R24 start
HDD_Drive_Port		DB	1 dup (?)	;40:B5
			;bit 0 : Drive 0 scheme (0=master / 1=slave)
			;bit 1 : Drive 0 channel (0=channel-0 / 1=channel-1)
			;bit 2 : Drive 1 scheme (0=master / 1=slave)
			;bit 3 : Drive 1 channel (0=channel-0 / 1=channel-1)
			;bit 4 : Drive 2 scheme (0=master / 1=slave)
			;bit 5 : Drive 2 channel (0=channel-0 / 1=channel-1)
			;bit 6 : Drive 3 scheme (0=master / 1=slave)
			;bit 7 : Drive 3 channel (0=channel-0 / 1=channel-1)
;R24 end

POST_FLAG		db	1 DUP(?)	;40:B6 bit 0 = 1 : Insert key pressed
						;bit 1 = 1 : CTRL+ALT+ESC pressed
;R10 DRIVE1_ABSENT		EQU	20H		;bit 5 = 1 : Drive 1 is absent
IDE_CH0_32BIT_MODE	EQU	40H		;bit 6 = 1 : IDE channel 0 32bit transfer enable
IDE_CH1_32BIT_MODE	EQU	10H		;bit 4 = 1 : IDE channel 1 32bit transfer enable
						;bit 7 = 1 : Virus protect enable
Fdd_Wt_Protect_Status	EQU	8		;bit 3 = 1 : FDD write protect	;R03
IDE_Block_Mode		equ	00000100b	;bit 2 = 1 IDE block mode enabled	;R04
HDD_Wt_Protect		EQU	20H		;R21 bit 5 = 1 : Hdd write protect

SP_MESS_PTR		DW	1 DUP (?)	;40:B7 SILENT POST MESSAGE POINTER
sound_volume		equ	USER_DEF_BYTE	;R09
USER_DEF_BYTE		DB	1 DUP (?)	;40:B9 for user special define
;R01			db	7 dup (?)	;40:BA-C0
;R01 - start
SYSTEM_FLAG		DB	1 DUP (?)	;40:BA
;R06 CIRRUS_PCI_VGA		EQU	01h	;bit 0 = 1 : Cirrus PCI VGA exist
VGA_NEED_SET_MODE3	EQU	01h		;R06	;should set mode 3 when warm boot
Cyrix_CPU		EQU	02h		;R07 Bit 1 = 1 indicate current is Cyrix CPU
Int_Cache_Status	EQU	04h		;R08 Bit 2 = 1 indicate internal cache to be Enabled
BOOT_LAN		EQU	80H		;R22 flag for boot from LAN
L2ECC_OFF		EQU	40H		;R23 P_II L2 ECC flag
PSN_OFF			EQU	20H		;R26 P_III CPU serial No.
COM2_IR			EQU	10h		;R27 com2 IR of NS serial
			db	6 dup (?)	;40:BB-C0
;R01 - end

;R11 CDROM_ALLOCATE		DB	1 dup(0)	;40:C1
CDROM_ALLOCATE		DB	1 dup(?)	;R11
						;bit 0-1 CDROM Allocate posi.
						;    0 - CDROM at Primary Master
						;    1 - CDROM at Primary Slave
						;    2 - CDROM at Secondany Master
						;    3 - CDROM at Secondany Slave
						;bit 2-3 Emulate Drive value
						;    0 - None CDROM
						;    1 - CDROM Emulate Drive A
						;    2 - CDROM Emulate Drive C
						;    3 - CDROM No Emulation	;R13
Special_CDROM_Bit	EQU	00010000b	;bit 4 special CD-ROM [get_byte_count]	;R05
Enable_SCSI_Boot	EQU	00100000b	;bit 5 = 1 from SCSI HDD boot	;R14
Call_SCSI_Subroutine	EQU	01000000b	;bit 6 = 1 call original SCSI ISR 	;R14A
Change_Floppy_Number	EQU	10000000b	;R19 bit 7 = 1 switch floppy

;R11 CDROM_EMUL_START_SECTOR	DD	1 dup(0)	;40:C2
;R11 CDROM_EMUL_HEAD		DB	1 dup(0)	;40:C6
;R11 CDROM_EMUL_CYL_SEC	DW	1 dup(0)	;40:C7
;R11 start
CDROM_EMUL_START_SECTOR	DD	1 dup(?)	;40:C2
CDROM_EMUL_HEAD		DB	1 dup(?)	;40:C6
CDROM_EMUL_CYL_SEC	DW	1 dup(?)	;40:C7
;R11 end

Cyrix_C3_Reg		DB	1 DUP(?)	;40:C9
HDD_FIFO_FLAG		DB	1 DUP(?)	;40:CA
Cyrix_C1_Reg		DB	1 DUP(?)	;40:CB

;!!! Don't use 40:CC-CF for S3-764 PCI VGA Windows driver
			db	4 dup (?)	;40:CC - 40:CF !!! don't use !!! ;RIR
;!!! Don't use 40:D0-D7 for Adaptec SCSI card
			db	8 dup (?)	;40:D0 - 40:D7 !!! don't use !!!

BOOT_SECTOR_ADDR	DW	2 DUP(?)	;40:D8 BASE ADDRESS OF BOOT SECTOR AND PARTITION TABLE

BOOT_SECTOR_BUFFER	DW	2 DUP(?)	;40:DC offset 0 head & driver
                            			;offset 2 cylinders & sector

Non_Eng_Addr		dw	1 dup(?)	;40:E0
Non_Eng_ASC 		db	1 dup(?)	;40:E2

Cyrix_C2_Reg		db	1 dup(?)	;40:E3

PMRAM_LOC		dw	1 dup(?)	;40:E4

mute_flag		equ	USER_DEF_BYTE1	;R09
USER_DEF_BYTE1		DB	1 DUP (?)	;R09 40:E6 for user special define
;R10 start
;R11 HDD_Drive_Port		DB	1 dup (0)	;40:E7
;R24HDD_Drive_Port		DB	1 dup (?)	;R11
;R24			;bit 0 : Drive 0 scheme (0=master / 1=slave)
;R24			;bit 1 : Drive 0 channel (0=channel-0 / 1=channel-1)
;R24			;bit 2 : Drive 1 scheme (0=master / 1=slave)
;R24			;bit 3 : Drive 1 channel (0=channel-0 / 1=channel-1)
;R24			;bit 4 : Drive 2 scheme (0=master / 1=slave)
;R24			;bit 5 : Drive 2 channel (0=channel-0 / 1=channel-1)
;R24			;bit 6 : Drive 3 scheme (0=master / 1=slave)
;R24			;bit 7 : Drive 3 channel (0=channel-0 / 1=channel-1)
;R24 start
CPU_CLOCK		db	1 DUP(?)	;40:E7 CPU clock
						;bit 7 - 4  cpu clock
						;bit 1 - 0  00 single clock mode
						;           01 double clock mode
						;           10 triple clock mode
;R24 end
;R10 end

DMI_STATE  	db	1 dup (?)	;status for DMI		;R11A
BootSel		db	1 dup (?)	;boot selection 	;R12
;R15 start
ATAPI_Byte	db	1 dup (?)	;40:EA bit 0-1 Floptical drive 0 scheme
					;    00 - Floptical drive on 0 Primary Master
					;    01 - Floptical drive on 0 Primary Slave
					;    10 - Floptical drive on 0 Secondany Master
					;    11 - Floptical drive on 0 Secondany Slave
					;bit 2 = Floptical drive exist or not
					;R16bit 3 = Floptical drive 0 emulate number (A/B = 0/1)
;R16 start
					; bit 4-5 Floptical drive 1 scheme
					;    00 - none any drive
					;    01 - Floptical drive 1 on Primary Slave
					;    10 - Floptical drive 1 on Secondany Master
					;    11 - Floptical drive 1 on Secondany Slave
;R17					;bit 6 = Floptical drive 1 emulate number (A/B = 0/1)
;R17 start
					;bit 6 = 0 - drive 0 is LS-120
					;      = 1 - drive 0 is ZIP-100
					;bit 7 = 0 - drive 1 is LS120
					;bit 7 = 1 - drive 1 is ZIP-100
;R17 end
Floptical0_EMUL_CYL_SEC	dw	?	;40:EB
Floptical0_EMUL_HEAD	db	?	;40:ED
Floptical0_Medium_Type	db	?	;40:EE
Floptical1_EMUL_CYL_SEC	dw	?	;40:EF
Floptical1_EMUL_HEAD	db	?	;40:F1
Floptical1_Medium_Type	db	?	;40:F2
;R16 end
;R16					;bit 4-7 ATAPI INTRQ support or not
;R16					;bit 4 = indicate primary master
;R16					;bit 5 = indicate primary slave
;R16					;bit 6 = indicate secondary master
;R16					;bit 7 = indicate secondary slave
;R16Floptical_EMUL_CYL_SEC	dw	?	;40:EB
;R16Floptical_EMUL_HEAD	db	?	;40:ED
;R16Floptical_Medium_Type	db	?	;40:EE
;R15 end

RPB_BIOS_DATA_BASE   	DB	0Ch dup (?)	;M01

;	Equates for HARDWARE

NO_OF_FLOPPY	EQU	11000000b		; number of floppies installed (1-2)
DISPLAY_TYPE	EQU	00110000b		; 0 = EGA/VGA, 1 = CGA 40
						; 2 = CGA 80,  3 = monochrome
COPRO_INSTALL	EQU	00000010b		; 1 = 287/387 installed
FLOPPY_INSTALL	EQU	00000001b		; 1 = 1+ floppies installed.

DT_CGA40	EQU	00010000b		; DISPLAY TYPE: CGA 40
DT_CGA80	EQU	00100000b		; DISPLAY TYPE: CGA 80
DT_MONO		EQU	00110000b		; DISPLAY TYPE: MONO

;	Equates for INIT_FLG							
										
HOT_KEY_DOWN	EQU	00000001b		; 1 = Hot key (Fn) has been pressed	

;	Equates for INIT_ERR_FLG

IEF_SPD		EQU	10000000b		; 1 = Set speed up.
IEF_K8242	EQU	01000000b		; 1 = 8242 installed 
;R18A FLASH_IN_POST	EQU	00010000b		; R18 1 = Flash in POST
IEF_AWDFLASH_OK	EQU	00010000b		;R25
IEF_IN_POST	EQU	00001000b		; 1 = in POST, after memory test
IEF_SETUP_OK	EQU	00000100b		; 1 = OK to invoke Setup
IEF_ERROR	EQU	00000010b		; 1 = Checksum error in Award CMOS bytes
IEF_TO_ENTER_SETUP EQU	00000001b		; 1 = to enter setup			

;	Equates for USER_REBOOT

CTRL_ALT_DEL	EQU	1234h

;  	Equates for SHFT_STAT									
												
INS_LK		EQU	80H			; insert toggled				
CAPS_LK		EQU	40H			; caps lock toggled				
NUM_LK		EQU	20H			; num lock toggled				
SCRL_LK		EQU	10H			; scroll lock toggled				
ALT		EQU	08H			; alt key pressed				
CTRL		EQU	04H			; ctrl key pressed				
LT_SHFT		EQU	02H			; left shift pressed				
RT_SHFT		EQU	01H			; right shift pressed				
												
;  	Equates for KB_FLAG_1									
												
LEFT_CTRL	EQU	1			; left ctrl key depressed - new 101 keyboard	
LEFT_ALT	EQU	2			; left alt key depressed - new 101 keyboard	
SYS_SHIFT	EQU	4			; system key depressed				
HOLD		EQU	8			; ctrl num lock / pause toggled			
												
;	Equates for KB_FLAG_2									
												
KB_ERR		EQU	80H			; keyboard error flag - not used		
LED_UPDATE	EQU	40H			; led update in progress - not used		
RESEND_RECV	EQU	20H			; resend received				
ACK_RECV	EQU	10H			; acknowledgement received			
;		EQU	08H			; reserved (must be 0)				
CAPS_LED	EQU	04H			; caps lock led					
NUM_LED		EQU	02H			; num lock led					
SCROLL_LED	EQU	01H			; scoll lock led				
												
;	Equates for KB_FLAG_3									
												
LAST_E1		EQU	01H			; last character was an 0E1H (pause key)	
LAST_E0		EQU	02H			; last character was an 0E0H			
RIGHT_CTRL	EQU	04H			; right ctrl key pressed			
RIGHT_ALT	EQU	08H			; right alt key pressed				
ALT_GRAPH	EQU	08H			; alt graphics key is pressed (foreign keyboards)
E101_KEY	EQU	10H			; 101 key keyboard is being used		
FORCE_NUM	EQU	20H			; set num lock if 101 key (set by read_id routine)
LAST_AB		EQU	40H			; last character was an 0ABH (1st id byte)	
READ_ID		EQU	80H			; we are doing a read id command		

;R11A ;R11 start
;R11A ifdef DMI_ENABLED
;R11A DMI_STATE EQU 0E8h   ; DMI Post state variable
;R11A endif ; DMI_ENABLED
;R11A ;R11 end

;M01 ;R20 start
;M01 ifdef RPB_ENABLED                   ; RXX
;M01 RPB_VIDEO_SNOOP      DB ?           ; Snoop video and send changes to remote
;M01 RPB_BIOS_DATA_BASE   DB	15h dup (?)	; RPB Support
;M01 endif ; RPB_ENABLED
;M01 ;R20 end
