home *** CD-ROM | disk | FTP | other *** search
/ Generous Efforts of Many / gemcd.zip / GEM.CD.A.po / FEATURES:BEAGLE / D.CODE.SHK / D.CODE / D.BUG.DEMO.bas < prev    next >
BASIC Source File  |  2000-01-01  |  17KB  |  65 lines

  1. 10 B = 176:C = 49200:D = 1: PRINT  CHR$(21): HOME : TEXT : NOTRACE : SPEED= B:Q$ =  CHR$(34):G$ =  CHR$(7):A = 255: POKE 230,64: PRINT  CHR$(4)"BLOAD D.CODE.LOGO,A$4000": POKE  -16368,0: POKE  -16302,0: POKE  -16297,0: POKE  -16304,0: POKE  -16299,0: HOME : GOSUB 272: TEXT :A$ = ":            :": INVERSE : GOSUB 214:A$ = "    D CODE    ": INVERSE : GOSUB 214:A$ = ":            :": INVERSE : GOSUB 214: PRINT 
  2. 11 A$ = "BY ALAN BIRD - BEAGLE BROS, INC.": GOSUB 214: PRINT : FOR I = 2000 TO 2039: POKE I,32: FOR J = 1 TO 1:S =  PEEK(C): NEXT : FOR J = 1 TO 1: NEXT : NEXT : GOSUB 246: PRINT : VTAB 24: HTAB 1: INVERSE : PRINT  SPC( 39);: POKE 2039,32: VTAB 23: PRINT : POKE 35,23: FOR J = 1 TO 16: FOR I = 1 TO 5:S =  PEEK(C): NEXT : FOR I = 1 TO 33: NEXT : PRINT : NEXT : TEXT :B$ = "-- M A I N   F E A T U R E S --": GOSUB 240: GOTO 258
  3. 36  PRINT "ONE OF THE MOST FRUSTRATING THINGS ABOUTAPPLESOFT PROGRAMMING IS TRYING TO FIND THOSE GOOD-FOR-NOTHING PROGRAM BUGS.": PRINT : GOSUB 246: PRINT "D CODE'S "Q$"D.BUG"Q$" PROGRAM GIVES YOU THE  POWER TO TRACK DOWN (AND STOMP ON) THOSEBUGS... ";: GOSUB 246: PRINT "F A S T !": GOSUB 246
  4. 37  VTAB 15: HTAB 1: FLASH : PRINT "BUGS";: HTAB 1: NORMAL : GOSUB 246: PRINT "BUGS": PRINT "BUGS": FOR J = 1 TO 99: NEXT : SPEED= A: VTAB 24: HTAB 1: INVERSE : PRINT  SPC( 39): NORMAL : FOR I = 1 TO 99: NEXT : FOR I = 17 TO 21: VTAB I: HTAB 1: PRINT "BUGS": VTAB I -1: PRINT " |   ": FOR J = 1 TO 150: NEXT : NEXT : GOSUB 246: FOR J = 1 TO 5: VTAB 21: HTAB 1: PRINT "BBUGG*";: FOR I = 1 TO 50: NEXT : HTAB 1: PRINT "BUGS  ": FOR I = 1 TO 13: NEXT : NEXT : VTAB 21: HTAB 1: CALL  -868: VTAB 23: HTAB 1: PRINT "BUG*": FOR J = 1 TO 5:S =  PEEK(49200): NEXT 
  5. 38  GOSUB 246: SPEED= A:A$(0) = "  BUG*  ":A$(1) = " BBBUGG*": FOR I = 1 TO 24: VTAB 23: HTAB I: PRINT A$(I - INT(I/2) *2): FOR J = 1 TO 55: NEXT : NEXT : FOR I = 15 TO 23: VTAB I: HTAB 26: PRINT "STOMP": VTAB I -1: HTAB 26: PRINT "      ": NEXT : FOR I = 1 TO 20:S =  PEEK(C): NEXT : SPEED= A: VTAB 22: HTAB 24: PRINT "  CRASH  ": CALL  -868: FOR I = 1 TO 99: NEXT : VTAB 22: HTAB 5: CALL  -868: PRINT : HTAB 24: PRINT "  STOMP": FOR J = 1 TO 5:S =  PEEK(C): NEXT : SPEED= A: VTAB 22: HTAB 24
  6. 39  PRINT "#        *": HTAB 24: PRINT " \STOMP/ ": SPEED= B *.7: VTAB 22: HTAB 24: PRINT "          ": HTAB 24: PRINT "  STOMP  ": SPEED= A:B$ = "-- P R O G R A M   P R O O F E R --": GOSUB 226
  7. 40  PRINT "D CODE CONTAINS AN AUTOMATIC APPLESOFT  ERROR CHECKER. IF YOU TYPE A PROGRAM    LINE (OR ANYTHING) CONTAINING AN ERROR, YOU WILL IMMEDIATELY BE NOTIFIED.": GOSUB 246: PRINT : PRINT "SUPPOSE YOU ENTERED A PROGRAM LINE...": PRINT :A$ = "500 GOSUP100: PRNNT" +Q$ +"HOTDOG" +Q$
  8. 41 N = 2: HTAB 4: PRINT "]";: GOSUB 248: SPEED= A: PRINT : PRINT "   500 GOSUP";: INVERSE : PRINT "<?>"G$;: NORMAL : PRINT "100:PRNNT";: INVERSE : PRINT "<?>"G$;: NORMAL : PRINT " "Q$"HOTDOG"Q$: SPEED= B: GOSUB 246: SPEED= A: PRINT : PRINT "   ERRORS ARE REPORTED IMMEDIATELY,        BEFORE YOUR PROGRAM IS RUN.             ------": FOR I = 1 TO 8: VTAB 18: HTAB 13: PRINT "^^^         ^^^";: FOR J = 1 TO 99
  9. 42  NEXT : HTAB 1: CALL  -868: FOR J = 1 TO 99: NEXT : NEXT : GOSUB 246: VTAB 21: HTAB 1: CALL  -868: PRINT : SPEED= B: PRINT "FIND HIDDEN BUGS THAT ARE READY TO BITE!";: GOSUB 226: PRINT "YOU MAY ALSO CHECK AN ENTIRE PROGRAM FORERRORS IN A COUPLE OF SECONDS. WATCH...": PRINT : HTAB 3: PRINT "]";:A$ = "CHECK":N = 4: GOSUB 248: PRINT : PRINT : PRINT "  10  GOSUB 12345";: INVERSE : PRINT "<#>"G$: NORMAL 
  10. 43  PRINT "  45000 A$ = ";: INVERSE : PRINT "<?>"G$;: NORMAL : PRINT "100: INPPUT";: INVERSE : PRINT "<?>"G$;: NORMAL : PRINT " NAME$": PRINT : SPEED= B: FLASH : PRINT "UH-OH!";: GOSUB 246: NORMAL : HTAB 1: PRINT "UH-OH! LINES 10 & 45000 HAVE PROBLEMS.": GOSUB 246: PRINT "THREE KINDS OF ERRORS WERE REVEALED:": PRINT : HTAB 3: PRINT "1.": HTAB 3: PRINT "2.": HTAB 3: PRINT "3.": FLASH : VTAB 14: HTAB 18: PRINT "<#>": HTAB 14: PRINT "<?>";: HTAB 28
  11. 44  PRINT "<?>": NORMAL : VTAB 20: HTAB 3: PRINT "1. A GOSUB TO A NON-EXISTENT LINE <#>": HTAB 3: PRINT "2. AN ILLEGAL STRING ASSIGNMENT <?>": HTAB 3: PRINT "3. AND A SYNTAX ERROR <?>": GOSUB 246: INVERSE : VTAB 14: HTAB 18: PRINT "<#>": HTAB 14: PRINT "<?>";: HTAB 28: PRINT "<?>":B$ = "-- H I S T O R Y   T R A C E R --": GOSUB 226
  12. 45  PRINT "D CODE INVISIBLY MONITORS PROGRAMS AS   THEY RUN AND AUTOMATICALLY KEEPS TRACK  OF WHICH STATEMENTS HAVE BEEN EXECUTED.": PRINT : PRINT "FOR EXAMPLE, SUPPOSE YOU HAVE A PROGRAM THAT CRASHES WITH AN ERROR...": GOSUB 246: PRINT : SPEED= A
  13. 46  PRINT G$"?ILLEGAL QUANTITY ERROR IN 110          ]";:G = 4: GOSUB 256: HTAB 1: PRINT "]": PRINT : SPEED= 255: PRINT "(DON'T PANIC--WE'RE JUST PRETENDING.)": VTAB 17: HTAB 2:G = 6: GOSUB 256: VTAB 17: HTAB 1: PRINT  SPC( 120): VTAB 18: SPEED= B: PRINT "WE CAN LOOK AT THE LAST 10 STATEMENTS   THAT WERE EXECUTED BY TYPING...": PRINT : HTAB 4: PRINT "]";:A$ = "DUMP10"
  14. 47 N = 4: GOSUB 248: PRINT : POKE 34,7: POKE 35,23: SPEED= 222: PRINT "   90  TEXT : HOME : NORMAL : GOSUB 5000   5000  XX = 887: PRINT: RETURN           100  PRINT "Q$"DOGFOOD"Q$"                    110  VTAB Y: HTAB XX": PRINT : PRINT : PRINT : PRINT : TEXT : GOSUB 246: FLASH : VTAB 20: PRINT "A-HA!";: NORMAL :K =  PEEK(37): GOSUB 98: VTAB K +1: HTAB 1: SPEED= B
  15. 48  PRINT "A-HA! WE NOW HAVE A BRIEF HISTORY OF OURPROGRAM, AND WE CAN LOCATE THE PROBLEM--ANY NUMBER OF STATEMENTS MAY BE TRACED! --- ------": GOSUB 98: VTAB 18: HTAB 25: PRINT "<---CRASHED HERE": GOSUB 98: VTAB 23: HTAB 1: CALL  -868: GOTO 100
  16. 98  SPEED= A: FOR I = 1 TO 9: VTAB 16: HTAB 1: PRINT "-->";: FOR J = 1 TO 99: NEXT : HTAB 1: PRINT  SPC( 3);: FOR J = 1 TO 99: NEXT : NEXT : RETURN 
  17. 100 B$ = "-- W I N D O W - T R A C E R --": GOSUB 226: PRINT "YOU MAY ALSO TRACE YOUR PROGRAM'S       STATEMENTS "Q$"LIVE"Q$" DURING EXECUTION.                 ----": GOSUB 246: HTAB 3: PRINT "]";:A$ = "TRACE":G = 1: GOSUB 256: GOSUB 248: PRINT : SPEED= A:X =  PEEK(37): VTAB 21: HTAB 1
  18. 101  PRINT "----------------------------------------";: CALL  -958: SPEED= B: VTAB 24: HTAB 15: PRINT "TRACE WINDOW";: SPEED= B: FOR I = 1 TO 13: VTAB 24: HTAB 26 +I: PRINT "=";: HTAB 15 -I: PRINT "=";: NEXT : HTAB 1: PRINT "<";: POKE 2039,190: GOSUB 246: VTAB 22: HTAB 1: CALL  -868: PRINT : CALL  -868: VTAB X +1: HTAB 3: PRINT "]";:A$ = "RUN": GOSUB 248: VTAB 11: HTAB 1: PRINT  SPC( 120): VTAB 22: HTAB 1: CALL  -958: VTAB 12: HTAB 1:M = 22:H = 1:P = 123: SPEED= 255
  19. 102 A$ = "NOTICE ": GOSUB 124:A$ = "HOW ": GOSUB 124:A$ = "EACH ": GOSUB 124:A$ = "STATEMENT ": GOSUB 124:A$ = "APPEARS ": GOSUB 124:A$ = "IN ": GOSUB 124:A$ = "THE": GOSUB 124:A$ = "WINDOW ": GOSUB 124:A$ = "BELOW ": GOSUB 124:A$ = "AS ": GOSUB 124:P = 75:A$ = "IT ": GOSUB 124:A$ = "IS ": GOSUB 124:A$ = "EXECUTED ": GOSUB 124:A$ = "HERE ": GOSUB 124:A$ = "ON": GOSUB 124
  20. 103  PRINT :A$ = "THE ": GOSUB 124:A$ = "SCREEN...": GOSUB 124:A$ = "UNDISTURBED BY THE TRACING!": GOSUB 124:P = 0: SPEED= A: PRINT : FOR I = 1 TO 40:A$ = "%": GOSUB 124: NEXT :P = 500: PRINT :A$ = "D CODE'S TRACE DOESN'T MESS UP YOUR": GOSUB 124: PRINT :A$ = "SCREEN LAYOUTS LIKE APPLESOFT'S TRACE.": GOSUB 124: VTAB M: HTAB H: POKE 34,21
  21. 104  PRINT " PRINT : PRINT : NOTRACE": TEXT : GOTO 126
  22. 124 Q =  PEEK(37) +1:O =  PEEK(36) +1: VTAB 22: POKE 34,21: VTAB M: HTAB H: PRINT "PRINT "Q$A$Q$";: ";: FOR J = 1 TO P: NEXT :M =  PEEK(37) +1:H =  PEEK(36) +1: VTAB Q: HTAB O: PRINT A$;: FOR J = 1 TO P: NEXT : RETURN 
  23. 126 B$ = "-- V A R I A B L E   T R A C E R --": GOSUB 226: PRINT "D CODE ALSO LETS YOU TRACE A PROGRAM'S  VARIABLE VALUES.": SPEED= A: PRINT "-------- ------": SPEED= B
  24. 127  PRINT "WATCH WHAT HAPPENS TO THE VALUES OF     VARIABLE  X , EXPRESSION X*50, AND      STRING ARRAY A$(X) AS THIS PROGRAM RUNS.": INVERSE : VTAB 13: HTAB 10: PRINT " X ";: HTAB 26: PRINT "X*50": HTAB 14: PRINT "A$(X)": NORMAL : PRINT :X =  PEEK(37): SPEED= A: VTAB 21: HTAB 1: CALL  -958: PRINT "*---------------------------------------": VTAB X +1: HTAB 3
  25. 128  PRINT "]";:G = 2: GOSUB 256:A$ = "RUN": GOSUB 248: FOR J = 1 TO 2: RESTORE : FOR X = 1 TO 26: READ A$: VTAB 22: HTAB 1: PRINT "  X    ="X" ";: HTAB 21: PRINT "A$(X)="A$;: CALL  -868: PRINT : PRINT "  X*50 ="X *50: FOR K = 1 TO 250/X *J: NEXT : NEXT : NEXT : FOR I = 9 TO 20: VTAB I: HTAB 1: CALL  -868: NEXT : VTAB 12: HTAB 1: SPEED= B
  26. 129  PRINT "        D CODE'S ADJUSTABLE-SIZE         TRACE WINDOW WORKS IN 40 & 80-COLUMNS,      AND MAY SIMULTANEOUSLY DISPLAY     PROGRAM STATEMENTS  AND  VARIABLE VALUES": VTAB 21: HTAB 1: PRINT "-";: HTAB 22: PRINT "*": POKE 34,15: SPEED= 222
  27. 130  PRINT "200 X=20: VTAB 16:       X    =20         HTAB 1: SPEED= 255     X*50 =1000     210 PRINT "Q$"AND"Q$";:        A$(X)=FREE CASH  INVERSE : PRINT        Y    =191        "Q$"VARIABLE VALUES."Q$ SPC( 80): SPEED= 255: GOSUB 246: FOR J = 1 TO 2: VTAB 15: HTAB 1: INVERSE : PRINT "PROGRAM STATEMENTS": NORMAL 
  28. 131  CALL  -868: FOR I = 1 TO 100 *J: NEXT : VTAB 15: PRINT "                  ": INVERSE : PRINT "PROGRAM STATEMENTS": FOR I = 1 TO 100 *J: NEXT : NEXT : VTAB 15: HTAB 26: INVERSE : PRINT "VARIABLE VALUES": VTAB 15: HTAB 26: CALL  -868: PRINT : HTAB 26: PRINT "VARIABLE VALUES": NORMAL : VTAB 16: HTAB 20: PRINT "/   \": TEXT :B$ = "-- F A S T   F I N D E R --": GOSUB 226
  29. 132  PRINT "D CODE WILL FIND ANY WORD OR CHARACTER  IN AN APPLESOFT PROGRAM...F-A-S-T !": PRINT : HTAB 3: PRINT "]";:A$ = "FIND": GOSUB 248: PRINT : SPEED= 255: PRINT "  SEARCH FOR:";:A$ = "GOSUB50": GOSUB 248: PRINT : GOSUB 246: PRINT : SPEED= 210: PRINT "     10      50      65     590    2000    6010    5480    5490   12000   12150": PRINT 
  30. 133  PRINT "  OCCURRENCES: 10": GOSUB 246: PRINT : SPEED= B: PRINT "THIS SHOWS US ALL OF THE PROGRAM LINES  THAT CONTAIN THE SEARCH-WORD "Q$"GOSUB 50"Q$".";: GOSUB 246: PRINT "SEARCH MOST PROGRAMS IN UNDER 2 SECONDS!": GOSUB 226: PRINT "FIND & LIST?  (THOUGHT YOU'D NEVER ASK!)----   ----": GOSUB 246: PRINT : HTAB 3: PRINT "]";
  31. 134 A$ = "FINDL": GOSUB 250: PRINT : SPEED= A: PRINT "  SEARCH FOR:";:A$ = "CAR": GOSUB 248: PRINT : PRINT : SPEED= 222:X$ = "  80 A$ = " +Q$: GOSUB 168: PRINT "ROT"Q$": GOSUB 5000":X$ = "  300 ": GOSUB 168:X$ = " = 500: PRINT " +Q$ +"INDY " +Q$ +";": GOSUB 168: PRINT :X$ = "  5020  PRINT " +Q$: GOSUB 168:X$ = "LOS S": GOSUB 168:X$ = "ED ": GOSUB 168: PRINT "L."Q$: GOTO 170
  32. 168  PRINT X$;: INVERSE : PRINT A$;: NORMAL : RETURN 
  33. 170  PRINT : PRINT "  OCCURRENCES: 6": GOSUB 246: PRINT : SPEED= B: PRINT "ALL OCCURRENCES OF THE SEARCH WORD ARE  LISTED AND HIGHLIGHTED IN INVERSE.": GOSUB 246:B$ = "-- P R O G R A M   P A C K E R --": GOSUB 226
  34. 171  PRINT "D CODE LETS YOU COMPACT ANY APPLESOFT   PROGRAM SO IT TAKES UP THE LEAST AMOUNT OF MEMORY AND DISK SPACE POSSIBLE.": PRINT : PRINT "A TYPICAL RESULT MIGHT BE...": GOSUB 246: SPEED= 255: PRINT : PRINT "   OLD LENGTH : 4321": PRINT "   NEW LENGTH : 3210": PRINT "   -----------------"
  35. 172  PRINT "   BYTES SAVED: 1111": GOSUB 246: VTAB 15: HTAB 27: PRINT "UNUSED CODE:": HTAB 28: PRINT "LINE 50": HTAB 28: PRINT "LINE 3000": HTAB 28: PRINT "LINE 5050": GOSUB 246: SPEED= B: VTAB 15: HTAB 27: INVERSE : PRINT "UNUSED CODE:": NORMAL : VTAB 20: PRINT Q$"UNUSED CODE"Q$" MEANS THAT THE PROGRAM    LINES SHOWN CANNOT POSSIBLY BE EXECUTED."
  36. 173 B$ = "-- T H A T ' S   A L L   F O L K S --": GOSUB 226: INVERSE : PRINT " D CODE ";: NORMAL : PRINT " APPLESOFT COMPACTOR & DE-BUGGER": PRINT "COMPATIBLE WITH: APPLE II+, IIE AND IIC";:I = 33: GOSUB 186: PRINT "                 GPLE AND DOUBLE-TAKE";:I = 23: GOSUB 186: PRINT : PRINT "           PLUS: DOS 3.3 AND PRODOS";
  37. 174 I = 26: GOSUB 186: PRINT : GOTO 188
  38. 186  INVERSE : HTAB I: PRINT "AND";: FOR J = 1 TO 200: NEXT : HTAB I: NORMAL : PRINT "AND": HTAB I: PRINT "---";: HTAB 1: RETURN 
  39. 188  PRINT "          PRICE: $39.95": PRINT : PRINT "       POWERFUL: VERY!": GOSUB 246: SPEED= A: FOR I = 1 TO 31: VTAB 24: HTAB I: PRINT A$(I - INT(I/2) *2);: FOR J = 1 TO 55: NEXT : NEXT : CALL  -868:A$(0) = "  *BUG   ":A$(1) = " *BBBUGG  ": FOR I = 30 TO 6  STEP  -1: VTAB 24: HTAB I: PRINT A$(I - INT(I/2) *2);: FOR J = 1 TO 55: NEXT : NEXT : FOR I = 18 TO 24: VTAB I: HTAB 8: PRINT "POW";: VTAB I -1: HTAB 8: PRINT "   ": NEXT : FOR I = 1 TO 20
  40. 189 S =  PEEK(C): NEXT : SPEED= A: VTAB 23: HTAB 7: PRINT "CRASH": CALL  -868: FOR I = 1 TO 99: NEXT : VTAB 23: HTAB 1: CALL  -868: PRINT : HTAB 8: PRINT "POW";: FOR J = 1 TO 5:S =  PEEK(C): NEXT : SPEED= A: VTAB 23: HTAB 6: PRINT "#   *": HTAB 7: PRINT "\POW/";: SPEED= B *.7: VTAB 23: HTAB 6: PRINT "     ": HTAB 7: PRINT " POW ";: SPEED= A: GOSUB 246: GOSUB 246:A$ = "]": FOR I = 13 TO 24: VTAB I: HTAB 1: PRINT A$;: VTAB I -1: HTAB 1: PRINT "  ": NEXT : FOR I = 1 TO 20:S =  PEEK(C): NEXT : SPEED= A: VTAB 23: HTAB 1: PRINT A$: PRINT "   ";
  41. 190  FOR I = 1 TO 99: NEXT : VTAB 23: HTAB 1: CALL  -868: PRINT : HTAB 1: PRINT A$;: FOR J = 1 TO 5:S =  PEEK(C): NEXT : SPEED= A: VTAB 23: HTAB 1: PRINT "!!": PRINT A$;: SPEED= B *.5: VTAB 23: HTAB 1: PRINT "   ": PRINT "]  ";: SPEED= A: VTAB 23: END 
  42. 214  SPEED= A:L =  LEN(A$):P = ( PEEK(33) -L *D -3 *(D =  -1))/2 +(D <0):S = 1:E = L: IF D -1  THEN S = L:E = 1
  43. 218  FOR I = S TO E  STEP D:Z =  PEEK(C): POKE 36,P:P = P +D: PRINT  MID$ (A$,I,1);: NEXT : NORMAL : PRINT :D = 0 -D: RETURN 
  44. 226  GOSUB 246: SPEED= 255: VTAB 24: HTAB 1: INVERSE :A$ = "  <RETURN> TO CONTINUE    <Q> TO QUIT  ": POKE 2039,32: VTAB 24: FOR I = 39 TO 1  STEP  -1: HTAB I: PRINT  MID$ (A$,I,1);: NEXT :F = 0: POKE  -16368,0
  45. 230  VTAB 24: HTAB 4: PRINT "      ";: FOR I = 1 TO 99: NEXT : HTAB 4: PRINT "RETURN";: FOR I = 1 TO 888: NEXT :F = F +1:K =  PEEK(49152): IF K <128  AND F <15  THEN 230
  46. 232  POKE 49168,0: IF K = 141  OR F >14  THEN 240
  47. 236  IF K < >209  THEN 230
  48. 238  TEXT : SPEED= A: VTAB 24: HTAB 1: NORMAL : CALL  -958: VTAB 23: END 
  49. 240  SPEED= A: VTAB 7: HTAB 1: INVERSE : PRINT  SPC( 40): VTAB 7: HTAB 21 - LEN(B$)/2: PRINT B$: NORMAL : IF   NOT R  THEN  FOR I = 8 TO 23: VTAB I: HTAB 1: PRINT  SPC( 40): NEXT : GOTO 244
  50. 242  FOR I = 8 TO 23: VTAB I: HTAB 1: PRINT  SPC( 40 *(I < >16)): NEXT : INVERSE : VTAB 24: PRINT  SPC( 39): POKE 2039,32: VTAB 8: PRINT : NORMAL : SPEED= B: RETURN 
  51. 244  INVERSE : VTAB 24: PRINT  SPC( 39): POKE 2039,32: VTAB 8: PRINT : NORMAL : SPEED= B: RETURN 
  52. 246  FOR J = 1 TO 999: NEXT : RETURN 
  53. 248 G = 2: GOSUB 256
  54. 250  FOR I = 1 TO  LEN(A$): PRINT "<CTRL-H>";: GOSUB 254: PRINT " <CTRL-H>";: GOSUB 254: PRINT  MID$ (A$,I,1);: IF  MID$ (A$,I,1) = " "  THEN G = 1: GOSUB 256
  55. 252  GOSUB 254: NEXT I:G = 1: GOTO 256
  56. 254 K =  INT( RND(1) *25) *N: FOR J = 1 TO K: NEXT : RETURN 
  57. 256  SPEED= 255: FOR K = 1 TO G: PRINT "<CTRL-H>";: FOR J = 1 TO 250: NEXT : PRINT " <CTRL-H>";: FOR J = 1 TO 250: NEXT : NEXT : RETURN 
  58. 258  SPEED= A: INVERSE : PRINT " COMPACTOR ";: SPEED= B: NORMAL : PRINT " PACKS PROGRAMS TO SAVE SPACE";: PRINT : SPEED= A: INVERSE : PRINT " SYNTAX CHECKER ";: SPEED= B: NORMAL : PRINT " PROOFREADS PROGRAMS AND  FINDS ERRORS BEFORE THEY OCCUR": PRINT : SPEED= A: INVERSE : PRINT " FINDER ";: SPEED= B: NORMAL : PRINT " LOCATES ANY STRING IN 2 SECONDS";: PRINT : INVERSE : SPEED= A: PRINT " BREAKPOINTS ";: SPEED= B: NORMAL 
  59. 259  PRINT " PRE-SETS ERROR TRAPS": PRINT : SPEED= A: INVERSE : SPEED= A: PRINT " HISTORY TRACER ";: SPEED= B: NORMAL : PRINT " SHOWS THE MOST-RECENTLY  USED STATEMENTS AFTER A PROGRAM STOPS": PRINT : INVERSE : SPEED= A: PRINT " WINDOW TRACER ";: SPEED= B: NORMAL : PRINT " NEATLY TRACES STATEMENTS  AND VARIABLES IN A SEALED-OFF WINDOW": PRINT 
  60. 260 B$ = "-- I N T R O --": GOSUB 226: GOTO 36
  61. 272  POKE 17760,7: POKE 17761,7: POKE 17762,6: POKE 17763,118: POKE 17764,6: POKE 17765,119: POKE 17766,125: POKE 18784,119: POKE 18785,118: POKE 18786,95: POKE 18787,119: POKE 18788,118: POKE 18789,102: POKE 18790,125: POKE 19808,119: POKE 19809,118: POKE 19810,95: POKE 19811,119: POKE 19812,118: POKE 19813,86: POKE 19814,125: POKE 20832,7: POKE 20833,7: POKE 20834,95
  62. 273  POKE 20835,119: POKE 20836,6: POKE 20837,55: POKE 20838,125: POKE 21856,87: POKE 21857,119: POKE 21858,95: POKE 21859,119: POKE 21860,86: POKE 21861,119: POKE 21862,124: POKE 22880,55: POKE 22881,119: POKE 22882,95: POKE 22883,119: POKE 22884,54: POKE 22885,119: POKE 22886,125: POKE 23904,119: POKE 23905,6: POKE 23906,94: POKE 23907,15: POKE 23908,119
  63. 274  POKE 23909,118: POKE 23910,125: GOSUB 246: IF  PEEK( -16384) <128  THEN  POKE 230,64: HCOLOR= 3: FOR I = 115 TO 155: HPLOT I,145 TO I,151: NEXT : GOSUB 246
  64. 282 K =  PEEK( -16384):F = F +1: IF K <128  AND F <5  THEN 272
  65. 284  POKE  -16368,0: RETURN : DATA ARITHMETIC,BELL,COASTER,DING-DONG,ELEPHANT,FROG,GOLF BALL,HELICOPTER,INK,JUJUBES,KING KONG,LADDER,MOO-OOO,NITPICK,OSTRICH,PROWLER,QUAIL,ROOSTER,SAN DIEGO ZOO,TULSA,UNCLE LOUIE,VALENTINE,WAXY BUILD-UP,XEBEC,YOOHOO,ZULU