10 REM ÃÈÅÃË DEBUGGING AID BY ISTVAN MOHOS›20 REM VERSION 2 MODS BY TOM HUDSON›30 GRAPHICS 0:? :? "This run will LIST data statements with the name: ÂÕÇ, to the disk."›40 ? :? "The ÂÕÇ DATA is created by evaluating each character of a user program, LISTed to disk.":? ›50 DIM FI$(15)›60 CLOSE #1:? "ENTER FILENAME";:INPUT FI$›70 PIK=PEEK(559):Z=0:REM ãïîóôáîôó›80 ? :? "ENTER ISSUE NUMBER";:TRAP 80:INPUT ISSUE›90 TRAP 60:OPEN #1,4,0,FI$›100 ON X GOTO 180,280›110 ? "}":? "DISABLING SCREEN...STAND BY...":FOR I=1 TO 800:NEXT I:POKE 559,Z:REM debug before poking›120 LINECOUNT=Z:DIM I$(126)›130 TRAP 150:INPUT #1;I$:LINECOUNT=LINECOUNT+1›140 GOTO 130›150 CLOSE #1:Q=INT(LINECOUNT/15):DIM C(LINECOUNT),R(Q),S$(5):IF (LINECOUNT=Z OR I$="") THEN 530›160 IF ASC(I$(1,1))<48 OR ASC(I$(1,1))>57 THEN 530›170 X=1:GOTO 90›180 RANGE=Z:LINE=Z:FOR I=1 TO 5:S$(I,I)=" ":NEXT I›190 COUNT=Z›200 INPUT #1;I$:T=1:COUNT=COUNT+1›210 IF I$(T,T)<>" " THEN S$(T,T)=I$(T,T):T=T+1:GOTO 210›220 LINE=VAL(S$)›230 R(RANGE)=LINE:RANGE=RANGE+1›240 TRAP 270:INPUT #1;I$›250 COUNT=COUNT+1:IF COUNT=15 THEN 190›260 GOTO 240›270 CLOSE #1:X=2:GOTO 90›280 FOR I=1 TO LINECOUNT:CHECKSUM=Z›290 GET #1,NUMBER:PRODUCT=X*NUMBER:CHECKSUM=CHECKSUM+PRODUCT:X=X+1:IF X=4 THEN X=1›300 IF NUMBER=155 THEN 320›310 GOTO 290›320 CHECKSUM=CHECKSUM-1000*INT(CHECKSUM/1000):C(I)=CHECKSUM:IF ISSUE>9 THEN X=2›330 NEXT I›340 CLOSE #1:OPEN #1,8,0,"D:BUG":LINE=R(Z):ITEM=Z›350 COUNT=15:TOTAL=Z:IF LINECOUNT<15 THEN COUNT=LINECOUNT›360 PRINT #1;LINE;" DATA ";›370 FOR I=1 TO COUNT:DATUM=C(15*ITEM+I):PRINT #1;DATUM;",";:TOTAL=TOTAL+DATUM:NEXT I›380 PRINT #1;TOTAL›390 ITEM=ITEM+1:LINECOUNT=LINECOUNT-15:IF LINECOUNT<1 THEN 420›400 LINE=R(ITEM)›410 GOTO 350›420 CLOSE #1:POKE 559,PIK›430 ? "}ýTo check ÂÕÇ data against printed data statements, type NEW. Then type:"›440 ? "ENTER ";CHR$(34);"D:BUGÒÅÔÕÒÎ . Type LIST after the READY prompt."›450 ? :? "The line number of each data statementcoincides with the first line of the"›460 ? "user program which the data statement evaluates."›470 ? "Numbers within each data statement represent consecutive lines of the user program."›480 ? "The last number is the total."›490 ? :? "Check the ìáóô number of each state- ment against the printed version;"›500 ? "only in case of a discrepancy check each number in the data statement."›510 ? "Make note of the lines containing the bugs. Then ENTER ";CHR$(34);"D:yourprogÒÅÔÕÒÎ"›520 ? "to make the corrections.":END ›530 POKE 559,PIK:? "}ý":? "Your typed-in program was not properlyLISTed to disk."›540 ? :? "Please LIST your program to disk, thenRUN ";CHR$(34);"D:CHECK";CHR$(34);" again.":CLR :END ›