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