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