900 PRINT"[147]":POKE53280,6:POKE53281,1 1000 PRINTSPC(15)"AUTO-GEN" 1010 PRINTSPC(13)"SEP 1, 1984" 1020 PRINTSPC(13)"DAVID A JONES" 1030 REM CREATES DISK FILE OF DATA STATEMENTS CONTAINING IMAGE OF MEMORY 1040 : 1050 FL=0 : REM FIRST MEMORY LOCATION TO BE SAVED 1060 LL=0 : REM LAST MEMORY LOCATION TO BE SAVED 1070 LN=1000 : REM OUTPUT PROGRAM LINE NUMBER 1080 LB=0 : REM LOW BYTE OF 16 BIT NUMBER 1090 HB=0 : REM HIGH BYTE OF 16 BIT NUMBER 1100 HH=0 : REM TEMP STORE FOR HEXIDECIAML CONVERSION 1110 MM=0 : REM DECIMAL VALUE OF NUMBER CONVERTED FROM STRING 1120 ND=10 : REM NUMBER OF DATA ITEMS PER LINE 1130 NL=2049 : REM POINTER TO START OF NEXT BASIC LINE 1140 X=0 : REM OUTER LOOP COUNTER 1150 Y=0 : REM INNER LOOP COUNTER 1160 Z=0 : REM DATA ITEM COUNTER 1170 C$="," : REM COMMA 1180 D$=CHR$(131): REM BASIC TOKEN FOR "DATA" 1190 S$=" " : REM SPACE 1200 FI$="" : REM OUTPUT FILE NAME 1210 NN$="" : REM NUMBER STRING INPUT 1220 X$="" : REM 4 CHARACTER STRING REPRESENTING 1 MEMORY LOCATION 1230 : 1240 : REM MAIN PROGRAM 1250 : 1260 PRINT:INPUT"FIRST MEMORY LOCATION";NN$ 1270 MM=VAL(NN$) 1280 IF LEFT$(NN$,1)="$" THEN GOSUB 1830 1290 FL=MM 1300 PRINT:INPUT"LAST MEMORY LOCATION";NN$ 1310 MM=VAL(NN$) 1320 IF LEFT$(NN$,1)="$" THEN GOSUB 1830 1330 LL=MM 1340 PRINT:INPUT"STARTING LINE NUMBER";LN 1350 PRINT:INPUT"NUMBER OF DATA ITEMS PER LINE";ND 1360 PRINT:INPUT"OUTPUT FILENAME";FI$ 1370 : 1380 OPEN 15,8,15 1390 OPEN 8,8,8,"0:"+FI$+",P,W" 1400 GOSUB 1920 1410 : 1420 PRINT#8,CHR$(1);CHR$(8);: REM PROGRAM LOAD LOCATION 1430 : 1440 : REM MAIN LOOP 1450 : 1460 FOR X=FL TO LL STEP ND 1470 NL=NL+2+2+1+4*ND+1 1480 LB=NL-256*(INT(NL/256)): HB=INT(NL/256) 1490 PRINT#8,CHR$(LB);CHR$(HB);: REM NEXT BASIC LINE 1500 LB=LN-256*(INT(LN/256)): HB=INT(LN/256) 1510 PRINT#8,CHR$(LB);CHR$(HB);: REM NEXT LINE NUMBER 1520 PRINT LN;: REM SHOW USER WHAT'S HAPPENING 1530 PRINT#8,D$;: REM DATA TOKEN 1540 : 1550 FOR Y=X TO X+ND-1: REM 0 TO 9 = 10 ITEMS 1560 X$=RIGHT$(" "+STR$(PEEK(Y)),3) 1570 : 1580 FOR I=1 TO 3 1590 PRINT#8,CHR$(ASC(MID$(X$,I,1))); 1600 NEXT I 1610 : 1620 Z=Z+1 1630 IF Z9) 1870 NEXT 1880 RETURN 1890 : 1900 : REM DISK I/0 ERROR 1910 : 1920 INPUT#15,EN$,EM$,ET$,ES$: EN=VAL(EN$) 1930 IF EN=0 THEN 1970 1940 PRINT"DISK I/O ERROR "; 1950 PRINT EN$,EM$,ET$,ES$ 1960 CLOSE 8: CLOSE 15: STOP 1970 RETURN