   1 FMT  ("12006A PARALLEL INTERFACE DIAGNOSTIC"/) 
   2 REM  (C) COPYRIGHT HEWLETT-PACKARD CO. ALL RIGHTS RESERVED 
   3 REM  SERVICE #24397-16006 REV. 2001
   4 PRNT 1 
   5 BUF  C(30) T(10) M(55) P(10) S(2048) Q(50) 
   6 LET  H=0 
   7 LET  Z=0 
  12 GTSC @1000 Z 
  13 CLCC @0  
  15 HOOD 
  18 GOTO 24  
  21 LET  H=1 
  24 OTAC @2 Z  
  30 LIA  @32 T(1)  
  31 LET  M=T(1).@7400  
  32 LET  M=M/256 
  33 LET  E=T(1).@20  
  36 PRNT 1801  
  39 SKIF E=0 
  42 GOTO 1802  
  45 GOTO 1805  
  50 REM  ON-LINE SECTION 
  57 LET  C=@100212 
  60 OTA  @31 @100212 
  63 GOSB 1580  
  66 LET  C=@5  
  69 OTA  @31 C 
  72 GOSB 1580  
  75 REM  TEST BITS 6,12,13 OF 32 
  81 LIA  @32 T(3)  
  84 SKIF @20000=T(3).@20000  
  87 GOSB 1826  
  90 LET  T(4)=T(3).@10000  
  93 SKIF T(4)=0  
  96 GOSB 1898  
  99 LET  T(4)=T(3).@100  
 102 SKIF T(4)=0  
 105 GOSB 1832  
 106 OTA  @31 M 
 108 SKIF H=1 
 111 GOTO 12  
 114 REM  MAIN PROGRAM OFF-LINE SECTION 
 117 REM  CARD RESET TEST 
 120 OTA  @30 @177777 
 123 OTA  @31 @100217 
 126 LIA  @32 T(4)  
 129 OTA  @32 0 
 132 LIA  @30 T(1)  
 138 LIA  @32 T(3)  
 141 SKIF T(1)=0  
 144 GOSB 1841  
 150 LET  T(5)=T(3).@107617 
 153 SKIF T(5)=0  
 156 GOSB 1841  
 158 LET  T(4)=T(4).@70160  
 159 SKIF T(4)#0  
 162 GOSB 1844  
 165 REM  SNS TEST
 168 CLF  @30 
 171 LET  R=0 
 174 LET  T(4)=@25  
 177 LET  T(5)=@52525 
 180 OTA  @31 @20 
 183 OTA  @30 T(5)  
 186 LIA  @30 T(6)  
 189 SKIF T(5)=T(6) 
 192 GOSB 1847  
 195 OTA  @31 T(4)  
 198 LIA  @32 T(8)  
 201 LET  T(9)=T(8).@17 
 204 LET  T(3)=T(4).@17 
 207 SKIF T(3)=T(9) 
 210 GOSB 1850  
 213 SKIF R=0 
 216 GOTO 231 
 219 LET  R=1 
 222 LET  T(5)=@125252  
 225 LET  T(4)=@32  
 228 GOTO 180 
 231 REM  I/O DRIVER TEST 
 234 OTA  @32 0 
 237 LET  C=@102012 
 240 LET  P=@52525  
 243 GOSB 1400  
 246 GOSB 1500  
 249 GOSB 1580  
 252 LET  C=@102005 
 255 LET  P=@125252 
 258 GOSB 1400  
 261 GOSB 1500  
 264 GOSB 1580  
 267 LET  C=@102032 
 270 LET  P=@52525  
 273 GOSB 1400  
 276 GOSB 1500  
 279 GOSB 1580  
 282 LET  C=@102025 
 285 LET  P=@125252 
 288 GOSB 1400  
 291 GOSB 1500  
 294 GOSB 1580  
 297 REM  DRM TEST
 300 OTA  @32 0 
 303 OTA  @30 @52525  
 306 LIA  @30 T(5)  
 309 SKIF T(5)=@52525 
 312 GOSB 1835  
 315 OTA  @31 @4040 
 318 OTAC @30 @52525  
 321 STC  @30 
 324 LIA  @30 T(5)  
 327 OTAC @30 @125252 
 330 LIA  @30 T(6)  
 333 SKIF T(6)=T(5) 
 336 GOSB 1814  
 339 REM  SRM TEST
 342 OTA  @32 0 
 345 OTA  @31 @104212 
 348 LIA  @32 T(5)  
 351 LET  T(6)=T(5).@107617 
 354 SKIF T(6)=@105212  
 357 GOSB 1838  
 360 OTA  @31 @4100 
 363 STC  @30 
 366 LIA  @32 T(5)  
 369 OTA  @31 @4177 
 372 LIA  @32 T(6)  
 375 SKIF T(6)=T(5) 
 378 GOSB 1817  
 379 REM  IRQEN TEST
 381 IBP  S(1) S(2048)  IN  
 384 IBP  M(1) M(50)  CL  
 387 CLF  @30 
 390 OTA  @31 @400  
 393 SFS  @30 
 402 GOTO 411 
 405 GOSB 1820  
 411 OTA  @31 @401  
 414 SFS  @30 
 417 GOSB 1823  
 420 REM  DFF TEST
 423 OTA  @32 0 
 426 OTA  @31 @4000 
 429 CLCC @30 
 432 LIA  @32 T(2)  
 435 LET  T(3)=T(2).@100  
 438 SKIF T(3)=0  
 441 GOSB 1832  
 444 STC  @30 
 447 LIA  @32 T(2)  
 450 LET  T(3)=T(2).@100  
 453 SKIF T(3)#0  
 456 GOSB 1832  
 459 REM  PLV TEST
 462 OTA  @32 0 
 465 OTA  @31 @12000  
 468 CLCC @30 
 471 LIA  @32 T(1)  
 474 LET  T(2)=T(1).@40 
 477 STC  @30 
 480 LIA  @32 T(3)  
 483 LET  T(4)=T(3).@40 
 486 SKIF T(4)=T(2) 
 489 GOSB 1832  
 492 OTA  @31 @4000 
 495 LIA  @32 T(1)  
 498 LET  T(2)=T(1).@40 
 501 STCC @30 
 504 LIA  @32 T(3)  
 507 LET  T(4)=T(3).@40 
 510 SKIF T(4)#T(2) 
 513 GOSB 1877  
 516 REM  SRQ LINE AND FLAG LINE TEST 
 519 OTA  @32 0 
 522 CLCC @30 
 525 LIA  @32 T(1)  
 528 LET  T(2)=T(1).@40 
 531 SKIF E=0 
 534 GOTO 552 
 537 SKIF T(2)=0  
 540 GOSB 1877  
 546 OTA  @31 0 
 549 GOTO 561 
 552 SKIF T(2)#0  
 555 GOSB 1832  
 558 OTA  @31 @10000  
 561 STC  @30 
 564 SFS  @30 
 567 GOSB 1901  
 570 REM  DFS AND DCL TEST
 573 SKIF E=0 
 576 GOTO 585 
 579 LET  P(1)=@10000,@14000  
 582 GOTO 588 
 585 LET  P(1)=@0,@4000 
 588 OTA  @32 0 
 591 CLCC @30 
 594 OTA  @31 P(1)  
 597 STCC @30 
 600 LIA  @32 T(1)  
 603 LET  T(2)=T(1).@100  
 606 OTA  @31 P(2)  
 609 LIA  @32 T(3)  
 612 LET  T(4)=T(3).@100  
 615 SKIF T(4)#T(2) 
 618 GOSB 1907  
 621 SFS  @30 
 623 GOSB 1904  
 625 REM  LBYEN TEST
 626 REM  SET UP DMA
 628 OTA  @32 0 
 630 OTAC @21 @40200  
 632 OTA  @22 S(!)  
 634 OTAC @23 @176030 
 636 GOSB 1628  
 638 STCC @21 
 640 WFI  Z 1000  
 642 GOSB 1890  
 644 OTA  @32 0 
 645 OTAC @21 @200  
 647 OTA  @22 S(!)  
 649 OTAC @23 @177775 
 651 LET  V=V+1000  
 653 STCC @21 
 655 STCC @30 
 657 OTA  @31 V 
 659 STCC @30 
 661 STCC @30 
 663 CLCC @21 
 665 LIA  @23 D 
 669 SKIF D=0 
 672 GOSB 1892  
 673 OTA  @32 0 
 675 OTAC @21 @200  
 678 OTA  @22 S(!)  
 681 OTAC @23 @177775 
 684 LET  V=V+@2  
 685 CLF  @30 
 687 STC  @21 
 690 STCC @30 
 692 OTA  @31 V 
 694 STCC @30 
 696 STCC @30 
 698 CLCC @21 
 702 LIA  @23 D 
 704 SKIF D#0 
 706 GOSB 1895  
 717 REM  BYTE PACKING AND PACK FF TEST 
 720 LIA  @32 Y 
 723 LET  T(1)=Y.@10000 
 726 SKIF T(1)=0  
 729 GOSB 1898  
 732 REM  50 WORD (100 BYTE) TRANSFER 
 735 IBP  M(1) M(50)  CL  
 738 IBP  Q(1) Q(50)  PA 739  
 739 ASC  THIS IS RANDOM DATA TO CHECK BYTE PACKING 
 741 CLCC 0 
 744 OTAC @2 Z  
 747 GOSB 1647  
 749 REM  THE FIRST WORD TRANSFERRED IS JUNK
 750 CPBF M(2) Q(1) 49 0  
 753 GOSB 1910  
 760 GOTO 12  
