10
20 :
30 A%=0:X%=1:os%=((USR&FFF4)AND&FF00)DIV256
40 DIM ctrl% 31,mem% &3FFF:X%=ctrl%:Y%=X%DIV256
50 s$=".":IFos%AND32:d$="\"ELSE IFos%AND8:d$="/"ELSE s$="/":d$="."
60 out$="MOS321"+s$+"rom"
70 :
80 ok%=TRUE:ON ERROR ok%=FALSE
90 IF ok%:OSCLI"Access "+out$+" wr/wr"
100 ON ERROR OFF
110 :
120 PRINT"Building 128K ROM image";
130 out%=OPENOUT(out$):PRINT
140 FOR rom%=8 TO 15:READ A$:PRINT A$;
150 OSCLI"Load "+A$+" "+STR$~mem%
160 IF rom%=14:READ A$:IF A$<>"":IF A$<>"*":PRINT 'A$;:OSCLI"Load "+A$+" "+STR$~mem%
170 PROCgbpb(2,out%,mem%,&4000,PTR#out%)
180 PRINT:NEXT rom%
190 :
200 PRINT "Fix Y2K bug";
210 PTR#out%=7*&4000+&9881-&8000:BPUT#out%,&20
220 PRINT'"Fix *MOVE bug";
230 PTR#out%=7*&4000+&91E0-&8000:BPUT#out%,&80
240 PRINT'"Fix OSBYTE &6B bug";
250 PTR#out%=0*&4000+&EEAB-&C000:BPUT#out%,&EA:BPUT#out%,&98
260 PRINT'"Change to version 3.21";
270 PTR#out%=7*&4000+&9F07-&8000:BPUT#out%,&31
280 PTR#out%=0*&4000+&EF79-&C000:BPUT#out%,&31
290 CLOSE#out%:out%=0:PRINT
300 OSCLI"Access "+out$+" R/R"
310 OSCLI"SetType "+out$+" BBC"
320 OSCLI"Stamp "+out$
330 END
340 :
350
360 DATA :System.ROMs.AcornMOS.Master320.G_MOS320
370
380 DATA :System.ROMs.Filing.Disk.Acorn.DFS224MsRC
390 DATA :System.ROMs.Filing.Network.Acorn.ANFS425
400 DATA :Software.HADFS.SystemDisk.HADFSROM
410 DATA :System.ROMs.AcornMOS.Master320.C_BASIC400
420 DATA :Info.Comp.BBC.IDE.ADFS.ADFS153
430 :
440
450 DATA :System.ROMs.AcornMOS.Master320.E_ViewB30
460 :
470
480 DATA :System.ROMs.TextEd.ViewJ300lo
490 :
500
510 DATA :System.ROMs.AcornMOS.Master320.F_TUtil320
520 :
530
540 DEFPROCgbpb(A%,chn%,addr%,num%,ptr%)
550 ?X%=chn%:X%!1=addr%:X%!5=num%:X%!9=ptr%:IFPAGE<&FFFFF:CALL &FFD1:ENDPROC
560 IFA%=1ORA%=3:PTR#?X%=X%!9
570 REPEAT:IFA%=1ORA%=2:BPUT#?X%,?X%!1 ELSE IFA%=3ORA%=4:?X%!1=BGET#?X%
580 X%!1=X%!1+1:X%!5=X%!5-1:UNTIL(EOF#?X% AND A%>2)OR X%!5<1:ENDPROC