Listing of file='P81D080A' on disk='vmedia/702-0079.wvd.zip'
# Sector 760, program filename = 'P81D080A'
0010 SELECT PRINT 005(64)
: PRINT HEX(03);"2200 HARDWARE DIAGNOSTICS - 2281 PRINTER -----------------
-------"
: PRINT HEX(0A0A0A0A0A0A0A0A0A0A0A0A0A0A);"DIAGNOSTIC MENU ; KEY 'RESET' AN
D SF'31"
: PRINT HEX(010A0A0A0A);"1. 204","2. 214","3. 215","4. 216"
0015 PRINT HEX(0C0C);
: INPUT "SELECT PRINTER ADDRESS ",Q
: PRINT HEX(0A0A0D)
0020 A=RND(0)
: GOSUB '100
: PRINT HEX(06)
: PRINT "***** DAISY DIAGNOSTIC # 01 RANDOM LENGTH LINES *****"
: PRINT
: PRINT
: PRINT HEX(05)
: DIM A$60
: L=30
: STR(A$,1,30),STR(A$,31,30)="123456789-123456789-123456789-"
: PRINT A$;A$;STR(A$,1,12)
: FOR I=1TO L
: A=INT(RND(1)*59)+1
: B=INT(RND(1)*(132-A)+1)
: PRINT TAB(A-1);
: X=A+B
: IF X>60THEN 40
0030 PRINT STR(A$,A,B)
: GOTO 60
0040 IF X>120THEN 50
: PRINT STR(A$,A);STR(A$,1,B-60+A)
: GOTO 60
0050 PRINT STR(A$,A);A$;STR(A$,1,B-120+A)
0060 NEXT I
: PRINT A$;A$;STR(A$,1,12)
: PRINT HEX(06)
: PRINT HEX(0A0A0A0A)
: PRINT "THE NEXT DIAGNOSTIC SHOULD START AT THE TOP OF THE NEXT PAGE"
: PRINT "THERE IS NO DAISY DIAGNOSTIC #2"
: PRINT HEX(050C)
: SELECT PRINT 005(64)
: GOSUB '100
0090 PRINT HEX(06)
: PRINT "***** DAISY DIAGNOSTIC # 03 BACKSPACE / UNDERSCORE *****"
: PRINT
: PRINT
: PRINT HEX(05)
: PRINT "TEST #1"
: PRINT "TEN LINES OF ASTERISKS SHOULD FOLLOW; EACH LINE CONTAINING 132 CHA
RACTERS."
: PRINT "THE LINES SHOULD BE UNDERSCORED FROM THE FIRST SLASH TO THE LAST."
: PRINT
0100 DIM A$(3)44,B$44,U$44,C$20
: INIT(5F)U$
: INIT(08)B$
: GOSUB '102
: FOR I=132TO 112STEP -5
: INIT("*")A$()
: STR(A$(1),133-I,1),STR(A$(3),I-88,1)="/"
: PRINT A$(1);A$(2);A$(3);
: PRINT B$;B$;STR(B$,1,I-88);
: Z=44-2*(132-I)
: PRINT U$;U$;STR(U$,1,Z)
: PRINT HEX(0D00)
: NEXT I
: FOR I=112TO 132STEP 5
: INIT("*")A$()
: STR(A$(1),133-I,1),STR(A$(3),I-88,1)="/"
0110 PRINT A$(1);A$(2);A$(3);
: PRINT B$;B$;STR(B$,1,I-88);
: Z=44-2*(132-I)
: PRINT U$;U$;STR(U$,1,Z)
: PRINT HEX(0D00)
: NEXT I
: GOSUB '100
: C$="123456789-123456789-"
: PRINT HEX(0B)
: PRINT "TEST #2: UNDER SCORING EVERY OTHER CHARACTER"
: PRINT
: GOSUB '102
: PRINT C$;C$;
: PRINT STR(B$,1,40);
: FOR I=1TO 20
: PRINT HEX(5F20);
: NEXT I
: PRINT HEX(0D00)
: GOSUB '100
: PRINT
0120 PRINT "UNDER SCORING CHARACTERS 1-5 AND 21-25"
: PRINT
: GOSUB '102
: PRINT C$;C$;
: PRINT STR(B$,1,20);
: PRINT STR(U$,1,5);
: PRINT STR(B$,1,25);
: PRINT STR(U$,1,5)
: PRINT HEX(0D00)
: GOSUB '100
: PRINT HEX(0B)
: PRINT "TEST #3: THE SLASH CHARACTERS AND ALL SPACES IN BETWEEN SHOULD BE
UNDERSCORED"
: PRINT
: INIT(20)A$()
: GOSUB '102
0130 PRINT C$;"/";STR(A$(1),1,29);"/";C$;
: PRINT B$;STR(B$,1,7);
: PRINT STR(U$,1,31);HEX(0D00)
: GOSUB '100
: PRINT
: PRINT "JUST THE SPACES BETWEEN THE SLASHES WILL BE UNDERSCORED"
: PRINT
: GOSUB '102
: PRINT C$;"/";STR(A$(1),1,29);"/";C$;
: PRINT B$;STR(B$,1,6);
: PRINT STR(U$,1,29);HEX(0D00)
: GOSUB '100
: PRINT
0140 PRINT "THE UNDERSCORING WILL START WITH THE FIRST SLASH AND EXTEND BEYOND
THE LAST SLASH"
: PRINT
: GOSUB '102
: PRINT C$;"////";STR(B$,1,4);STR(U$,1,10);HEX(0D00)
: GOSUB '100
: PRINT
: PRINT "A LINE OF UNDERSCORED BLANKS WILL BE PRINTED ABOUT THE CENTER OF T
HE PAPER"
: PRINT
: GOSUB '102
0150 PRINT STR(A$(1),1);U$;HEX(0D00)
: GOSUB '100
: INIT("*")B$
: PRINT HEX(0A0A);"TEST #4: EMBEDDED TOP OF FORM CODES (0C)"
: PRINT TAB(9);"AN ENTIRE PAGE SHOULD BE SKIPPED BEFORE THE NEXT LINE OF OU
TPUT"
: PRINT HEX(0C);"((((( THIS LINE SHOULD";HEX(0C);" START AND END WITH A SET
OF PARENTHESES )))))"
0160 PRINT HEX(0B)
: PRINT "TEST #5: EMBEDDED VERTICAL FORMAT CODES (0B)"
: PRINT TAB(9);"TWO LINES OF ASTERISKS ENCLOSED BY PARENTHESES SHOULD FOLLO
W. THEY WILL BE SIX LINES APART."
: PRINT "((((( ";HEX(0B);B$;B$;" )))))"
: PRINT "((((( ";B$;HEX(0B);B$;" )))))"
: PRINT HEX(060A0A0A)
0170 PRINT "THE NEXT DIAGNOSTIC SHOULD START AT THE TOP OF THE NEXT PAGE"
: PRINT HEX(050C)
: DIM A1$20
0200 GOSUB '100
: PRINT HEX(06)
: PRINT "***** DAISY DIAGNOSTIC #4 LINE FEED, VERT TAB, PAGE EJECT, ERAS
E BUFFER *****"
: PRINT HEX(0A0A)
: PRINT HEX(050A)
: PRINT "TEST #1: A SINGLE LINE SHOULD BE SKIPPED FOLLOWING THIS LINE."
: PRINT HEX(0A)
0210 PRINT " TWO LINES SHOULD BE SKIPPED FOLLOWING THIS LINE."
: PRINT HEX(0A0A)
: PRINT "THE TEST LINE BELOW SHOULD BE IN THREE STEPS AND IN RED."
: PRINT "STEP #2 SHOULD BE ONE LINE BELOW AND TO THE RIGHT OF STEP #1."
0220 PRINT "STEP #3 SHOULD BE TWO LINES BELOW AND TO THE RIGHT OF STEP #2."
: PRINT HEX(060A)
: PRINT "THIS IS STEP #1 OF THE LINE";HEX(0A);"THIS IS STEP #2 OF THE LINE"
;HEX(0A0A);"THIS IS STEP #3 OF THE LINE."
: PRINT HEX(05)
0230 PRINT "TEST #2 - LINE FEED: SIX LINES SHOULD BE SKIPPED FOLLOWING THIS L
INE."
: PRINT HEX(0A0A0A0A0A0A)
: PRINT "TEST #3: VERTICAL TAB; THE NEXT LINE SHOULD BE SIX LINES BELOW THI
S ONE."
: PRINT HEX(0B)
0240 PRINT "TEST #4: FORM FEED; AN ENTIRE PAGE SHOULD BE SKIPPED BEFORE THE NE
XT OUTPUT."
: PRINT HEX(0C0C)
: PRINT "TEST #5: CARRIAGE RETURN; TWO LINES SHOULD BE SKIPPED BEFORE THE N
EXT PRINT LINE."
: PRINT HEX(0D0D)
0250 PRINT " THE NEXT LINE SHOULD APPEAR AT THE START OF THE NEXT PAGE
."
: PRINT HEX(0C)
: PRINT "TEST #6: ERASE BUFFER"
: PRINT
: PRINT " EACH LINE BELOW SHOULD BE PRINTED TWICE, ONCE IN BLACK AN
D ONCE IN RED."
: PRINT
: PRINT HEX(05);"1234567890"
: PRINT HEX(06);"ABCDEFGHI";HEX(7F);"1234567890"
0260 PRINT HEX(0B)
: PRINT HEX(05);"ABCDEFGHIJKLM SKIP 1 LINE"
: PRINT HEX(067F)
0265 PRINT "ABCDEFGHIJKLM SKIP 1 LINE"
: PRINT HEX(0B)
: GOSUB '101
: A1$="123456789-123456789-"
: PRINT HEX(05);A1$;A1$;A1$;A1$;A1$;A1$;"123456789-12"
: PRINT HEX(06);A1$;A1$;A1$;A1$;A1$;A1$;"123456789-12";HEX(7F)
: PRINT A1$;A1$;A1$;A1$;A1$;A1$;"123456789-12"
0270 PRINT HEX(060B)
: PRINT "THE NEXT DIAGNOSTIC SHOULD BEGIN ON THE NEXT PAGE."
: PRINT HEX(050C)
: SELECT PRINT 005(64)
0300 GOSUB '100
: PRINT HEX(06)
: PRINT "***** DAISY DIAGNOSTIC # 05 *****"
: PRINT "***** CLEAR TAB (19) SET TAB (1A) TAB (09) *****"
: PRINT HEX(050A0A)
: FOR I=1TO 50
: PRINT HEX(2019);
: NEXT I
: PRINT
: PRINT
: PRINT "TEST #1"
: PRINT TAB(1);HEX(1A);
: PRINT TAB(10);HEX(1A);
: PRINT TAB(16);HEX(1A);
: PRINT TAB(22);HEX(1A)
0310 PRINT "THE # CHARACTERS SHOULD APPEAR IN COLUMNS 2, 10, 15, AND 20"
: PRINT
: GOSUB '0
: PRINT HEX(0923092309230923)
: PRINT
: PRINT "A SINGLE LINE SHOULD BE SKIPPED BEFORE THE NEXT LINE OF PRINT"
: PRINT HEX(0919090919)
: PRINT "TEST #2 "
: PRINT "THE ## CHARACTER PAIRS SHOULD START IN COLUMNS 10 AND 20"
: PRINT
: GOSUB '0
0320 PRINT HEX(092323092323)
: FOR I=1TO 131
: PRINT HEX(0919);
: NEXT I
: PRINT
: PRINT "TEST #3"
: PRINT "THE LINE BELOW SHOULD HAVE NOTHING BUT A PAIR OF '#' CHARACTERS ST
ARTING IN COLUMN 1"
: GOSUB '0
: PRINT HEX(092323)
: PRINT HEX(0B06)
: PRINT "THE NEXT DIAGNOSTIC SHOULD BEGIN ON THE NEXT PAGE."
: PRINT HEX(050C)
: SELECT PRINT 005(64)
: GOTO 350
0330 DEFFN'0
: SELECT PRINT 215(132)
: A1$="12345678901234567890"
: PRINT A1$;A1$;A1$;A1$;A1$;A1$;STR(A1$,1,12)
: RETURN
0350 DIM C1$16
: GOSUB '100
: PRINT HEX(06)
: PRINT "***** DAISY DIAGNOSTIC #6 CHARACTER SET *****"
: PRINT
: PRINT
: PRINT HEX(05)
: PRINT "ALL HEX CODES FROM 10 TO 7F HAVE BEEN PRINTED BELOW;"
: PRINT "ALL ILLEGAL (NON-PRINTABLE) CODES HAVE BEEN REPLACED BY A SPACE."
: PRINT
: INIT(10)C1$
: GOSUB '2
: INIT(20)STR(C1$,2,13)
: GOSUB '0
0370 INIT(20)C1$
: GOSUB '2
: GOSUB '0
: INIT(30)C1$
: GOSUB '2
: GOSUB '0
: INIT(40)C1$
: GOSUB '2
: GOSUB '0
: INIT(50)C1$
: GOSUB '2
: GOSUB '0
: INIT(60)C1$
: GOSUB '2
: GOSUB '0
: INIT(70)C1$
: GOSUB '2
: STR(C1$,16,1)=HEX(20)
: GOSUB '0
: PRINT HEX(060B)
: PRINT "THE NEXT DIAGNOSTIC SHOULD BEGIN ON THE NEXT PAGE"
: PRINT HEX(050C)
: SELECT PRINT 005(64)
: GOTO 420
0380 DEFFN'0
: INIT(STR(C1$,1,1))T$
: ADD(STR(T$,2,1),0F)
: IF STR(C1$,1,1)<>HEX(10)THEN 390
: STR(C1$,1,1)=HEX(20)
0390 PRINT "HEX ";
: HEXPRINT STR(T$,1,1);
: PRINT " - ";
: HEXPRINT STR(T$,2,1);
: FOR I=1TO 16
: PRINT " ";STR(C1$,I,1);
: NEXT I
: PRINT
: PRINT
: RETURN
0400 DEFFN'2
: FOR I=2TO 16
: ADD(STR(C1$,I,1),01)
: INIT(STR(C1$,I,1))STR(C1$,I)
: NEXT I
: RETURN
0420 DIM B1$64,R$64
: INIT("*")B1$
: INIT("/")R$
: GOSUB '100
: PRINT HEX(06)
: PRINT "***** DAISY DIAGNOSTIC #7 COLOR CODES *****"
: PRINT HEX(050A0A0A)
: PRINT "THE TEST OUTPUT BELOW CONSISTS OF '*' CHARACTERS AND '/' CHARACTER
S"
: PRINT
: PRINT "NOTE: ALL ASTERISKS MUST BE IN BLACK"
0440 PRINT " ALL SLASHES MUST BE IN RED"
: PRINT HEX(0B)
: PRINT "TEST #1: TESTING HEX(05) AND HEX(06)"
: PRINT
: PRINT HEX(05)
0445 FOR I=1TO 5
: PRINT B1$
: NEXT I
: PRINT HEX(06)
: FOR I=1TO 5
: PRINT R$
: NEXT I
: PRINT
: FOR I=1TO 5
: PRINT HEX(05);B1$
: PRINT HEX(06);R$
: NEXT I
: PRINT
: PRINT HEX(05);STR(B1$,1,32);HEX(06);STR(R$,1,32)
: PRINT
: PRINT R$
: PRINT
: FOR I=1TO 4
: FOR J=1TO 20
: PRINT HEX(05);STR(B1$,1,1);HEX(06);STR(R$,1,1);
: NEXT J
: PRINT
: NEXT I
: PRINT HEX(0A0A)
0455 PRINT HEX(05);STR(B1$,1,5);HEX(0A);STR(B1$,1,5);
: PRINT HEX(06);STR(R$,1,5);HEX(0A);STR(R$,1,5);
: PRINT STR(R$,1,5);HEX(0A05);STR(B1$,1,5);
: PRINT STR(B1$,1,5);HEX(060A);STR(R$,1,5);
: PRINT HEX(05);STR(B1$,1,5)
: PRINT HEX(0A0A)
: PRINT "TEST #2: TESTING HEX(0E)"
: PRINT
: PRINT HEX(05)
: PRINT B1$
: PRINT B1$
: PRINT HEX(0E);R$
: PRINT B1$
: PRINT B1$
: PRINT
: PRINT B1$
: PRINT B1$
: PRINT HEX(0E);R$
: PRINT R$;HEX(0E)
: PRINT HEX(0E);R$
0460 PRINT B1$
: PRINT B1$
: PRINT
: PRINT HEX(06)
: PRINT R$
: PRINT R$
: PRINT B1$;HEX(0E)
: PRINT HEX(0E);B1$
: PRINT B1$;HEX(0E)
: PRINT R$
: PRINT R$
: PRINT
: PRINT R$
: PRINT R$
: PRINT B1$;HEX(0E)
: PRINT R$
: PRINT R$
: PRINT HEX(0A0A)
: PRINT HEX(060B)
: PRINT "THE NEXT DIAGNOSTIC SHOULD BEGIN ON THE NEXT PAGE"
: PRINT HEX(050C)
: SELECT PRINT 005(64)
0470 DEFFN'31
: LOAD DC T"START"
0500 DEFFN '100
: ON Q GOTO 520,530,540,550
0520 SELECT PRINT 204(132)
: RETURN
0530 SELECT PRINT 214(132)
: RETURN
0540 SELECT PRINT 215(132)
: RETURN
0550 SELECT PRINT 216(132)
: RETURN
0600 DEFFN '101
: ON Q GOTO 620,630,640,650
0620 SELECT PRINT 204(133)
: RETURN
0630 SELECT PRINT 214(133)
: RETURN
0640 SELECT PRINT 215(133)
: RETURN
0650 SELECT PRINT 216(133)
: RETURN
0700 DEFFN '102
: ON Q GOTO 720,730,740,750
0720 SELECT PRINT 404
: RETURN
0730 SELECT PRINT 414
: RETURN
0740 SELECT PRINT 415
: RETURN
0750 SELECT PRINT 416
: RETURN