1 FMT ("12005A ASYNCHRONOUS SERIAL INTERFACE DIAGNOSTIC"/) 2 REM (C) HEWLETT-PACKARD CO. ALL RIGHTS RESERVED 3 REM SERVICE #24397-16005 REV. 2001 4 PRNT 1 5 LET Z=0 6 GTSC 0 Z 7 GOSB 1440 8 GOTO 6 9 GOSB 745 10 REM CONTROL REGISTER CHECK 11 BUF 12 BUF P(8) E(2) S(5) T(15) U(15) V(15) L(30) 13 LET P(1)=@125052,@52525,0,@177577 14 LET A=1 16 GOSB 680 18 OTA @31 P(A) 20 LIA @31 C 22 SKIF P(A)=C 23 GOSB 750 24 LET A=A+1 26 SKIF A>4 27 GOTO 18 28 CLCC 0 30 CLF @2 32 LIA @31 C 34 SKIF C=0 35 GOSB 755 36 OTA @31 @177577 38 OTA @32 0 40 LIA @31 C 42 SKIF 0=C.@177400 43 GOSB 755 45 REM BREAK CHECK 46 LET Y=@170 48 GOSB 620 50 OTA @32 1 52 LET H=0 54 INT Z 630 56 OTA @31 @3170 58 STCC @30 60 LIA @32 B 62 SKIF 0=B.@6 63 GOSB 760 64 DLY 1000 66 STF 0 68 OTA @31 @3174 70 DLY 50 72 LIA @32 C 74 SKIF @40100=B.@40100*H 75 GOSB 760 76 SKIF 0=C.@40000 77 GOSB 760 78 DLY 1000 80 LIA @32 C 82 SKIF 0=C.@40000 83 GOSB 760 84 LET B=0 86 OTA @32 0 90 REM EIGHT-BIT AND SPECIAL CHARACTER RECOGNITION CHECK 94 LET P(1)=@43574,@103574,@143574 98 LET R=1 100 LET A=0 102 LET I=0 104 LET F=1 108 OTA @32 1 110 OTA @31 P(F) 112 OTAC @30 A 114 STCC @30 116 WFI Z 1000 117 GOSB 800 118 LIA @32 B 120 SFS @30 121 GOSB 800 122 LIA @30 C 124 SKIF A=C.@377 126 GOSB 800 128 SKIF @100100=B.@174100 129 GOSB 800 130 GOSB 690 132 LET F=F+1 134 GOSB 710 136 LET F=F+1 138 GOSB 730 140 LET A=A+1 142 SKIF A=@400 143 GOTO 104 144 SKIF 14=I*R 145 PRNT 1220 148 OTA @32 1 150 REM SEVEN BIT TRANSMISSION CHECK 152 OTA @31 @3174 154 LET D=0 156 LET C=0 158 LET A=D 160 OTAC @30 A 162 LET A=A.@177 164 STCC @30 166 WFI Z 1000 167 GOSB 800 168 LIA @32 B 170 SKIF @100101=B.@174101 171 GOSB 800 172 LIAC @30 C 174 SKIF A=C.@377 176 GOSB 800 178 LET D=D+1 180 SKIF D=@201 181 GOTO 158 185 REM DMA CHECK 186 OTA @32 1 188 OTA @31 @4 190 LET E(1)=@125125,0 192 LET P(1)=@165400,@3574,E(!),-2 194 LET P(5)=@61600,@3574,E(!)+1,-2 196 OTAC @20 P(!) 198 STCC @20 200 WFI Z 2000 201 GOSB 770 202 SFS @23 203 GOSB 770 204 SFS @20 205 GOSB 770 206 SFS @21 207 GOSB 770 208 SKIF E(1)=E(2) 209 GOSB 770 210 CLCC @23 212 LET E(1)=E(1)*-1-1 213 SKIF E(1)>0 214 GOTO 196 218 LET E(1)=@6400,0 219 LET P(1)=@71600,@43574,E(!)+1,-2 220 SKIF R=1 221 GOTO 236 222 OTA @32 1 223 OTAC @20 P(!) 224 OTAC @30 E(1) 225 STCC @20 226 WFI Z 2000 227 GOSB 770 228 SKIF P(4)=-1 230 GOSB 770 232 SKIF E(1)=E(2).@177400 234 GOSB 770 236 CLCC @23 240 REM BREAK-OVERRUN CHECK 242 OTA @32 1 244 OTA @31 @11170 246 OTAC @30 @25252 248 STCC @30 250 DLY 1000 252 LIA @32 C 254 LET C=C.@2 256 SKIF C=@2 258 GOSB 780 260 STC @30 261 STC @30 262 WFI Z 2000 263 GOTO 265 264 GOSB 780 265 LIA @32 C 266 SKIF @4000=C.@4000 267 GOSB 780 268 OTA @31 @11174 269 WFI Z 2000 270 GOSB 780 271 LIA @32 C 272 SKIF @44000=C.@44000 273 GOSB 780 274 STCC @30 275 WFI Z 2000 276 GOSB 780 278 GOSB 740 279 GOTO 550 280 REM HOOD TESTS 281 GOSB 680 282 OTA @31 @1574 283 OTA @30 @125252 284 STCC @30 285 LIA @32 B 286 SKIF 0=B.@2 287 GOSB 810 288 WFI Z 1000 289 GOSB 810 290 SFS @30 291 GOSB 810 292 LIA @30 C 294 SKIF @52=C.@177 295 GOSB 810 296 REM BAUD RATE TEST 298 PRNT 1320 300 LET T(1)=1003,669,458,375,336 301 LET T(6)=169,86,58,44,30 302 LET T(11)=25,17,13,10,8 303 LET V(1)=50,75,110,134,150 304 LET V(6)=300,600,900,1200,1800 305 LET V(11)=2400,3600,4800,7200,9600 306 LET U(1)=999,665,454,371,332 307 LET U(6)=165,82,54,40,26 308 LET U(11)=21,13,9,6,4 310 LET B=1 312 LET J=@5014 314 OTA @32 0 316 LET Y=J 317 GOSB 620 318 PRNT 1330 V(B) 320 INT Z 0 322 LET A=0 324 CLF @30 326 LET P(1)=@60400,L(!),-50 330 IBP L(1) L(30) PA 1300 332 LET H=0 334 INT 6 640 336 CLCC @21 338 CLCC @23 340 STF 0 341 STCC 6 342 OTAC @20 P(!) 343 SKIF H=1 344 GOTO 343 345 STCC @20 346 STF 0 347 REM ALLOW TIME FOR TBG INT. 348 SFS @20 349 GOTO 346 350 CLF 0 351 CLC 6 352 SKIF AU(B) 355 GOSB 840 356 LET J=J+@10 358 LET B=B+1 360 CLCC @23 362 SKIF B=16 363 GOTO 314 364 CLF 0 366 INT Z 0 368 INT 6 0 370 PRNT 1340 371 LET H=0 372 LET Y=@7004 373 GOSB 620 374 OTA @32 1 375 OTA @31 @3004 376 OTA @30 @125 378 STCC @30 380 WFI Z 100 381 GOSB 840 382 LIAC @30 C 383 SKIF @125=C.@377 384 GOSB 840 385 OTA @31 @3000 386 OTA @31 @3004 387 SFS @30 388 GOSB 840 389 PRNT 1350 390 REM PARITY ERROR TEST 392 LIAC @30 C 394 OTA @32 0 396 INT Z 630 398 LET H=0 400 OTAC @30 @176 402 OTA @31 @23014 404 STF 0 406 STCC @30 408 OTA @31 @22010 410 DLY 15 412 OTA @31 @22014 414 DLY 2500 416 SKIF H=1 417 GOSB 845 418 SKIF @20000=B.@160000 419 GOSB 845 420 REM PARITY SENSE CHECK 422 OTA @32 1 424 LET Y=@17175 425 GOSB 620 426 OTAC @30 @125 428 STCC @30 430 WFI Z 2000 431 GOSB 860 432 LIAC @30 C 434 SKIF @125=C.@377 435 GOSB 860 438 OTA @32 0 440 REM MODEM CHECK 442 LET V(1)=@367,@357,@347,@277 443 LET V(5)=@1214,@1224,@1244,@1304 445 INT Z 0 446 LET Y=@5014 447 GOSB 620 448 OTA @31 @17 450 LIA @32 B 452 SKIF @3070=B.@3070 453 GOSB 850 454 OTA @31 @1014 456 OTAC @30 0 458 STCC @30 460 DLY 10 462 LIA @32 B 464 SKIF 0=B.@3070 465 GOSB 850 466 WFI Z 1500 467 GOSB 850 468 LET C=1 470 OTA @32 0 472 CLF @30 474 OTA @31 @177 476 SFC @30 477 GOSB 850 478 OTA @31 @377 480 DLY 1 482 SFC @30 484 GOSB 850 486 OTA @31 V(C) 488 SFS @30 489 GOSB 850 490 LIA @32 B 492 OTA @31 @177 494 SKIF 0=B.@100 495 GOSB 850 496 LET C=C+1 498 SKIF C>4 499 GOTO 470 500 OTA @32 0 502 CLF @30 504 OTAC @30 0 506 OTA @31 @1004 508 SFC @30 509 GOSB 850 510 OTA @31 @1204 512 OTA @31 V(C) 514 STC @30 516 DLY 100 518 SFS @30 519 GOSB 850 520 LIA @32 B 522 OTA @31 @1004 524 LET B=B.@100 526 SKIF B=0 528 GOSB 850 530 LET C=C+1 532 SKIF C>8 533 GOTO 500 550 REM DIAGNOSTIC COMPLETE 552 OTA @2 0 554 STF @2 556 CLCC 0 558 GOTO 1999 600 OTA @31 P(F) 601 LIA @32 G 604 SKIF 0=G.@200 605 RTN 607 RTN 1 620 OTA @31 Y 621 DLY 40 622 LET Y=Y-@4000 623 OTA @31 Y 624 RTN 630 CLF 0 632 SFS @30 633 GOSB 760 635 LET H=1 636 LIA @32 B 637 RTN 640 CLF 0 641 LET H=1 642 LET A=A+1 644 SKIF A<2000 645 GOSB 840 646 RTN 680 CLCC 0 682 OTAC @2 Z 684 RTN 690 LET S(1)=@4,@10,@15,@22,@177 692 GOSB 600 693 RTN 694 LET S=1 696 SKIF S(S)#C.@177 697 GOTO 705 698 LET S=S+1 700 SKIF S=6 701 GOTO 696 702 LET R=0 704 RTN 705 LET I=I+1 706 RTN 710 GOSB 600 711 RTN 712 SKIF @36#C.@177 713 GOTO 716 714 LET R=0 715 RTN 716 LET I=I+1 717 RTN 730 GOSB 600 731 RTN 732 SKIF @15#C.@177 733 GOTO 736 734 LET R=0 735 RTN 736 LET I=I+1 737 RTN 740 SKIF M=0 741 RTN 1 742 PRNT 1230 743 RTN 745 LET M=1 746 HOOD 747 LET M=0 748 RTN 750 PRNT 1000 752 GOTO 804 755 PRNT 1010 756 GOTO 804 760 PRNT 1050 762 GOTO 804 770 PRNT 1100 772 GOTO 804 780 PRNT 1250 782 GOTO 804 800 PRNT 1150 802 PRNT 1151 A B C 804 OTA @2 0 806 STF @2 808 STOP 810 PRNT 1260 811 GOTO 804 820 PRNT 1270 821 GOTO 804 830 PRNT 1280 831 GOTO 804 840 PRNT 1310 842 GOTO 804 845 PRNT 1360 846 GOTO 804 850 PRNT 1370 851 GOTO 804 860 PRNT 1400 861 GOTO 804 1000 FMT ("ERROR - CONTROL REGISTER CHECK"/) 1010 FMT ("ERROR - CARD RESET"/) 1050 FMT ("ERROR - BREAK FEATURE CHECK"/) 1100 FMT ("ERROR - DMA CHECK FAILURE"/) 1150 FMT ("ERROR - TRANSMISSION"/) 1151 FMT ("DATA OUT="K6" STATUS="K6" DATA IN="K6/) 1200 FMT ("SPECIAL CHARACTER RECOGNITION"/) 1205 FMT ("ASCII CHR.(OCT) T1 T2 T3"//) 1210 FMT (11X,K3,4X,A2,5X,A2,4X,A2/) 1220 FMT ("WARNING - NON-STANDARD ROM INSTALLED"/) 1230 FMT ("HOOD TESTS NOT EXECUTED"/) 1250 FMT ("ERROR - BREAK/OVERRUN CHECK"/) 1260 FMT ("ERROR - HOOD TRANSMISSION TEST"/) 1300 ASC THIS IS A BAUD RATE TEST PATTERN!!!!!!!!!! 1310 FMT ("ERROR - BAUD RATE GENERATOR TEST"/) 1320 FMT (/"BAUD RATE TEST"/) 1330 FMT ("BAUD RATE UNDER TEST = "I4/) 1340 FMT ("EXTERNAL CLOCK SOURCE TEST"/) 1350 FMT ("BAUD RATE TEST COMPLETE"//) 1360 FMT ("ERROR - PARITY ERROR"/) 1370 FMT ("ERROR - MODEM CHECK"/) 1400 FMT ("ERROR - PARITY OR STOP-BIT CHECK"/) 1410 FMT ("CARD IS VCP. TEST NOT EXECUTED"/) 1440 SKIF Z=@20 1442 RTN 1 1450 GOSB 680 1451 OTA @2 @2 1452 LIA @2 B 1453 OTA @2 0 1455 SKIF @10000=B.@10000 1456 RTN 1 1457 PRNT 1410 1458 RTN 1500 PRGM A TERMINAL-12005A INTERFACE COMMUNCICATION TEST 1502 LET Z=0 1505 GTSC 0 Z 1510 BUF 1520 BUF A(40) B(40) C(40) D(40) Q(40) 1530 IBP A(1) A(24) PA 1500 1532 IBP A(25) A(40) CL 1534 LET A(1)=0 1540 LET A(39)=@6412 1545 IBP B(1) B(21) PA 1550 1547 IBP B(22) B(40) CL 1550 REM TYPE TWENTY CHARACTERS ON THE KEYBOARD NOW 1555 LET B(39)=@6412 1560 IBP D(2) D(14) PA 1565 1561 LET D(1)=@6412 1562 IBP D(15) D(39) CL 1565 REM TIC-TERMINAL TEST COMPLETE 1570 LET D(40)=@6412 1580 LET Q(1)=@161400,@1000,A(!),-80 1585 LET Q(5)=@161400,@1000,B(!),-80 1590 LET Q(9)=@71200,@46000,C(!),-20 1598 LET Q(13)=@61400,@1000,D(!),-80 1600 GOSB 680 1601 INT Z 1650 1602 OTAC @20 Q(!) 1603 LET H=0 1604 STF 0 1605 STCC @20 1608 DLY 32767 1610 SKIF H=0 1611 GOTO 1505 1616 CLF 0 1617 CLCC @23 1618 PRNT 1699 1620 STOP 1650 CLF 0 1651 SFS @20 1652 GOTO 1618 1653 CLCC @21 1654 STCC @20 1655 WFI Z 2000 1656 STOP 1657 CLCC @23 1658 LET C=20+Q(12) 1659 PRNT 1698 C 1660 LET H=1 1662 RTN 1698 FMT (I2" CHARACTERS RECEIVED"/) 1699 FMT (/"TEST FAILURE"/) 1700 PRGM B SPECIAL CHR. TEST 1701 LET Z=0 1702 GTSC 0 Z 1703 GOSB 1440 1704 GOTO 1701 1705 PRNT 1200 1706 PRNT 1205 1707 GOSB 680 1708 BUF 1710 BUF P(3) F(3) 1712 LET P(1)=@43574,@103574,@143574 1714 OTA @32 1 1716 OTA @31 @3574 1718 LET A=0 1722 LET R=0 1723 LET F=1 1724 LET F(1)=0,0,0 1725 OTAC @30 A 1726 STCC @30 1728 WFI Z 2000 1729 STOP 1730 GOSB 600 1731 GOTO 1734 1732 LET F(F)=$X 1733 LET R=1 1734 LET F=F+1 1735 SKIF F=4 1736 GOTO 1730 1738 SKIF R=0 1739 PRNT 1210 A F(1) F(2) F(3) 1740 LET A=A+1 1742 SKIF A=@400 1743 GOTO 1722 1744 GOTO 1702 1999 GOTO 6