EasyManua.ls Logo

IBM PC CONVERTIBLE

IBM PC CONVERTIBLE
275 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
02F8
AO
00B9
02FB
3C
00
02FD
74
09
02FF
E6
60
THIS
NMI
IS A
RESULT
OF
INT9
CLEARING
THE
KEYBOARD
INDICATING
THAT
THE
PORT
60
SCAN
CODE
HAS
BEEN
READ
AND
IS
READY
TO
ACCEPT
ANOTHER.
KEYPAD
/,
*
AND
RIGHT
-ALT
NMI
SCAN
CODES
GENERATE
TWO
CODES
FOR
PORT
60.
KYBD_XLT
SENDS
THE
FIRST
(HIDDEN
CODE)
DIRECTLY
AND
QUEUES
THE
SECOND
(P60
SCAN
CODE)
IN
P60_HOLD_BYTE.
IF
P60_HOLD_BYTE
IS
HOLDING,
IT
MUST
BE
SENT
TO
P60
AS
SOON
AS
P60
IS
EMPTY.
AL,
P60_HOLD_BYTE
GET
HOLD
BYTE
AL,NO_HOLD
IS A
SCAN
CODE
QUEUED?
KClO
NO,
JUMP.
KLDATA,AL ;
HELD
SCAN
CODE
TO
P60
0301
C6
06
00B9
R
00
MOV
CMP
JE
OUT
MOV
JMP
P6LHOLD_BYTE,NO_HOLD
;
RESET
HOLD
BYTE
0306
EB
05
SHORT
KC20
;
LEAVE
P60_LOADED
SET
0308
80
26
00B4
R
7F
KCI0
:
AND
KB_NMLCNTL
,NOT
P60_LOADED
;
SET
OFF
PRT
60
ACT
030D
E4
61
030F
24
7F
0311
E6
61
;
0313
E8
0319
R
0316
E9
0050 R
0319
RESET
CLEAR
KEYBOARD
NMI
SOURCE
KC20
:
AND
OUT
IN AL,NMLCNTL
AL,
NOT
CLR_KEYBD
NMLCNTL,AL
GET
NMI
CONTROL
PORT
SET
CLEAR
KYBD
BIT
TO
0
CALL
TRANSLATE
TO
SEE
IF
ANYTHING
IN
QUEUE
AND
TRANSLATE
IF
SO
CALL
JMP
KYBD_XL
T
NMIH_EXIT
XLATE
AND
WRITE
TO
PORT
60
GO
TO
1ST
LEVEL
INTERRUPT
HANDLER
PROCEDURE
END
Translate Scan Code (KYBD_XL
T)
0319
;
*******************************************************************
KYBD_XLT
-
KEYBOARD
SCAN
CODE
XLATE
ROUTINE
DESCRIPTION:
IF
THE
SCAN
CODE
BUFFER
IS
EMPTY
OR
PORT
60H
IS
LOADED
AT
ENTRY
THEN
THIS
ROUTINE
ENABLES
KEYBOARD
NMI
AND
EXITS.
IF
THE
BUFFER
IS
NOT
EMPTY
THE
NEXT
ENTRY
IN
THE
SCAN
CODE
BUFFER
IS
PROCESSED.
THE
SCAN
CODE
IS
TRANSLATED
TO
THE
PCl
EQUIVALENT
AND
THE
PCl
SCAN
CODE
IS
WRITTEN
TO
PORT
60.
HARDWARE
WILL
GENERATE
A
SET
HARDWARE
INTERRUPT
1
REQUEST
WHEN
PORT
60
IS
WRITTEN.
I F
THE
TRANSLATION
DOES
NOT
RESULT
IN
A
PORT
60
LOAD
THEN
OTHER
KEYS
IN
THE
QUEUE ARE
PROCESSED
I F
ANY.
INPUT:
KB_NMLBUFFER
OUTPUT:
WRITE
TO
PORT
60H
INTERNAL
ROUTINES:
NUM_STATCFIX
EXTERNAL
ROUTINES:
NMLCYCLE
REGISTERS
MODIFIED: N/A
INTERRUPTS:
I
FLAG
RESTORED
TO
PRE-NMI
STATE
KYBD_NMI
ENABLED
,
NORMAL
EX
IT:
RET
;
******************************************************************
NEAR
2~38
ROM BIOS

Related product manuals