LOC
OBJ
LINE
SOURCE
E6BS
E661
1275
OUT
E687
C3
1276
RET
;RETURN
TO
CALLER
1277
BEEP EtlDP
1278
1--------------------------------------------
1279
THIS
PROCEDURE
WILL
SEND
A SOFTWARE RESET
TO
THE KEYBOARD.
1280 SCAN
CODE
AA'
SHOULD
BE
RETURNED
TO
THE
CPU.
1281
;
--------------------------------------------
E688
1282
PROC
NEAR
E688
BOOC
1283
AL,OCH
;SET
KBD
CLK
LINE
LOW
£6810.
E661
1284
PORT.B,AL
;WRITE
8255
PORT
B
f68t
695629
1285
MOY
CX,
10582
;HOLO
KBD
CLK
LOW
FOR
20
MS
E6aF E2FE
1286
G8:
LOOP
G8
,LOOP
FOR
20
MS
£691 Boce
1287
MOV
AL.OCCH
,SET
CLK,
ENABLE
LINES
HIGH
E693 E661
1288
OUT
PORT.B.AL
£695
1289
SP
_TEST:
I
ENTRY
FOR
I1AHUFACTURING TEST 2
£695
B04C
1290
HOV
AL.4CH
,SET
KBD
CLK
HIBH.
ENABLE
LOW
£697
E661
1291
OUT
PORT.B.AL
E699
SOFO
1292
HOV
AL,OFOH i ENABLE
KEYBOARD
INTERRUPTS
E695
£62.1
1293
OUT
INTAOl.AL
,WRITE
8259
IMR
E690 FB
1294
STI
iENABLE SYSTEM INTERRUPTS
£69£
6400
1295
HOV
AH.O
,RESET INTERRUPT IUDICATOR
£6AO
28C9
1296
sua
CX.CX
,SETUP INTERRUPT TIMEOUT
CNT
f6A2
F6C4FF
1297
G9:
TEST AH,
OFFH
iDID
A
KEYBOARD
INTR
OCCUR~
£610.5
750Z
1298
Jtll
GI0
;YES
-
READ
SCAN
COOE
RETtmNED
£6A7
E2F9
1299
LOOP
G9
INa
-
LOOP
TILL
TIMEOUT
£6A9
£460
1300
GI0:
IN
AL,PORT.A
!READ
KEYBOARD
SCAN
CODE
E6AB
810.08
1301
HOV
BL,AL
,SAVE
SCAN
CODE
JUST
READ
E6AD
Boce
1302
HOV
AL,OCCH ,CLEAR
KEYBOARD
E6AF
E661
1303
OUT
PORT.B,AL
E6Bl
C3
1304
RET
IRETURN
TO
CALLER
1305
KBD.RESET
ENDP
1306
1307
BLINK
LED
PROCEDURE
FOR
t1FG
BURN-IN
AND
RUN-IN
TESTS
1308
(LED
WILL
BLINK
APPROXIMATELY.
25 SECOND)
1309
i - - - -
---
- - - - - -
--
---
--------------------
- - - -
--
f662
1310
BLIN'CINT
PROC
NEAR
f682
FB
1311
STI
E683
51
1312
PUSH
ex
I
SAVE
CX
REG
CONTENTS
£684
50
1313
PUSH
AX
;SAVE
AX
REG
CONTENTS
E685
£461
1314
IN
AL,PORT_B
;READ
CIJR'RENT
VAL
OF
PORT
8
E6B7
24BF
1315
AND
AL.OBFH
£689
E661
1316
OUT
PORT_B,AL
!BLINK
LED
EbBS
28C9
1317
SUB
CX,CX
E6BD
E2FE
1318
Gl}:
LOOP
G11
E68F
OC40
1319
OR
AL,40H
ISTOP
BLINKING
LEO
fbCl
E661
1320
OUT
PORT_B,AL
£6C3
B020
1321
HOV
AL,EOI
f6C5
£62:0
1322
OUT
INTAOO.AL
f6C7
58
1323
POP
AX
,RESTORE
AX
REG
f6e8
59
1324
POP
CX
!RESTORE
CX
REG
E6C9 CF
1325
IRET
1326
1327
;
-----------
-----------------------------
----
1328
THIS
SUBROUTINE
WILL
PRINT
A
MESSAGE
ON
THE
DISPLAY
1329
1330
!ENTRY REQUIREMENTS:
1331
51
:::
OFFSETCADORESS)
OF
MESSAGE
BUFFER
1332
CX
=
MESSAGE
BYTE
COUNT
1333
MAXIMUM
MESSAGE
LENGTH
IS
36 CHARACTERS
1334
;
--------------------------------------------
E6CA
1335
E6CA
884000
1336
HOV
AX,DATA I
POINT
OS
TO
DATA
SEG
E6eD
8E08
1337
HOV
OS,AX
E6CF
803£120001
1338
CHP
MFG.TST
.1
IMFG TEST
MODE?
£604
7505
1339
JNE
G12
;NO -
DISPLAY
ERROR
M5G
E6D6
B601
1340
HOV
OH,1
;
YES
- SETUP
TO
BEEP SPEAKER
~
Eb08 E95SFF
1341
JMP
ERR.BEEP
;
YES
- BEEP SPEAKER
EbDB
1342
G12:
;
WRITCMSG:
E6DB
2E8A04 13
l
.3
NOV
AL,CS:(SIl
;
PUT
CHAR
IN
AL
E60E
46
1344
INC
SI
; POINT
TO
NEXT
CHAR
E60F
B700
1345
MOV
FJ;H,O
;SET
PAGE
#
TO
ZERO
f6E1
840£
1346
MOV
AH.14
;~RITE
CHAR
{TTY-INTERFACE)
E6El
COlO
1347
HIT
10H
iCALL
VIDEO.IO
f6E5
E2F4
1348
lOOP G12
; CONTINUE
TI
lL
"SG
WRITTEN
f6E7
B80DOE
1349
MOV
AX,
OEODH
;
POSITION
CURSOR
TO
NEXT
LINE
f6EA
COlO
1350
INT 10H
;SeNO CARRIAGE
RETURN
AND
A-19