    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 A<T(B) 
  353 GOSB 840
  354 SKIF A>U(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
                                                                                                                                                                                            