1 CLEAR256,MAXRAM-1800:BF=MAXRAM-1800+1 2 REM creates BASIC loader from CO file 3 REM by Tracy Allen 76670-326, fixed/changed T. Jennings 4 REM needs temporary storage from himem to maxram 7 f$="###":g$="##":h$="#" 8 if peek(1)=51 then DR=63842 ELSE DR=62034 'file directory 9 CLS:INPUT"create BA loader filename";N$ 10 INPUT"from CO file (upr case, w/o .CO)";C$ 15 IF LEN(C$)>6 THEN BEEP:GOTO10 20 I$=LEFT$(C$+" ",6) 25 I=-1 30 I=I+1:IF I>23 THEN PRINT"no such .CO file":GOTO10 35 AD=DR+I*11:IF PEEK(AD)<>160 THEN30 40 J$="":FOR J=3TO8:J$=J$+CHR$(PEEK(AD+J)):NEXTJ 45 IFJ$<>I$THEN30 50 AF=PEEK(AD+1)+256*PEEK(AD+2) 55 A=PEEK(AF)+256*PEEK(AF+1) 60 N=PEEK(AF+2)+256*PEEK(AF+3) 65 B=N+A-1 70 C=PEEK(AF+4)+256*PEEK(AF+5) 75 PRINT"top adrs";A 80 PRINT"# bytes";N 85 PRINT"end adrs";B 90 PRINT"exe adrs";C 100 REM move file 102 PRINT "Loading/checksumming" 105 IF N>MAXRAM-BF-1THENBEEP:PRINT"clear more in line 8!":END 110 CS=0:FOR I=0 TO N-1 115 D%=PEEK(AF+6+I):CS=CS+D%:POKEBF+I,D%:IF(IMOD10=0)THENPRINTBF+I;chr$(13); 120 NEXT I 130 PRINT "Saving" 200 OPEN N$ FOR OUTPUT AS 1 205 PRINT#1,"1 ?";chr$(34);"Loading, wait...";chr$(34) 210 PRINT#1,"5 REM clear0,";A 215 PRINT#1,"10 CS=0:FOR AD=";A;"TO";B 220 PRINT#1,"15 READ D%:POKE AD,D%:CS=CS+D%:NEXT AD" 230 PRINT#1,"25 IF CS<>";CS;"THEN BEEP :?";CHR$(34);"Typo in data!!?";CHR$(34);":END" 232 print#1,"28 ?"chr$(34);"Saving as "c$;".CO";chr$(34) 245 PRINT#1,"32 SAVEM";CHR$(34);c$;CHR$(34);",";A;",";B;",";C 250 PRINT#1,"35 END"; :'NOTE! NO CR HERE! ... done by 1st pass thru line 306 300 FOR I=0 TO N-1 306 IF I MOD 50<>0 THEN GOTO 315 308 PRINT#1,chr$(13);chr$(10); 310 d%=50+i/50:gosub 500 312 print#1,"DATA";:PRINT BF+i;chr$(13); 315 D%=PEEK(BF+I) :gosub 500 316 if (i+1) MOD 50<>0 THEN PRINT#1,","; 335 NEXT I 340 if I MOD 50 <> 0 THEN PRINT#1, 345 print 350 end 500 if d%>99 then print#1,usingF$;D%;:return 502 if d%>9 then print#1,usingG$;D%;:return 504 print#1,usingH$;D%;:return