	page	,132
;--------------------------
; This text is a partial listing of BIOS low memory
;      see tech ref.
; Malcolm McCorquodale
;--------------------------
data		segment at 40h
rs232_base	dw	4 dup(?)	;addr of rs232 adapters.
printer_base	dw	4 dup(?)	;addr of printers
equip_flag	dw	?		;installed hardware
mfg_test	db	?		;initialization flag
memory_size	dw	?		;memory size in k bytes
io_ram_size	dw	?		;memory in I/O channel
;--------------------------
; keyboard data areas
;--------------------------
kb_flag 	db	?

;---------- shift flag equates w/i kb_flag

ins_state	equ	80h	;insert state is active
caps_state	equ	40h	;caps lock state has been toggled
num_state	equ	20h	;num lock state has been toggled
scroll_state	equ	10h	;scroll lock state has been toggled
alt_shift	equ	08h	;alt shift key depressed
ctl_shift	equ	04h	;ctl shift key depressed
left_shift	equ	02h	;left shift key depressed
right_shift	equ	01h	;right shift key depressed

kb_flag_1	db	?

ins_shift	equ	80h	;insert state is depressed
caps_shift	equ	40h	;caps lock state is depressed
num_shift	equ	20h	;num lock state is depressed
scroll_shift	equ	10h	;scroll lock state is depressed
hold_state	equ	08h	;suspend key has been toggled

alt_input	db	?	;storage for alternate keypad entry
buffer_head	dw	?	;ptr to head of keyboard buffer
buffer_tail	dw	?	;pointer to tail of keyboard buffer
kb_buffer	dw	16 dup(?) ; room for 15 entries
kb_buffer_end	label	word
;---------------------------------
; diskette data areas w/o equates
;---------------------------------
seek_status	db	?
motor_status	db	?
motor_count	db	?
diskette_status db	?
nec_status	db	7 dup(?)
;----------------------------------
; video display data area
;----------------------------------
crt_mode	db	?	;current crt mode
crt_cols	dw	?	;number of columns on screen
crt_len 	dw	?	;length of regen in bytes
crt_start	dw	?	;starting address in regen buffer
cursor_posn	dw	8 dup(?) ;cursor for each of up to 8 pages
cursor_mode	dw	?	;current cursor mode setting
active_page	db	?	;current page being displayed
addr_6845	dw	?	;base address for active display card
crt_mode_set	db	?	;current setting of the 3x8 register
crt_pallette	db	?	;current pallette setting color card
data		ends

;--------------------------------
; video diplay buffer
;--------------------------------
video_ram	segment at 0b800h
regen	label	byte
regenw	label	word
video_ram	ends

;--------------------------------
; Stack segment
;--------------------------------
stack	segment stack 'stack'
stk	db	32 dup (?)
stack	ends
write.
;	(ds:si) = Address of message to print on screen.
;
; OUTPUT
;	No