SECTION 6
Conversions and Interfaces
6-110 PEN*KEY
R
6200/6300 Hand-Held Computer Programmer’s Reference Guide
INT 16h, Function AH = 05h: Put Key into Buffer as if from Keyboard
BIOS
On Entry:
AH = 05h
CH = Scan code
CL = Character
On Return:
If successful:
Carry = 0
AL = 0
If unsuccessful:
Carry = 1
AL = 1 if buffer is full
INT 16h, Function AH = 10h: Read Next Extended ASCII Character
BIOS
If there is no key in the buffer, pend until a key is pressed. This function must
issue INT 15h, Function 90h (Device Busy) with AL set to 2 (Keyboard) to inform
the operating system that no key is available and that another task may be
started. This function does not filter character codes for 83/84Ćstyle keyboard
compatibility. Control is returned only when a key is available and the key is
removed from the keyboard buffer. A command must be sent to the keyboard to
update the LED settings, to ensure that the keyboard LEDs match the current
flag settings. For those AltĆcharacter combinations that INT 09h loads an F0h
into the low character byte, this could create some PL/N compatibility issues
since the scan code returned in the AH register in the 4000 BIOS is zero when
the AL register is a valid ASCII character.
On Entry:
AH = 10h
On Return:
AX = Character code
INT 16h, Function AH = 11h: Return Extended Key Buffer Status
BIOS
If the keyboard buffer does not contain a key, this function returns with the zero
flag is set. This function does not filter character codes for the 83/84Ćstyle
keyboard filter, masking duplicates and removing undefined 101 keys. A
command must be sent to the keyboard to update the LED settings, to ensure
that the keyboard LEDs match the current flag settings.
On Entry:
AH = 11h
On Return:
Zero = Set flag if the keyboard buffer is empty
AX = Character code
"
NOTE:
This could create some PL/N compatibility issues since the scan code returned in the AH
register in the 4000 BIOS is zero when the AL register has a valid ASCII character. See
Table 6-4, starting on page 6-105, for returned character codes.
6. Conversions and
Interfaces