Listing of file='P71D010A' on disk='vmedia/702-0079.wvd.zip'
# Sector 579, program filename = 'P71D010A'
0010 REM . 2271.PTR-01 00-00 (5/16/77)
0280 DIM A$20,A1$31,D$49,E$49,W$61,X$62,Y$61,Z$62
: DIM B$26,C$26,B1$41,H$27,H1$1,H2$2,H5$1
: A1$="123456789-123456789-1"
: GOSUB '0
0360 DEFFN'0
: RETURN CLEAR
0380 SELECT PRINT 005(64)
: GOSUB 9300
: GOSUB 1580
: PRINT TAB(7);"SPECIAL FUNCTION KEYS AVAILABILITY"
: PRINT TAB(10);"1 - FULL 2271 PRINTER TEST"
: PRINT TAB(10);"2 - TABULATION TESTS"
: PRINT TAB(10);"3 - UPPER/LOWER CASE AND";
0440 PRINT " BACKSPACE & UNDERSCORE"
: PRINT TAB(10);"4 - PRINTABLE HEX CODES ";
: PRINT "AND 96 CHARACTER SET"
: PRINT TAB(10);"5 - PAPER MOTION TESTS"
: PRINT TAB(10);"6 - VAR. LINE LENGTH TEST"
0490 PRINT TAB(10);"7 - OPERATOR ACTION TESTS"
: PRINT TAB(10);"8 - OUTPUT ONE INPUT CHARACTER OVER AND OVER"
: PRINT TAB(10);"9 - OUTPUT TWO INPUT CHARACTERS OVER AND OVER"
0520 PRINT TAB(9);"16 - PRINTER SUB-TEST MENU";
: PRINT HEX(0A);
: GOSUB '133
: STOP " (( PRESS RESET THEN THE S.F. KEY ))"
0600 DEFFN'1
: GOSUB '100
: GOSUB '41
: GOSUB '42
: GOSUB '43
: GOSUB '44
: GOSUB '45
: PRINT HEX(0C)
: GOSUB '46
: STOP "END OF PRINTER TEST"
: LOAD DC T"START"
0710 RETURN
0760 DEFFN'2
0770 GOSUB '50
: GOTO 770
0830 DEFFN'3
0840 GOSUB '60
: GOSUB '70
: GOTO 840
0910 DEFFN'4
0920 GOSUB '102
: GOSUB '101
: GOTO 920
0990 DEFFN'5
1000 GOSUB '105
: GOSUB '106
: GOSUB '107
: GOSUB '108
: GOSUB '109
: GOTO 1000
1100 DEFFN'6
1110 GOSUB '133
: GOSUB '121
: GOSUB '126
: GOTO 1110
1190 DEFFN'7
1195 GOSUB '46
: GOTO 1195
1360 DEFFN'8
: GOSUB '130
: GOSUB 1580
: PRINT HEX(0A0A)
: PRINT "THE CHARACTER THAT YOU WANT REPEATED "
: INPUT "OVER AND OVER IS",H1$
: GOSUB '133
1430 PRINT H1$;
: GOTO 1430
1450 RETURN
1480 DEFFN'9
: GOSUB '130
: GOSUB 1580
: PRINT HEX(0A0A)
: PRINT "THE TWO CHARACTERS THAT YOU WANT REPEATED "
: INPUT "OVER AND OVER AGAIN ARE ",H3$
: GOSUB '133
1550 PRINT H3$;
: GOTO 1550
1570 RETURN
1580 PRINT HEX(030A);TAB(20);"2271 PRINTER DIAGNOSTIC"
: PRINT TAB(4);
: FOR I5=1TO 56
: PRINT "*";
: NEXT I5
: PRINT
: RETURN
1670 DEFFN'14
: GOSUB '133
: A$="12345678901234567890"
: PRINT A$;A$;A$;A$;A$;STR(A$,1,3);" TAB REFERENCE LINE."
: RETURN
1740 DEFFN'15
: COM CLEAR
: LOAD DC T"START"
1770 RETURN
1820 DEFFN'16
: RETURN CLEAR
1840 GOSUB '133
: SELECT PRINT 005(64)
: GOSUB 1580
: PRINT TAB(10);"SPECIAL FUNCTION KEYS AVAILABILITY"
: PRINT TAB(10);"20 - UPPER/LOWER CASE CHARACTERS"
: PRINT TAB(10);"21 - BACK SPACE AND UNDER SCORE"
1900 PRINT TAB(10);"22 - PRINTABLE HEX CODES "
: PRINT TAB(10);"23 - 96 CHARACTER SET"
: PRINT TAB(10);"24 - PITCH SELECT TEST (10 OR 12)"
: PRINT TAB(10);"25 - LINE FEED TEST NO.1"
: PRINT TAB(10);"26 - LINE FEED TEST NO.2"
1950 PRINT TAB(10);"27 - VERTICAL TAB TEST"
: PRINT TAB(10);"28 - CARRAGE RETURN TESTS"
: PRINT TAB(10);"29 - VAR.LINE LENGTH TEST"
: PRINT TAB(10);"30 - SELECT/DESELECT TEST"
: PRINT TAB(10);"31 - HEAD MOTION TEST";
: GOSUB '133
2010 STOP " (( PRESS RESET, THEN THE S.F. KEY ))"
2040 DEFFN'20
2050 GOSUB '60
: GOTO 2050
2090 DEFFN'21
: GOSUB '133
2110 GOSUB '70
: GOTO 2110
2150 DEFFN'22
2160 GOSUB '102
: GOTO 2160
2200 DEFFN'23
2210 GOSUB '101
: GOTO 2210
2250 DEFFN'24
2260 PRINT HEX(0A)
: GOSUB 9030
: GOTO 2260
2310 DEFFN'25
2320 GOSUB '105
: GOSUB '106
: GOTO 2320
2370 DEFFN'26
2380 GOSUB '107
: GOTO 2380
2420 DEFFN'27
2430 GOSUB '108
: GOTO 2430
2470 DEFFN'28
2480 GOSUB '109
: GOTO 2480
2520 DEFFN'29
: GOSUB '121
2540 GOSUB '126
: GOTO 2540
2600 DEFFN'30
2610 GOSUB '140
: GOTO 2610
2670 DEFFN'31
: I=1
: PRINT HEX(7F000D00)
: PRINT "."
2710 GOSUB '141
: I=I+1
: GOSUB '142
: I=I+1
: GOTO 2710
2800 LOAD DC T"P71D0101"0,4130
2830 DEFFN'41
: GOSUB '50
: RETURN
2900 DEFFN'42
: GOSUB '60
: GOSUB '70
: RETURN
2980 DEFFN'43
: GOSUB '102
: GOSUB '101
: RETURN
3060 DEFFN'44
: GOSUB '105
: GOSUB '106
: GOSUB '107
: GOSUB '108
: GOSUB '109
: RETURN
3170 DEFFN'45
: GOSUB '133
: GOSUB '121
: GOSUB '126
: RETURN
3260 DEFFN'46
: GOSUB '130
: PRINT HEX(0A0A)
: PRINT "ENTER RETURN(EXEC) TO START";
: PRINT " OPERATOR ACTION TESTS"
3310 PRINT HEX(07)
: FOR I1=1TO 500
: NEXT I1
: KEYIN J$,3380,3380
: GOTO 3310
3380 IF J$=HEX(0D)THEN 3400
: GOTO 3310
3400 GOSUB '133
: GOSUB '140
: GOSUB '130
: GOSUB 1580
: PRINT HEX(0A0A)
: PRINT "ENTER RETURN(EXEC) TO EXIT OPERATOR ACTION TEST"
: GOSUB '133
: I=1
3480 KEYIN J$,3500,3500
: GOTO 3510
3500 IF J$=HEX(0D)THEN 3580
3510 GOSUB '141
: I=I+1
: GOSUB '142
: I=I+1
: GOTO 3480
3580 PRINT HEX(0A)
: GOSUB 9030
: RETURN
3650 DEFFN'50
: GOSUB '133
: PRINT "INITIALIZING 2271 TABULATION (HEX CODE 19)"
: FOR I=1TO 80
: PRINT HEX(2019);
: NEXT I
: PRINT HEX(0A)
3800 PRINT "TAB TEST #1 TAB SET(HEX-1A), TAB(HEX-09) AND ";
: PRINT "PRINT HIGH ORDER #'S (1)0,(2)0 "
: PRINT TAB(9);HEX(1A);
: PRINT TAB(20);HEX(1A);
: PRINT TAB(31);HEX(1A);
: PRINT TAB(42);HEX(1A);
: PRINT TAB(53);HEX(1A);
: PRINT TAB(64);HEX(1A);
: PRINT TAB(75);HEX(1A);
3890 PRINT TAB(86);HEX(1A);
: PRINT TAB(97);HEX(1A)
: PRINT HEX(093109320933093409350936093709380939)
: GOSUB '14
4000 PRINT HEX(0A)
: PRINT "TAB TEST #2 RESET TAB'S (30) & (40)";
: PRINT " SET 3 NEW LOCATIONS 25,35 & 40"
: PRINT HEX(090909190919)
: PRINT TAB(24);HEX(1A);
: PRINT TAB(35);HEX(1A);
: PRINT TAB(46);HEX(1A)
4110 DEFFN'53
: PRINT HEX(0931093209320933093409350936093709380939)
4130 GOSUB '14
: PRINT HEX(0A)
: PRINT "TAB TEST #3 CLEAR ALL TABS HEX(19) AND TEST FOR NO TABS"
: GOSUB '14
: FOR I=1TO 10
: PRINT HEX(0919);
: NEXT I
: PRINT HEX(09);
: PRINT "ERROR IF THIS LINE DOES NOT START IN COLUMN NO. ONE."
: RETURN
4280 DEFFN'60
: GOSUB '61
: FOR K=1TO 2
: GOSUB '62
: GOSUB '63
: GOSUB '64
: PRINT HEX(0A)
: NEXT K
: RETURN
4410 DEFFN'61
: PRINT HEX(0A0A0A0A)
: PRINT "UPPER & LOWER CASE CHARACTER SET",,
: PRINT "REPEAT THE FOLLOWING SEQUENCE TWICE"
: PRINT "ONE LINE OF (UPPER CASE), (LOWER CASE) AND ";
4460 PRINT "ALTERNATING UPPER/LOWER CASE (AaBb ETC.)"
: PRINT HEX(0A)
: RETURN
4530 DEFFN'62
: B$="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
: PRINT B$;B$;B$;B$
: RETURN
4610 DEFFN'63
: C$="abcdefghijklmnopqrstuvwxyz"
: PRINT C$;C$;C$;C$
: RETURN
4690 DEFFN'64
: FOR I=1TO 2
: FOR J=1TO 26
: PRINT STR(B$,J,1);STR(C$,J,1);
: NEXT J
: NEXT I
: PRINT
: RETURN
4800 DEFFN'70
: GOSUB '71
: GOSUB '72
: GOSUB '73
: GOSUB '74
: RETURN
4930 DEFFN'71
: PRINT HEX(0A0A0A0A)
: 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)
: RETURN
5040 DEFFN'72
: B$="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
: C$="abcdefghijklmnopqrstuvwxyz"
: GOSUB '133
: PRINT "UPPER CASE ONLY ";
: INIT(08)B1$
: GOSUB '134
: FOR J=1TO 2
: FOR I=1TO 26
: PRINT STR(B$,I,1);STR(C$,I,1);
: NEXT I
: NEXT J
: PRINT HEX(20);
: FOR I=1TO 52
5180 PRINT HEX(0808085F);
: NEXT I
: PRINT HEX(0D00)
: RETURN
5260 DEFFN'73
: GOSUB '133
: PRINT HEX(0A)
: PRINT "LOWER CASE ONLY ";
: GOSUB '134
: FOR J=1TO 2
: FOR I=1TO 26
: PRINT STR(B$,I,1);STR(C$,I,1);
: NEXT I
: NEXT J
: PRINT B1$;STR(B1$,1,11);B1$;STR(B1$,1,11);
: FOR I=1TO 52
: PRINT HEX(205F)
: NEXT I
: PRINT HEX(0D00)
: RETURN
5470 DEFFN'74
: 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(0D00)
: GOSUB '133
: RETURN
5660 DEFFN'100
: GOSUB '133
: PRINT HEX(7F)
: PRINT HEX(0C)
: SELECT PRINT 005
: PRINT HEX(03)
: FOR I=1TO 2
: PRINT "2200 SYSTEM DIAGNOSTIC TESTING"
: PRINT HEX(0A)
: PRINT "2271 PRINTER DIAGNOSTIC TEST (P71D010A-V#1)"
5750 PRINT " ** 10 PITCH BALL ASSUMED FOR TESTING **"
: PRINT HEX(0A)
: PRINT HEX(0A)
: GOSUB '133
: NEXT I
: RETURN
5840 DEFFN'101
: PRINT HEX(0A0A)
: PRINT "96 CHARACTER SET-CODES 1E TO 7E (3RD CHARACTER IS HEX(20), A SPACE
CODE)"
: PRINT HEX(0A)
: INIT(5F)B1$
: PRINT B1$;B1$;STR(B1$,1,14)
: PRINT HEX(0A)
: INIT(1D)D$
: INIT(4E)E$
: FOR I=1TO 49
: ADD(STR(D$,I),01)
5950 ADD(STR(E$,I),01)
: NEXT I
: STR(E$,49,1)=HEX(20)
: FOR I=1TO 5
: PRINT D$;
: PRINT E$;"SPACE PRINTED FOR 7F"
: NEXT I
: INIT(5F)B1$
: PRINT B1$;B1$;STR(B1$,1,14)
: GOSUB '133
: PRINT HEX(0A0A)
: PRINT "- - E R R O R - - BUFFER DELETE CODE (7F) IS ";
6080 PRINT "NOT FUNCTION PROPERLY";
: PRINT " - - E R R O R - -";
: PRINT HEX(7F)
: RETURN
6160 DEFFN'102
: GOSUB '133
: PRINT HEX(0C)
: PRINT "PRINTABLE HEX CODE CHARACTER TEST";
: PRINT "CODE 1E THROUGH 7E)"
: PRINT HEX(0A0A)
: INIT(1E)H$
6250 FOR I=1TO 97
: PRINT STR(H$,1,27);
: PRINT STR(H$,1,27);
: PRINT " HEX CODE ";
: H5$=STR(H$,1,1)
: HEXPRINT H5$;
: PRINT " ";
: PRINT STR(H$,1,27);
: PRINT STR(H$,1,27)
: ADD(H$,01)
: IF STR(H$,1,1)<>HEX(7F)THEN 6390
: INIT(20)H$
6390 IF STR(H$,1,1)=HEX(56)THEN 6420
6400 NEXT I
: RETURN
6420 PRINT HEX(0C)
: GOTO 6400
6480 DEFFN'105
: PRINT HEX(0C)
: PRINT "SPECIAL PAPER MOTION HEX CODES ";
: PRINT "- TOP OF FORM(0C),LINE FEED(0D),";
: PRINT " VERTICAL TAB(0C)"
: PRINT HEX(0A)
: RETURN
6590 DEFFN'106
: PRINT "LINE FEED TEST #1 - (HEX CODE 0A)"
: FOR I=1TO 18
: PRINT HEX(0A0A2D)
: NEXT I
: PRINT HEX(0A0A)
: PRINT "ACCEPTABLE RESULT IS 18 DASHES ";
: PRINT "VERTICALLY SPACED DOWN THIS PAGE."
: RETURN
6720 DEFFN'107
: GOSUB '113
: PRINT "LINE FEED TEST #2 - (HEX CODE 0A)"
: PRINT HEX(0A2D2D2D2D2D0A)
: FOR I=1TO 2
: FOR J=1TO 25
: PRINT HEX(0A)
: NEXT J
: PRINT HEX(2D2D2D2D2D0A)
: NEXT I
: PRINT "ACCEPTABLE RESULT IS 3 SETS OF 5 DASHES ";
6830 PRINT "VERTICALLY SPACED DOWN THIS PAGE."
: RETURN
6890 DEFFN'108
: GOSUB '113
: PRINT "VERTICAL TAB TEST (HEX CODE-0B)"
: FOR I=1TO 9
: PRINT HEX(0B);"VERTICAL TAB NO.";I
: NEXT I
: PRINT HEX(0B)
: I=10
: PRINT "VERTICAL TAB NO. ";I;" ";
: PRINT "ACCEPTABLE RESULTS ON THIS PAGE IS ";
6990 PRINT "10 EVENLY SPACED VERTICAL ";
: PRINT "TABS SIX LINES APART."
: RETURN
7060 DEFFN'109
: GOSUB '133
: GOSUB '113
: PRINT "CARRIAGE RETURN TEST - TESTING HEX CODE(0D), ";
: PRINT "HARDWARE C/R AND LINE OVER RUN."
: GOSUB '110
: GOSUB '111
: GOSUB '112
: RETURN
7170 DEFFN'110
: PRINT HEX(0A0A)
: 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";
7240 PRINT " SENT HEX CODE(0D).";
: PRINT HEX(0D)
: NEXT I
: RETURN
7300 DEFFN'111
: PRINT HEX(0A0A)
: PRINT "PRINT 5 LINES OF 124 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$;
: PRINT "1234";
: NEXT I
: RETURN
7430 DEFFN'112
: PRINT HEX(0A0A)
: PRINT "PRINT 5 LINES OF 150 CHARACTERS PER LINE,";
: PRINT "DEMONSTRATING HARDWARE C/R (LINE OVER RUN)."
: PRINT HEX(0A)
: A$="123456789-123456789-"
: FOR I=1TO 5
: PRINT A$;A$;A$;A$;A$;A$;
7510 PRINT "1234"
: PRINT "OVER RUN ON THE NEXT LINE."
: NEXT I
: RETURN
7590 DEFFN'113
: PRINT HEX(0C)
: PRINT "(TOP OF FORM TEST - HEX CODE OC) MUST BE THE FIRST ";
: PRINT "LINE OF PRINT AT THE TOP OF A NEW PAGE."
: PRINT HEX(0A)
: RETURN
7670 DEFFN'121
: PRINT HEX(0C)
: PRINT "VARIABLE LINE LENGTH AND LINEARITY TEST."
: PRINT HEX(0A0A0A)
: RETURN
7740 DEFFN'126
: GOSUB '133
: W$="BA@?>=<;:9876543210/,.-'+*)('&%$#! ZYXWVUTSRQPONMLKJIHGFEDCBA"
: X$="@ABCDEFGHIJKLMNOPQRSTUVWXYZ !#$%&'()*+'-.,/0123456789:;<=>?@AB"
: GOSUB 8110
: J=61
: K=2
: L=2
7820 INIT(20)Y$
: FOR I=1TO 30
: Z$=STR(X$,1,K)
: STR(Y$,J)=STR(W$,J)
: FOR M=1TO 2
: PRINT Y$;STR(Z$,1,L)
: NEXT M
: L=L+2
: K=K+2
: J=J-2
: NEXT I
: L=L-2
: K=K-2
: J=J+2
: FOR I=1TO 29
: L=L-2
: K=K-2
: J=J+2
: INIT(20)Y$
: Z$=STR(X$,1,K)
: STR(Y$,J)=STR(W$,J)
: FOR M=1TO 2
8040 PRINT Y$;STR(Z$,1,L)
: NEXT M
: NEXT I
: GOSUB 8110
: RETURN
8110 FOR N=1TO 2
: FOR I=1TO 61
: PRINT " ";
: NEXT I
: PRINT "@"
: NEXT N
: RETURN
8220 DEFFN'130
: SELECT PRINT 005(64)
: RETURN
8250 DEFFN'133
: ON Q GOTO 8260,8270,8280,8290
8260 SELECT PRINT 204(124)
: RETURN
8270 SELECT PRINT 214(124)
: RETURN
8280 SELECT PRINT 215(124)
: RETURN
8290 SELECT PRINT 216(124)
: RETURN
8320 DEFFN'134
: ON Q GOTO 8350,8360,8370,8380
8350 SELECT PRINT 404
: RETURN
8360 SELECT PRINT 414
: RETURN
8370 SELECT PRINT 415
: RETURN
8380 SELECT PRINT 416
: RETURN
8400 DEFFN'140
: GOSUB '133
: PRINT HEX(0A0A)
: PRINT "OPERATOR ACTION & VERIFY TEST",
: PRINT "(SELECT/DESELECT) ";
: PRINT "(HEAD MOTION) ";
: PRINT "(AUDIO ALARM)"
: PRINT HEX(0A)
: I=1
: GOSUB '130
: GOSUB 1580
: PRINT HEX(0A0A)
8520 PRINT "ENTER RETURN/EXEC TO EXIT SELECT/DESELECT TEST"
: GOSUB '133
8540 GOSUB '143
: KEYIN J$,8570,8570
: GOTO 8540
8570 IF J$=HEX(0D)THEN 8590
: GOTO 8540
8590 PRINT HEX(0A)
: I=I-1
: PRINT "THE";I;"LINES ABOVE SHOULD BE IDENTICAL, ";
: PRINT "IF NOT THEN - - E R R O R - - ";
: PRINT "THE PRINTER LOST DATA"
: PRINT "."
: RETURN
8700 DEFFN'141
: PRINT HEX(087F0D00);
: PRINT "LINE NO ";I;"VERIFY THAT THE PRINT MECHANISM ";
: PRINT "IS PRINTING";
: PRINT " FROM (* LEFT TO RIGHT *) AT THIS TIME."
: RETURN
8800 DEFFN'142
: PRINT "LINE NO ";I;"VERIFY THAT THE PRINT MECHANISM ";
: PRINT "IS PRINTING ";
: PRINT "FROM (* RIGHT TO LEFT *) AT THIS TIME."
: RETURN
8880 DEFFN'143
: IF I>9THEN 8920
: PRINT "LINE NO ";
: GOTO 8930
8920 PRINT "LINE NO";
8930 PRINT I;" OPERATOR MUST DESELECT AND RESELECT ";
: PRINT "THE PRINTER UNDER TEST AT THIS TIME. ";
: PRINT "AUDIO TONE AT THE END OF THIS LINE."
: PRINT HEX(07)
: I=I+1
: RETURN
9030 GOSUB '130
: GOSUB 1580
: PRINT HEX(0A0A)
: PRINT "ENTER RETURN(EXEC) TO EXIT PITCH SELECT TEST"
9070 GOSUB '200
: PRINT "OPERATOR SELECT THE DESIRED PITCH - ";
: PRINT "10 PITCH BALL (124 CHARACTER LINE) OR ";
: PRINT "12 PITCH BALL (149 CHARACTER LINE) ";
9110 PRINT "CHARACTER 124125TH CHARACTER 149";
: PRINT "150 TH CHARACTER"
: KEYIN J$,9150,9150
: GOTO 9070
9150 IF J$=HEX(0D)THEN 9170
: GOTO 9070
9170 GOSUB '133
: RETURN
9200 DEFFN'200
: ON Q GOTO 9220,9230,9240,9250
9220 SELECT PRINT 204(149)
: RETURN
9230 SELECT PRINT 214(149)
: RETURN
9240 SELECT PRINT 215(149)
: RETURN
9250 SELECT PRINT 216(149)
: RETURN
9300 GOSUB 1580
: PRINT HEX(010A0A0A0A0A);"1. 204","2. 214","3. 215","4. 216"
: PRINT HEX(0C0C);
: INPUT " SELECT PRINTER ADDRESS",Q
: RETURN