> ROMBASIC 4 Put BASIC program in ROM runnable on ARM CoPro : ( mcode% &3FFF 2!"BASIC file to embed: "file$ <&in%=(file$):in%:ext%=#in%:#in% F(in%=0:"File '"file$"' not found": P,ext%>&3F00:"File '"file$"' too long": Z""ROM Title: "title$ d$"Version string: "version$ n)"Copyright string: (C)"copyright$ x assem "LOAD "+file$+" "+~prg% %$st%="@"+h0(prg%-mcode%+&C000,8) *$en%=","+h0(prg%+ext%-mcode%+&C000,8) " "Filename to save as: "file$ F"SAVE "+file$+" "+~mcode%+" "+~(prg%+ext%)+" FFFF0000 FFFBBC00"  : #ݤh0(A%,N%)="0000000"+~A%,N%) : assem P=0 1 P%=&8000:O%=mcode% [OPT P*2+4 *JMP Language+&4000 :\ Language entry )JMP Service :\ Service entry 5EQUB &ED :\ Service+Language+Tube+ARM "EQUB Copyright ,!EQUB version$ :\ Version 6%EQUS title$ :\ ROM title @*EQUB 0:EQUS version$ :\ Version string J.Copyright T5EQUB 0:EQUS "(C)"+copyright$ :\ Copyright message ^ EQUB 0 h9EQUD &0000C000 :\ Tube transfer address r: | .Service CMP #4:BEQ Serv4:RTS  .Serv4 LDX #0:TYA:PHA  .Serv4Lp LDA (&F2),Y CMP #13:BEQ Serv4Match CMP #".":BEQ Serv4Dot ' #&FF:CMP &8009,X:BNE Serv4NoMatch INY:INX:BNE Serv4Lp .Serv4Match *LDA &8009,X:CMP #"!":BCS Serv4NoMatch  .Serv4Dot LDX &F4:LDA #142:JMP &FFF4 .Serv4NoMatch PLA:TAY:LDX &F4:LDA #4:RTS : &#EQUS (4-(P%3))3,0) :\ ALIGN 0 .Language :%EQUD &E28F0000 :\ ADR R0,cmdBASIC D"EQUD &EF000005 :\ SWI "OS_CLI" N!.cmdBASIC:EQUS "BASIC -quit " X/.st% :EQUS "@00000000,00000000":EQUB 13 b#EQUS (4-(P%3))3,0) :\ ALIGN l: v .Program : ]