IBM 5170 Technical Reference page 202

Hide thumbs Also See for 5170:
Table of Contents

Advertisement

;<><> VIRTUAL MODE FAILED<><><>
056F
E8 0000 E
CALL
;
PRINT MSG
0572
EB 09 90
JMP
0575
E8 0000 E
SHUT7B; CALL
;
PRINT MSG
0578
80 OE 0016 R 04
OR
MFG_ERR_FLAG+1 , LMCS_FA I L; <><><><><><><><><><><><><><><>
; <><> LOW MEG CH I P SELECT
<><>
;
-~---
... -­ PROTECTED MODE TEST PASSED ENTRY FROM A SHUTDOWN
0570
E8 0000 E
SHUT6:
CALL
005
PROTECTED MODE TEST PASSED
0580
2B CO
SUB
AX,AX
CLEAR KEYBOARD STATE FLAGS
0582
A3 0017 R
MOV
WORD PTR KB_FLAG,AX
0585
B9 DaDE
MOV
CX,OEH
CLEAR PACE REGS
0588
BA 0082
MOV
OX, DMA_PAGE+1
058B
CLR LOOP:
058B
2A CO
-
SUB
AL,AL
0580
EE
OUT
DX,AL
058E
42
I Ne
OX
058F
E2 FA
LOOP
CLR_LOOP
TEST.21
;
KEYBOARD TEST
; DESCR
I
PT I ON
RESET THE KEYBOARD AND CHECK THAT SCAN
CODE
~
AA'
I S RETURNED TO THE CPU.
CHECK FOR STUCK KEYS.
0591
0593
BO 35
E6 80
MOV
OUT
AL,35H
MfG_PORT, AL
; <><><><><><><><><><><><><><>
; <><><>CHECKPO I NT 35 <><><><>
0595
F6 06 0012
R
20
TEST
MFG_TST , LOOP_POST
; MANUFACTURING BURN IN TEST MODE?
059A
75 03
JNZ
F7 A
059C
E9 0651 R
JMP
F7­
, YES - SK I P KEYBOARD TEST
059F
05A4
80 3E 0072 R 64
75 03
F7_A:
CMP
JNZ
BYTE PTR RESET FLAG,064H ;
f7_B
-
MANUfACUTRINC RUN IN MODE?
05A6
E9 0651 R
JMP
F7
, YES - SK I P KEYBOARD TEST
05A9
BO 36
F7_B:
MOV
AL,36H
; <><><><><><><><><><><><><><>
05AB
E6 80
OUT
MFG_PORT, AL
; <><><>CHECKPD I NT 36 <><><><>
05AD
FA
ell
05AE
05B4
81 3E 0072 R 1234
74
17
CMP
JZ
~~~ETJLAG,1234H
SOFT RESEl?
05136
80 3E 0072 R AA
CMP
BYTE PTR RESET_FLAG,OAAH ; CHECK FOR
AA
ALREADY RECIEVED
05BB
74 10
JZ
Gl0
GO IF YES
05BD
BO AE
MOV
AL, ENA_KBD
05BF
E8 0000 E
CALL
C8042
ENABLE KEYBOARD
OSC2
B7 04
MOV
BH,4
TRY 4 TIMES
05C4
E8 0000 E
LOOP1:
CALL
OBF_42
CHECK FOR OUTPUT BUFFER FULL
05C7
7S 04
JNZ
Gl0
GO I F BUFFER FULL
05C9
FE CF
DEC
BH
05CB
75
F7
JNZ
LOOPl
05CD
BO AD
G10:
MOV
AL,DIS KBD
D I SABLE KEYBOARD
05CF
E8 0000 E
CALL
C8042 -
0502
E4 60
IN
AL, PORT_A
FLUSH
0504
BO EO
MOV
AL, KYBD_CLK_DATA
GET THE CLOCK AND DATA LINES
0506
E8 0000 E
CALL
C8042
0509
E8 0000 E
CALL
OBF_42
WAI T FOR OUTPUT BUFFER FULL
05DC
05DE
E4 60
A8 01
IN
TEST
AL, PORT_A
AL, KYBD_CLK
GET THE RESULTS
KEYBOARD CLOCK MUST BE LOW
05EO
74 OB
JZ
Gll
05E2
80 OE 0016 R 08
OR
MFG_ERR_FLAG+1, KYCLK_FA I L; <><><><><><><><><><><><><><>
; <><> KEYBOARD CLOCK HI GH<><><>
05E7
BE 0000 E
MOV
S I, OFFSET fl_B
• D
I
SPLAY 304 ERROR
05EA
EB 62 90
JMP
F6D
;
REPORT ERROR
05ED
E8 0000 E
Gll:
CALL
KBD_RESET
;
I SSUE RESET TO KEYBRD
05FO
E3 28
JCXl
F6
;
PR I NT ERR MSG
I
F NO I NTERRU PT
05F2
BO 37
MOV
AL,37H
; <><><><><><><><><><><><><><>
05F4
E6 80
OUT
MFG PORT ,AL
: <><><>CHECKPO I NT 37 <><><><>
05F6
80 FB AA
CMP
BL,OAAH
SCAN CODE AS EXPECTED?
05F9
75 1 F
JNE
F6
NO - DISPLAY ERROR MSG
; ----­ CHECK FOR STUCK KEYS
05FB
05FD
BO 38
E6 80
MOV
OUT
AL,38H
MFG_PORT, AL
; <><><><><><><><><><><><><><>
; <><><>CHECKPO I NT 38 <><><><>
05Ff
0601
BO AE
E8 0000 E
MOV
CALL
AL, ENA_KBD
C8042
ASSURE KYBOARD ENABLED
I SSUE THE COMMAND
0604
2B C9
SUB
CX,CX
0606
E2 FE
F5:
LOOP
F5
DELAY FOR A WH I LE
0608
E4 64
IN
AL, STATUS_PORT
CHECK FOR STUCK KEYS
060A
A8 01
TEST
AL, OUT_BUf_FULL
OUT BUfFER FULL?
060C
74 43
JE
F7
YES - CONT I NUE TEST I NG
060E
BO 39
MOV
AL,39H
; <><><><><><><><><><><><><><>
0610
E6 80
OUT
MFG_PORT, AL
; <><><>CHECKPO I NT 39 <><><><>
0612
E4 60
IN
AL,PORT_A
GET THE SCAN CODE
0614
E8 0000 E
CALL
XPC_BYTE
CONVERT AND PR
I
NT
0617
EB 20 90
JMP
F6C
CONTINUE
; ------­ KEYBOARD ERROR TRY TO OETERM I NE IF 8042 I NTERFACE I S WORK I NG
061A
FA
F6:
ell
061B
BO AB
MOV
AL, I NTR_fACE_CK
COMMAND TO 8042
061D
E6 64
OUT
STATUS_PORT,AL
061f
0621
2B C9
B7 05
SUB
MOV
CX,CX
BH,05
WA I T FOR OUTPUT BUFfER FULL
0623
E4 64
f6A:
IN
AL,STATUS_PORT
0625
A8 01
TEST
AL, OUT_BUF_FULL
8042 fiN
I
SHED TEST?
0627
E1 fA
LOOPZ
F6A
0629
75 OA
JNZ
F6B
GO CHECK RESULTS
062B
FE CF
DEC
BM
062D
75 F4
JNZ
F6A
TRY AGAIN
062 f
BE 0000 E
MOV
S I, OFFSET fl_A
INDICATE PLANAR FAILURE
0632
EB 1A 90
JMP
F60
(REMOVE KEYBOARD TRY AGAIN)
0635
0637
E4 60
3C 00
F6B:
IN
eMP
AL, PORT_A
AL,O
GET THE RESULTS OF INTERFACE TEST
I S THE I NTERFACE OK?
0639
74 DB
JZ
F6C
,
063B
80 OE 0016 R 10
OR
MFG_ERR_FLAG+l, KY_SYS_FA I L: <><><><><><><><><><><><><><>
; <><> KEYBOARD!SYSTEM<><><><><>
0640
BE 0000 E
MOV
SI,OFFSET F1_A
PLANAR FA I LURE
0643
EB 09 90
JMP
F6D
GO I F YES
0646
BE 0000 E
F6C:
MOV
SI,OFfSET Fl
GEl MSG AODR
0649
80 OE 0016 R 20
OR
MFG_ERR_FLAG+l , KYBD_FA I L; <><><><><><><><><><><><><><><>
; <><> KEYBOARD FA I LEO<><><><><>
064 E
E8 0000 E
F6D:
CALL
;
PRINT MSG ON SCREEN
;------­ INITIALIZE 8042 TO HONOR KEY LOCK
5-60 Test 2

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents