start tok128 d64-7EpL7n 1000 PRINT"{clear} *** auto boot creator ***{down}" 1010 REM 1020 REM by fred bowen & terry ryan 1030 REM 1040 COLOR 0,5:COLOR 4,5:COLOR 5,8 1050 IF PEEK(215) = 128 THEN COLOR 6,5 1060 OPEN15,8,15,"ij": nu$=CHR$(0) 1070 : IF ds THEN PRINT"*** disk error: ";ds$: e=-1: GOTO1740 1080 OPEN8,8,8,"#" 1090 PRINT#15,"u1:8 0 18 0":PRINT#15,"b-p";8;5 1100 : GET#8,ba$ 1110 PRINT#15,"u1:8 0 1 0" 1120 : FORi=0TO24: GET#8,a$: bl$=bl$+CHR$(ASC(a$)): NEXT 1130 IF (ASC(ba$)AND1)=0 THEN BEGIN 1140 : IF LEFT$(bl$,3)="cbm" THEN BEGIN 1150 : PRINT"*** already a boot disk: "; 1160 : i=8 1170 : DO 1180 : a$=MID$(bl$,i,1) 1190 : PRINTa$; 1200 : i=i+1 1210 : LOOP UNTIL a$=nu$ 1220 : PRINT 1230 : BEND: ELSE BEGIN 1240 : PRINT"*** boot sector used by another program ***" 1250 : BEND 1260 : INPUT"{down}{reverse on} continue (y/n){space*3}{reverse off}{space*4}{reverse off}n{left*3}";a$ 1270 : IF a$<>"y" THEN e=-1: GOTO1740 1280 : ba = -1 1290 BEND 1300 PRINT"{down}{reverse on} enter your program's name " 1310 PRINT"{reverse on} (up to 16 characters){space*5}" 1320 INPUT"{down}{space*2}startup{left*9}";f$ 1330 : 1340 IFLEN(f$)>16 THEN BEGIN 1350 : PRINT"{down}{space*5}that's too big!"; 1360 : SLEEP2 1370 : GOTO1320 1380 : BEND 1390 IFf$=""THENEND 1400 : 1410 PRINT"{down}{reverse on} enter your program's type " 1420 PRINT"{reverse on} ('basic' or 'binary'){space*5}" 1430 INPUT"{down}{space*2}basic{left*7}";t$ 1440 : 1450 IF t$<>"basic" AND t$ <> "binary" THEN BEGIN 1460 : PRINT"{down}{space*5}enter 'basic' or 'binary'"; 1470 : SLEEP2 1480 : PRINT"{up*3}"CHR$(27)"@{up}" 1490 : GOTO1430 1500 : BEND 1510 IF t$="basic" THEN rm$="run" : ELSE rm$="boot" 1520 : 1530 PRINT"{down}{reverse on} remove the{space*2}write protect " 1540 PRINT"{reverse on} tab from the disk and put " 1550 PRINT"{reverse on} your disk into drive 0 of " 1560 PRINT"{reverse on} unit 8.{space*2}be very careful! " 1570 PRINT"{reverse on} this program will destroy " 1580 PRINT"{reverse on} data in track 1 sector 0. " 1590 PRINT"{reverse on} press{space*2}return to continue " 1600 GETKEYa$: IF ASC(a$)<>13 THEN e=-1: GOTO1740 1610 : 1620 aa= LEN(f$)+DEC("b00")+15 1630 al= aa AND 255: ah= aa / 256 1640 : 1650 PRINT#15,"b-p 8 0" 1660 PRINT#8, "cbm";nu$;nu$;nu$;nu$;f$;nu$;nu$; 1670 PRINT#8, CHR$(162);CHR$(al);CHR$(160);CHR$(ah); 1680 PRINT#8, CHR$(76);CHR$(DEC("a5"));CHR$(DEC("af")); 1690 PRINT#8, rm$;CHR$(34);f$;nu$ 1700 PRINT#15, "u2:8 0 1 0" 1710 IF ba=0 THEN PRINT#15, "b-a 0 1 0" 1720 a$=ds$ 1730 : 1740 CLOSE8: CLOSE15 1750 IF e THEN PRINT"{down}*** aborted ***": END 1760 PRINT "{down}*** done ***" 1770 END stop tok128 (bastext 1.0)