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