;
CRT INTERFACE LINES TEST
; DESCRIPTION
t
SENSE ON / OFF TRANS I T I ON OF THE
I
V IDEO ENABLE AND HOR I ZONT AL
I
SYNC LI NES.
t
.
----
- ------- - - - -
--
- - --
--
- - -
------
-
-
--
----- - - -
--- --
---
-
--
8259 I NTERRUPT CONTROLLER TEST
DESCR I PT I ON
READ/WRITE THE INTERRUPT MASK REGISTER
(IMRI
;
WITH ALL ONES AND ZEROES. ENABLE SYSTEM
INTERRUPTS.
MASK DEV I CE I NTERRUPTS OFF. CHECK
;
FOR HOT INTERRUPTS
(UNEXPECTED I •
;----- CHECK FOR HOT INTERRUPTS
INTERRUPTS ARE MASKED OFF.
CHECK THAT NO INTERRUPTS OCCUR.
MOV
DATA_AREA[OINTR_FLAG-DATA40] ,AL ; CLEAR INTERRUPT FLAG
ST I
; ENABLE EXTERNAL INTERRUPTS
SUB
CX,CX
; WAIT 1 SEC FOR ANY INTRS THAT
5-89
ENABLE V IDEO AND SET MODE
VIDEO
WRT BLANKS I N REVERSE V IDEO
SETUP START I NG LOC
NO. OF BLANKS TO DISPLAY
WR I TE V IDEO STORAGE
GET V IDEO SENSE SW INFO
SAVE IT
B/W CARD ATTACHED?
SETUP ADDR OF BW STATUS PORT
YES -
GO TEST LI NES
COLOR CARD I S ATT ACHED
LlNE_TSTI
; OFLOOP_ CNT t
READ CRT STATUS PORT
CHECK VIDEO/HORZ LINE
I TS ON -
CHECK NEXT LINE
LOOP I F OFF
TI LL I T GOES ON
CRT_ERR I
;
<><><>CRT ERR CHKPT. 06<><><>
; PO I NT TO NEXT 2K BLOCK
TOP OF V IDEO ROM AREA YET?
GO SCAN FOR ANOTHER MODULE
; READ CRT STATUS PORT
; CHECK V IDEO/HORZ LINE
;
ITS ON -
CHECK IF IT GOES OFF
; LOOP TILL ON OR TIMEOUT
; GO PR I NT ERROR MSG
; MIGHT OCCUR
READ IMR
IMR
=
O?
GO TO ERR ROUTINE IF NOT 0
o
I SABLE DEV I CE INTERRUPTS
WRITE TO IMR
READ IMR
;
ALL IMR BIT ON?
; NO -
GO TO ERR ROUT INE
; GO BEEP SPEAKER
NXT LlNEI
GET-NEXT BIT TO CHECK
GO CHECK HOR I ZONT AL LINE
01 SPLAY CURSOR I
GET V IDEO SENSE SWS
(AH)
SET MODE AND 0 I SPLA Y CURSOR
CALL VIDEO I/O PROCEDURE
;
SEE I F ADVANCED V IDEO CARD
;
I S PRESENT
; GET FIRST 2 LOCATIONS
LET BUS SETTLE
PRESENT?
NO? GO LOOK FOR OTHER MODULES
GO SCAN MODULE
; HALT THE SYSTEM
; 01 SPLAY 101 ERROR
POST (01/10/86)
1-6
01-10-86
AH,8
AX
AX
AH,30H
DX,03BAH
Ell
DX,03DAH
AL,O
INTAO 1 ,AL
AL, INTAO 1
AL,AL
06
AL,OFFH
INTA01,AL
AL,INTAOI
AL,I
06
CL,3
AH,CL
EI2
AX
AH,O
10H
CX,CX
AL,DX
AL,AH
E14
E13
SHORT EI7
AL,DX
AL,AH
E16
E15
OS
OS
DSIOMFG ERR FLAG,06H
DX,102H-
-
ERR BEEP
SHORT E18
DATA AREA [OMFG ERR FLAG-DATA40], 05H
-
-
-
;
<><><><><><><><><><><><>
;
<><><>CHECKPO I NT 5<><><>
;
SET I MR TO ZERO
DX,0080H
DX,OC800H
E18A
04
DX,OCOOOH
DS,DX
BX,BX
AX, [BX]
BX
BX
AX,OAA55H
E18B
ROM CHECK
SHORT E18C
S I ,OFFSET EO
E_MSG
MOV
SUB
CX,CX
POP
PUSH
CMP
MOV
JE
MOV
MOV
SUB
IN
AND
JNZ
LOOP
JMP
MOV
SHR
JNZ
POP
MOV
INT
IN
AND
JZ
LOOP
POP
PUSH
MOV
MOV
CALL
JMP
MOV
OUT
IN
OR
JNZ
MOV
OUT
IN
ADD
JNZ
MOV
SUB
MOV
PUSH
POP
CMP
JNZ
CALL
JMP
ADD
CMP
JL
MOV
CALL
CLI
HLT
LOOP
05
CMP
DATA_AREA[OINTR_FLAG-DATA40] ,OOH
;
ANY INTERRUPTS OCCUR?
JZ
07
; NO -
GO TO NEXT TEST
LOOP
EI41
E151
E17:
E12:
E131
EI81
ASSUME
OS: ABSO
C211
POP
OS
;----- TEST THE IMR REGISTER
C21 A:
MOV
E161
Ell:
061
EI8B:
EI8C:
041
051
E18_11
EI8A:
02FO B4 00
MOV
AH,O
02F2 CD 10
INT
10H
02F4 B8 7020
MOV
AX,7020H
02F7 2B FF
SUB
01,01
02F9 B9 0028
MOV
CX,40
02FC F3/ AB
REP
STOSW
I BM Persona I Computer MACRO Assemb I er
Vers
i
on 2.00
POST ----- 01110/86
SYSTEM POST ANO BIOS PROCEDURES
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
02FE 58
581
02FF 50
582
0300 80 FC 30
583
0303 BA 03BA
584
0306 74 03
585
0308 BA 03DA
586
030B
587
030B B4 08
588
0300
589
0300 2B C9
590
030F
591
030F EC
592
03 I 0 22 C4
593
0312 75 04
594
0314 E2 F9
595
0316 EB 09
596
0318
597
0318 2B C9
598
031 A
599
031 A EC
600
031 B 22 C4
601
0310 74 1 1
602
031F E2 F9
603
0321
604
0321
IF
605
0322
1E
606
0323 C6 06 0015 R 06
607
0328 BA 0 I 02
608
032B E8
19A5 R
609
032E EB 06
610
0330
6110330Bl03
612
0332 02 EC
613
0334 75 07
614
0336
615
0336 58
6 16
0337 B4 00
617
0339 CD 10
618
033B
619
033B BA COOO
620
033E
621
033E 8E DA
622
0340 2B DB
623
0342 8B 07
624
0344 53
625
0345 5B
626
0346 3D AA55
627
0349 75 05
628
034B E8 1920 R
629
034E EB 04
630
0350
631
0350 81 C2 0080
632
0354
633
0354 81 FA C800
634
0358 7C E4
635
636
637
638
639
640
641
642
643
644
035A 1F
645
646
647
648
035B C6 06 0415 R 05
649
650
651
0360 BO 00
652
0362 E6 21
653
0364 E4 21
654
0366 OA CO
655
0368 75
1B
656
036A BO FF
657
036C E6 21
658
036E E4 21
659
0370 04 01
660
0372 75 11
661
662
663
664
665
666
0374 A2 046B R
667
0377 FB
668
0378 2B C9
669
037A
670
037A E2 FE
671
037C
672
037C E2 FE
673
037E 80 3E 046B R 00
674
0383 74 08
675
0385
676
0385 BE 18CC R
677
0388 E8 1976 R
678
038B FA
679
038C F4