10 REM This program will split up a mode 7 *RUN file into one or more Basic 20 REM programs. It works by *SPOOLing the original file to disc into a 30 REM size you determine by the name you determine. The SPOOLED files must 40 REM be converted to BASIC by typing *EX. . They may then be 50 REM saved by . The first program will then CHAIN the next. 60 REM There is a function to turn 10 SPOOLED files into BASIC at 70 REM the end of this routine. Press F0 after SPOOLing has ended. 80 REM As a general rule: Lines no more than 5000. The largest *RUN file 90 REM needs about 6100 lines. So you should never need more than 2 files. 100 REM If you set maximum lines to a low figure, you will end up with a lot 110 REM of small files to convert. 120 DEFFNS="7toBas" 130 MODE7 140 VDU23;8202;0;0;0; 150 F$="Bas" 160 M%=5000 170 ON ERROR:CLOSE#0:OSCLI"SPOOL":REPORT:PRINTERL:END 180 REPEAT 190 CLS 200 PRINT'TAB(9)"8-Bit Software" 210 PRINTTAB(9)"ƒ8-Bit Software" 220 PRINT'TAB(9)"ƒBy C.J.Richardson." 230 PRINT'"‚Convert a Mode 7 *RUN file into a" 240 PRINT"‚basic program. See REM lines for info." 250 PRINT'"†The first file name will be ";F$;"1" 260 PRINT"†If needed, the next will be ";F$;"2 Etc." 270 PRINT'"…The file will be split into programs" 280 PRINT"…with the last line number as ";STR$(M%);"." 290 PRINT'TAB(7)"„ƒPlease enter 1 - 3 œ" 300 PRINT'"1.‚Change start file name from ";F$;"1" 310 PRINT"2.‚Change last line number from ";STR$(M%) 320 PRINT"3.‚Start Conversion." 330 REPEAT 340 A$=GET$ 350 UNTILINSTR("123",A$) 360 PRINT 370 IF A$="1" REPEAT:PRINT"†Please enter first file name."'"†No longer than 5 letters please.":INPUT'F$:UNTILLENF$<6 AND LENF$>0 380 IF A$="2" REPEAT:PRINT"…Please enter the maximum line number"'"…for each file.":INPUT'M%:UNTIL M%>10 AND M%<32600 AND M% MOD 10=0 390 UNTILA$="3" 400 CLS 410 *. 420 PRINT"‚Convert which file?" 430 INPUTC$ 440 F%=OPENIN C$ 450 PTR#F%=&E6 460 A%=BGET#F% 470 IF A%<>&D:PTR#F%=&10C 480 L%=1 490 REPEAT 500 OSCLI"SPOOL "+F$+STR$L% 510 PRINT"0DEFFNS=""";F$;STR$(L%);"""" 520 PRINT"1MODE7:VDU23;8202;0;0;0;:VDU14" 530 C%=10 540 REPEAT 550 PRINTSTR$(C%);"PRINT"""; 560 FORJ%=1TO40 570 A%=BGET#F% 580 VDUA% 590 IF A%=34 VDUA% 600 NEXT 610 PRINT""";" 620 C%=C%+10 630 UNTILC%=M% OR PTR#F%=EXT #F% 640 IF PTR#F%<>EXT #F%:PRINTSTR$(C%);"CHAIN""";F$;STR$(L%+1);"""" 650 *SPOOL 660 L%=L%+1 670 UNTIL PTR#F%=EXT #F% 680 CLOSE#F% 690 OSCLI"K.0 NEW|M*EX."+F$+"1|MSA.FNS|MNEW|M*EX."+F$+"2|MSA.FNS|MNEW|M*EX."+F$+"3|MSA.FNS|MNEW|M*EX."+F$+"4|MSA.FNS|MNEW|M*EX."+F$+"5|MSA.FNS|M*FX138 0 129|M" 700 OSCLI"K.1 NEW|M*EX."+F$+"6|MSA.FNS|MNEW|M*EX."+F$+"7|MSA.FNS|MNEW|M*EX."+F$+"8|MSA.FNS|MNEW|M*EX."+F$+"9|MSA.FNS|MNEW|M*EX."+F$+"10|MSA.FNS|M" 710 CLS 720 PRINT"†Now Press F0 to convert"'"†SPOOLED files to BASIC programs." 730 PRINT"ƒTYPE CHAIN """;F$;"1"" to run" 740 PRINT"‚Or convert the files yourself."