1400 REM  SUBROUTINE 1
1401 REM  CHECKS DATA REGISTERS 
1402 REM  PASS PARMS C (CONTROL WORD), P (PATTERN)
1409 OTA  @32 0 
1412 OTA  @31 C 
1415 OTAC @30 P 
1418 LIA  @30 R 
1421 SKIF P=R 
1424 GOSB 1808  
1427 LET  P=P*@2  
1430 SKIF P#0 
1433 RTN  
1436 GOTO 1415  
1500 REM  SUBROUTINE 2
1501 REM  COMPARES 0-3 & 7 OF 31 & 32 
1505 LIA  @32 S 
1508 LET  S(1)=S.@217 
1511 LET  T(1)=C.@217 
1514 SKIF T(1)=S(1) 
1517 GOSB 1811  
1520 RTN  
1580 REM  SUBROUTINE 3
1581 REM  COMPARES 0-3,7,15 OF 31 TO 7,8-11,15 OF 32
1586 LET  T(2)=C.@100200  
1589 LIA  @32 S 
1592 LET  S(2)=S.@107600  
1595 LET  T(3)=C.@17  
1598 LET  T(3)=T(3)*256 
1604 LET  T(5)=T(3)+T(2)  
1607 SKIF S(2)=T(5) 
1610 GOSB 1853  
1613 RTN  
1628 REM  SETUP 31 FOR F.S. DMA 
1630 SKIF E#0 
1632 GOTO 1636  
1634 GOTO 1642  
1636 LET  V=@14000  
1638 OTA  @31 V 
1640 RTN  
1642 LET  V=@2000 
1644 OTA  @31 V 
1646 RTN  
1647 REM  THIS SUB RUNS BYTE MODE MDMA
1648 SKIF E=0 
1650 GOTO 1658  
1652 LET  J=@10140  
1654 LET  K=@140  
1656 GOTO 1662  
1658 LET  J=@14140  
1660 LET  K=@4140 
1662 LET  X=1 
1664 OTA  @21 @20000  
1666 OTA  @22 Q(!)  
1668 OTAC @23 @177634 
1670 STC  @21 
1672 OTA  @31 J 
1683 STC  @30 
1685 LIA  @30 M(X)  
1686 OTA  @31 K 
1688 LIA  @32 T(3)  
1690 SKIF X#1 
1691 GOTO 1696  
1692 LET  T(4)=T(3).@30000  
1693 SKIF T(4)=@10000 
1694 GOSB 1913  
1696 LET  X=X+1 
1697 SKIF X<51  
1698 RTN  
1699 GOTO 1672  
1801 FMT  ("DEVICE COMMAND SENSE SWITCH--ACTIVE ")
1802 PRNT 1803  
1803 FMT  ("HIGH"/) 
1804 GOTO 50  
1805 PRNT 1806  
1806 FMT  ("LOW"/)
1807 GOTO 50  
1808 PRNT 1809  
1809 FMT  ("ERROR - DATA REG. FAILED"/) 
1810 STOP 
1811 PRNT 1812  
1812 FMT  ("ERROR - IN COMMON BITS OF REG. 31 AND 32"/) 
1813 STOP 
1814 PRNT 1815  
1815 FMT  ("ERROR - DATA REG. DID NOT LATCH"/)
1816 STOP 
1817 PRNT 1818  
1818 FMT  ("ERROR - STATUS REG. DID NOT LATCH"/)
1819 STOP 
1820 PRNT 1821  
1821 FMT  ("ERROR - IRQEN CAUSES ERRONEOUS INTERRUPT"/) 
1822 STOP 
1823 PRNT 1824  
1824 FMT  ("ERROR - IRQEN DOES NOT CAUSE INTERRUPT"/) 
1825 STOP 
1826 PRNT 1827  
1827 FMT  ("ERROR - DMAON FLIP FLOP FAILED"/) 
1828 STOP 
1832 PRNT 1833  
1833 FMT  ("ERROR - DEVICE COMMAND FLIP FLOP FAILED"/)
1834 STOP 
1835 PRNT 1836  
1836 FMT  ("ERROR - DATA REG. NOT IN TRANSPARENT MODE"/)
1837 STOP 
1838 PRNT 1839  
1839 FMT  ("ERROR - STATUS REG. NOT IN TRANSPARENT MODE"/)
1840 STOP 
1841 PRNT 1842  
1842 FMT  ("ERROR - CARD RESET FAILED"/)
1843 STOP 
1844 PRNT 1845  
1845 FMT  ("ERROR - STATUS REG. FAILED"/) 
1846 STOP 
1847 PRNT 1848  
1848 FMT  ("ERROR - SNS DID NOT INVERT DATA BITS"/) 
1849 STOP 
1850 PRNT 1851  
1851 FMT  ("ERROR - SNS DID NOT INVERT STATUS BITS"/) 
1852 STOP 
1853 PRNT 1812  
1854 PRNT 1855  
1855 FMT  ("ERROR - INTERNAL PATH FAILURE"/)
1856 STOP 
1877 PRNT 1878  
1878 FMT  ("ERROR - IN DEVICE FLAG SIGNAL"/)
1879 STOP 
1889 PRNT 1890  
1890 FMT  ("ERROR - DMA DID NOT START"/)
1891 STOP 
1892 PRNT 1893  
1893 FMT  ("ERROR - PREMATURE TERMINATION OF DMA BY LBYEN"/)
1894 STOP 
1895 PRNT 1896  
1896 FMT  ("ERROR - LBYEN DID NOT TERMINATE DMA"/)
1897 STOP 
1898 PRNT 1899  
1899 FMT  ("ERROR - PACK FLIP FLOP FAILED"/)
1900 STOP 
1901 PRNT 1902  
1902 FMT  ("ERROR - SRQ FLIP FLOP FAILED"/) 
1903 STOP 
1904 PRNT 1905  
1905 FMT  ("ERROR - DFS LINE FAILED"/)
1906 STOP 
1907 PRNT 1908  
1908 FMT  ("ERROR - DCL LINE FAILED"/)
1909 STOP 
1910 PRNT 1911  
1911 FMT  ("ERROR - IN BYTE MODE DMA TRANSFER"/)
1912 STOP 
1913 PRNT 1914  
1914 FMT  ("ERROR - BYTE MODE DMA : PACK OR DMAON STATUS "/)
1915 STOP 
                                                                                                                                                                                