Listing of file='2201L' on disk='vmedia/mvp-diag-2.6.2.wvd.zip'
# Sector 3342, program filename = '2201L' 0010 REM . 2201LPTR-02 00-00 (11/14/77) 0020 REM MODIFIED THE SELECT SCREENS (1,1,84) 0410 DIM A$(2)47,A2$1,R1$10,D$49,A$20,B$26,B1$41,H1$2,C$26,R$10,R2$10 : GOSUB '0 0450 DEFFN'14 : GOSUB '133 : A$="12345678901234567890" : PRINT A$;A$;A$;A$;A$;STR(A$,1,3);" TAB REFERENCE LINE." : RETURN 0500 DEFFN'0 : RETURN CLEAR : GOSUB '130 : GOSUB 4800 : PRINT TAB(7);"SPECIAL FUNCTION KEYS AVAILABLE" : PRINT TAB(10);"1 - COMPLETE PRINTER TEST" : PRINT TAB(10);"2 - TABULATION TESTS" : PRINT TAB(10);"3 - UPPER/LOWER CASE,"; 0580 PRINT " BACKSPACE & UNDERSCORE" : PRINT TAB(10);"4 - PRINTABLE HEX CODES "; : PRINT "AND 93 CHARACTER SET" : PRINT TAB(10);"5 - PAPER MOTION TESTS" : PRINT TAB(10);"6 - REPEATEDLY OUTPUT 1 OR 2 CHARACTERS" 0630 PRINT TAB(9);"16 - PRINTER SUB-TEST MENU";HEX(0A) : PRINT TAB(9);"31 - EXIT PROGRAM"; : PRINT HEX(0A); 0640 PRINT AT(14,14); : GOSUB '133 : H1$=" " : LINPUT "KEY SF'" ? H1$ : SELECT PRINT 005(80) : GOTO 640 0690 DEFFN'1 : GOSUB '100("COMPLETE 2201-L") : GOSUB '20 : GOSUB '30 : GOSUB '40 : GOSUB '50 : STOP "END OF PRINTER DIAGNOSTIC" 0780 DEFFN'2 : GOSUB '100("TABULATION") 0800 GOSUB '20 : GOTO 800 0820 DEFFN'3 : GOSUB '100("UPPER/LOWER/BCKSPACE & UNDERSCORE") 0840 GOSUB '30 : GOTO 840 0860 DEFFN'4 : GOSUB '100("PRINTABLE HEX CODES") : FOR I=1TO 9 : PRINT HEX(0919); : NEXT I 0910 GOSUB '40 : GOTO 910 0930 DEFFN'5 : GOSUB '100("PAPER MOTION") 0950 GOSUB '50 : GOTO 950 0970 DEFFN'6 0980 GOSUB '60 : GOTO 980 1000 DEFFN'31 : LOAD T"@MENU" 1040 DEFFN'20 : GOSUB '133 : PRINT HEX(0A0D) : PRINT TAB(10);"TABULATION TEST SECTION" : PRINT "TESTING THE MECHANICAL TABING ABILITY FOR 156 POSITIONS" 1140 FOR I=1TO 156 : GOSUB '133 : PRINT HEX(201A); : NEXT I : PRINT HEX(0D) : FOR I=1TO 156 : GOSUB '133 : PRINT HEX(09); : NEXT I : GOSUB '130 : PRINT HEX(030A);TAB(10);"THE LAST COLUMN TABBED TO WAS COLUMN ";I;"." 1250 PRINT HEX(0A0A);TAB(10);"THERE IS A PROBLEM IN THE MECHANICAL TAB" : PRINT HEX(0A);TAB(10);"IF THE PRINT BALL IS NOT LOCATED IN POS 156" : PRINT HEX(0A0A0A);TAB(10);"ENTER KEY RETURN (EXEC) TO RESUME TEST" 1280 KEYIN H1$,1300,1280 : GOTO 1280 1300 IF H1$<>HEX(0D)THEN 1280 : PRINT HEX(03) : GOSUB '100(D$) : PRINT "INITIALIZING 2201-L TABULATION (HEX CODE 19)" : PRINT "CLEARING 156 TAB POSITIONS" : PRINT HEX(0A) : FOR I=1TO 156 : SELECT PRINT 215(156) : PRINT HEX(2019); : NEXT I : PRINT HEX(0D) 1420 PRINT HEX(0A0A) : PRINT "SET TAB AT COLUMNS 10,20,30,40,ETC TO 100" : PRINT "TAB TEST #1 TAB SET(HEX-1A), TAB(HEX-09) AND "; : PRINT "PRINT HIGH ORDER #'S (1)0,(2)0,(3)0...(9)0" : FOR I=9TO 109STEP 11 1490 PRINT TAB(I);HEX(1A); : NEXT I : PRINT : PRINT HEX(093109320933093409350936093709380939) : GOSUB '14 1610 PRINT HEX(0A0A) : PRINT "TAB TEST #2 CLEAR TABS 30 & 40"; : PRINT " SET TABS 25,35 & 45" : PRINT HEX(090909190919) : PRINT TAB(24);HEX(1A); : PRINT TAB(35);HEX(1A); : PRINT TAB(46);HEX(1A) 1700 PRINT HEX(0A) : PRINT HEX(0931093209320933093409350936093709380939) : GOSUB '14 : PRINT HEX(0A) : PRINT "TAB TEST #3 CLEAR ALL TABS AND TEST FOR NO TABS" : PRINT HEX(0A0A) : GOSUB '14 : FOR I=1TO 11 : PRINT HEX(0919); : NEXT I : IF VAL(H1$)=23THEN 1870 : SELECT PRINT 215(157) 1830 PRINT HEX(09);"X" : SELECT PRINT 215(157) : PRINT : PRINT "ERROR IF THIS LINE DOES NOT START IN COLUMN NO. 1 AND IF COLUMN 15 6 OF THIS LINE AND THE PREVIOUS LINE DOES NOT CONTAIN AN 'X'.";TAB(156);" X" 1870 RETURN 1890 DEFFN'30 : GOSUB '133 : PRINT HEX(0A0A) 1930 PRINT TAB(10);"CHARACTER, PRINT QUALITY AND CONSISTENCY TESTS SECTION" : PRINT HEX(0A0A) : PRINT "UPPER & LOWER CASE CHARACTER SET",, : PRINT "REPEAT THE FOLLOWING SEQUENCE TWICE" 1980 PRINT "ONE LINE OF (UPPER CASE), (LOWER CASE) AND "; : PRINT "ALTERNATING UPPER/LOWER CASE (AaBb ETC.)" : PRINT HEX(0A) : FOR K=1TO 2 : B$="ABCDEFGHIJKLMNOPQRSTUVWXYZ" : PRINT B$;B$;B$;B$ 2090 C$="abcdefghijklmnopqrstuvwxyz" : PRINT C$;C$;C$;C$ : FOR I=1TO 2 : FOR J=1TO 26 : PRINT STR(B$,J,1);STR(C$,J,1); : NEXT J : NEXT I : PRINT HEX(0A) : NEXT K : IF VAL(H1$)=20THEN 1930 2250 GOSUB '133 : PRINT HEX(0A0D) 2270 PRINT "BACK SPACE & UNDERSCORE TEST", : PRINT "PRINT UPPER AND LOWER CASE CHARACTER SET, " : PRINT TAB(32);"THEN BACK SPACE AND UNDERSCORE AS INDICATED." : PRINT HEX(0A) 2350 INIT(08)B1$ : B$="ABCDEFGHIJKLMNOPQRSTUVWXYZ" : C$="abcdefghijklmnopqrstuvwxyz" : GOTO 2470 2390 SELECT PRINT 415 : FOR J=1TO 2 : FOR I=1TO 26 : PRINT STR(B$,I,1);STR(C$,I,1); : NEXT I : NEXT J : RETURN : PRINT HEX(0A) 2470 GOSUB '133 : PRINT "UPPER CASE ONLY "; : GOSUB 2390 : PRINT HEX(20); : FOR I=1TO 52 : PRINT HEX(0808085F); : NEXT I : PRINT HEX(0D) : PRINT HEX(0A) : GOSUB '133 : PRINT "LOWER CASE ONLY "; : GOSUB 2390 : PRINT B1$;STR(B1$,1,11);B1$;STR(B1$,1,11); : FOR I=1TO 52 : PRINT HEX(205F) : NEXT I : PRINT HEX(0D) 2720 PRINT HEX(0A) : PRINT "TITLE BLOCK ONLY "; : PRINT B$,C$; : PRINT "* UNDERLINE TEST AREA *"; : FOR I=1TO 26 : PRINT HEX(08) : NEXT I : FOR I=1TO 26 : PRINT HEX(5F) : NEXT I : PRINT C$ : PRINT HEX(0D) : IF VAL(H1$)=21THEN 2250 : RETURN 2880 DEFFN'40 : PRINT HEX(0A) 2920 GOSUB '133 : PRINT HEX(0D) : PRINT "PRINTABLE HEX CODE CHARACTER TEST"; : PRINT " CODE (1E THROUGH 7A)" : PRINT HEX(0A0A) : INIT(1E)R$ : INIT(3D)R1$ : INIT(5C)R2$ : PRINT TAB(23);HEX(1A);TAB(34);HEX(1A);TAB(57);HEX(1A);TAB(68);HEX(1A);TAB (91);HEX(1A);TAB(102);HEX(1A) 3020 PRINT TAB(20);"HEX CODE";TAB(33);"CHARACTER";TAB(52);"HEX CODE";TAB(65);" CHARACTER";TAB(84);"HEX CODE";TAB(97);"CHARACTER" : FOR I=1TO 31 : PRINT HEX(09); : HEXPRINT STR(R$,1,1); : PRINT HEX(09); : PRINT R$;HEX(09); : HEXPRINT STR(R1$,1,1); : PRINT HEX(09); 3100 PRINT R1$;HEX(09); : HEXPRINT STR(R2$,1,1); : PRINT HEX(09); : PRINT R2$ : ADD(R$,01) : ADD(R1$,01) : ADD(R2$,01) : NEXT I : IF VAL(H1$)=23THEN 2920 : GOTO 3210 3210 GOSUB '133 3220 PRINT "93 CHARACTER SET-CODES 1E TO 7A (3RD CHARACTER IS \D220), SPACE CO DE" : PRINT HEX(0A0A) : A2$=HEX(1E) : B=0 : FOR I=1TO 93 : IF I<>48THEN 3290 : B=0 3290 B=B+1 : STR(A$(INT(I/48)+1),B)=A2$ : ADD(A2$,01) : NEXT I : FOR J=1TO 5 : SELECT PRINT 215(156) : PRINT A$(1);A$(2) : NEXT J : IF VAL(H1$)=22THEN 3210 : PRINT HEX(0A0A) : PRINT "LINE BUFFERING AND READABILITY TESTS" 3400 PRINT "5 LINES OF THE FOLLOWING HEX CODES WILL BE PRINTED,(2A),(55),AND ( 3F)" : PRINT "EXAMINE CHARACTERS FOR CONSISTENCY AND READABILITY" : PRINT HEX(0A) : FOR I=1TO 3 : ON I-1GOTO 3470,3490 : INIT(2A)C$ : GOTO 3500 3470 INIT(55)C$ : GOTO 3500 3490 INIT(3F)C$ 3500 FOR J=1TO 5 : GOSUB 3790 : NEXT J : PRINT HEX(0A) : NEXT I : PRINT HEX(0D) 3570 PRINT "BALL SOLENOID TEST" : PRINT "CHECK CHARACTERS FOR PRINT QUALITY AND CONSISTENCY" : PRINT HEX(0A) : FOR I=1TO 5 : ON I-1GOTO 3640,3660,3680,3700 : INIT(7A)C$ : A2$=HEX(5A) : GOTO 3710 3640 INIT(74)C$ : A2$=HEX(54) : GOTO 3710 3660 INIT(21)C$ : A2$=HEX(1F) : GOTO 3710 3680 INIT(6A)C$ : A2$=HEX(4A) : GOTO 3710 3700 INIT(3C)C$ : A2$=HEX(2D) 3710 GOSUB 3760 : PRINT HEX(0A) : NEXT I : IF VAL(H1$)=27THEN 3570 : GOTO 3810 3760 FOR J=2TO 26STEP 2 : STR(C$,J,1)=A2$ : NEXT J 3790 PRINT C$;C$;C$;C$;C$;C$ : RETURN 3810 PRINT "PRINTING OF ILLEGAL HEX CODES, CHECK FOR ABSENCE OF DOUBLE LINE-FE ED" : PRINT HEX(0A) : PRINT "PRINTING ILLEGAL HEX CODES" : A2$=HEX(7B) : FOR I=1TO 5 : GOSUB 3940 : ADD(A2$,01) : NEXT I : A2$=HEX(5C) : GOSUB 3940 : A2$=HEX(60) : GOSUB 3940 : RETURN 3940 PRINT A2$;"PRINTING ILLEGAL HEX CODE "; : HEXPRINT A2$ : RETURN 3970 DEFFN'133 : SELECT PRINT 215(156) : RETURN 4010 DEFFN'50 : GOSUB '133 : PRINT HEX(0D0A) : PRINT "SPECIAL PAPER MOTION HEX CODES "; : PRINT HEX(0A) : GOSUB '133 4120 PRINT "LINE FEED TEST #1 - (HEX CODE 0A)" : FOR I=1TO 7 : PRINT HEX(0A0A2D) : NEXT I : PRINT HEX(0A0A) : PRINT "ACCEPTABLE RESULT IS 7 DASHES "; : PRINT "VERTICALLY SPACED DOWN THIS PAGE." : IF VAL(H1$)=24THEN 4120 : PRINT HEX(0A0A0A0A) : GOSUB '133 4250 PRINT "LINE FEED TEST #2 - (HEX CODE 0A)" : PRINT HEX(0A2D2D2D2D2D0A) : FOR J=1TO 25 : PRINT HEX(0A) : NEXT J : PRINT HEX(2D2D2D2D2D0A) : PRINT "ACCEPTABLE RESULT IS 2 SETS OF 5 DASHES "; : PRINT "VERTICALLY SPACED DOWN THIS PAGE." 4330 IF VAL(H1$)=25THEN 4250 4390 PRINT HEX(0A) : GOSUB '133 4410 PRINT "PRINT 5 LINES OF 156 CHARACTERS PER LINE, "; : PRINT "UTILIZING THE HARDWARE C/R" : PRINT HEX(0A) : A$="123456789-123456789-" : FOR I=1TO 5 : PRINT A$;A$;A$;A$;A$;A$;A$; : PRINT "*LINE ENDS HERE*" : NEXT I : GOSUB '133 4500 PRINT HEX(0A0A0A) : PRINT "FIVE LINES OF 50 CHARACTERS ENDING THE LINE "; : PRINT "WITH A CARRIAGE RETURN - HEX CODE (0D)." : PRINT HEX(0A) : FOR I=1TO 5 : PRINT "123456789-123456789-1232456789"; 4560 PRINT " SENT HEX CODE(0D)."; : PRINT HEX(0D) : NEXT I : IF VAL(H1$)=26THEN 4390 : RETURN 4620 DEFFN'60 : PRINT HEX(0D) : GOSUB '130 : GOSUB 4800 : PRINT HEX(0A0A) : PRINT "THE CHARACTER(S) THAT YOU WANT REPEATED " : INPUT "OVER AND OVER IS",H1$ : GOSUB '100("REPEATED CHARACTER(S)") : GOSUB '133 4750 PRINT H1$; : GOTO 4750 : RETURN 4800 PRINT HEX(030A);TAB(20);"2201-L PRINTER DIAGNOSTIC" : PRINT TAB(4); : FOR I5=1TO 56 : PRINT "*"; : NEXT I5 : PRINT : RETURN 4900 DEFFN'16 : RETURN CLEAR : GOSUB '133 : GOSUB '130 : GOSUB 4800 : PRINT TAB(7);"SPECIAL FUNCTION KEYS AVAILABILITY" : PRINT TAB(10);"20 - UPPER/LOWER CASE CHARACTERS" : PRINT TAB(10);"21 - BACK SPACE AND UNDERSCORE" 5000 PRINT TAB(10);"22 - 93 CHARACTER SET " : PRINT TAB(10);"23 - PRINTABLE HEX CODES" : PRINT TAB(10);"24 - LINE FEED TEST NO.1" : PRINT TAB(10);"25 - LINE FEED TEST NO.2" : PRINT TAB(10);"26 - CARRIAGE RETURN TEST" 5050 PRINT TAB(10);"27 - BALL SOLENOID TEST" : PRINT HEX(0A);TAB(10);"31 - RETURN TO 2201L MAIN MENU";HEX(060A) : PRINT TAB(15); "KEY SF'\A0"; : GOSUB '133 5120 KEYIN H1$,5120,5150 : GOTO 5120 : STOP " (( PRESS RESET, THEN THE S.F. KEY ))" 5150 IF H1$<=HEX(13)THEN 5120 : ON VAL(H1$)GOTO 5120,5120,5120,5120,5120,5120,5120,5120,5120,5120,5120,51 20,5120,5120,5120,5120,5120,5120,5120,5170,5190,5210,5230,5280,5300,5320, 5340,5120,5120,5120,410 5170 GOSUB '100("UPPER & LOWER CASE CHARACTERS") : GOTO 1930 5190 GOSUB '100("BACKSPACE & UNDERSCORE") : GOTO 2270 5210 GOSUB '100("93 CHARACTER SET") : GOTO 3220 5230 GOSUB '100("PRINTABLE HEX CODES") : FOR I=1TO 9 : PRINT HEX(0919); : NEXT I : GOTO 2920 5280 GOSUB '100("LINE FEED NO. 1") : GOTO 4120 5300 GOSUB '100("LINE FEED NO. 2") : GOTO 4250 5320 GOSUB '100("CARRIAGE RETURN") : GOTO 4410 5340 GOSUB '100("BALL SOLENOID") : GOTO 3570 5360 DEFFN'130 : SELECT PRINT 005(84) : RETURN 5390 DEFFN'100(D$) : GOSUB '130 : PRINT HEX(030A0A0A0A0A) : PRINT TAB(10);"* * * * * * * * * * * * * * * * * * * * * * * *" : PRINT TAB(10);"* *" 5440 PRINT TAB(10);"*";TAB(35-INT(LEN(D$)/2));D$;TAB(56);"*" : PRINT TAB(10);"* *" : PRINT TAB(10);"* TEST IN PROGRESS *" 5470 PRINT TAB(10);"* *" : PRINT TAB(10);"* * * * * * * * * * * * * * * * * * * * * * * *" : PRINT HEX(0A) : PRINT TAB(10);"KEY HALT/STEP & SFK 31 TO RETURN TO MAIN MENU" 5510 GOSUB '133 : PRINT HEX(0D) : RETURN