> ModuleList 2 Examine modules from Communicator ROM images : (path$="Comm100\" 2"base$=path$+"Communicator-rom" <ext$ ="-100.rom" F bas$ ="." Pdest$=path$+"Modules\" Zprog$=path$+"Programs\" d: n list%=*0 x mem% 255  ::#0:: : base0%=0  rom%=0 3 in$=base$+rom%+ext$ =in%=(in$): in%:examine:base0%=base0%+#in%:#in%:in%=0 rom%  list%=0:  34;"| | | | | |" ) 34;"| | | | | +---- Reserved" & 34;"| | | | +---- Reserved" ' 34;"| | | +---- Module flags" $ 34;"| | +---- Module flags" 1 34;"| +---- &01=Task, &02=Printer Driver" G 34;"+---- &80=BAS, &40=DEV, &20=FS, &08=CODE, &02=BANK, &01=POS"  ": , examine 6 base%=0 @:module: base%>=#in%: J: T module ^#in%=base% h8 A%=0 255:mem%?A%=#in%: A%: Read module header rsize%=(mem%!3 &FFFFFF)+2 |'version$=~mem%?7+"."+h0(mem%?6,2) flag%=mem%?8 Ktitle$="":A%=14: mem%?A%::title$=title$+(mem%?A%):A%=A%+1:mem%?A%=0 Khelp$="" :A%=A%+1: mem%?A%::help$=help$+(mem%?A%):A%=A%+1:mem%?A%=0 Jcmds$="":A%=title$,"/"): A%:cmds$=title$,A%+1):title$=title$,A%-1) (code%=A%+1:entry%=(mem%!1 &FFFF)+3 I mem%?0<>&82:title$="":help$="":cmds$="":size%=256  list%:list: 7 "Address: ";h0(base0%+base%,6);"+";h0(size%,4)  "Title: "title$  "Version: "version$  "Commands: "cmds$  "Help: "help$ 8 "Flags: ";: A%=8 13:h0(mem%?A%,2);" ";:: + "D/S/B/ret";:K%=(&DF):13;10;13;  K%="D":dump  K%="S":save & K%="B":basic 0 :"base%=(base%+size%+255) -256 D N: X list b&title$=title$,title$+"/","/")-1) l+ h0(base0%+base%,6);"+";h0(size%,4); v< " ";title$;(15-title$);(5-version$);version$;" "; , A%=8 13:h0(mem%?A%,2);" ";::A$="" 0 mem%?9 &01:A$=A$+" TASK" A$=A$+" " / mem%?9 &02:A$=A$+" VPD" A$=A$+" " / mem%?8 &80:A$=A$+" BAS" A$=A$+" " / mem%?8 &40:A$=A$+" DEV" A$=A$+" " . mem%?8 &20:A$=A$+" FS" A$=A$+" " 0 mem%?8 &08:A$=A$+" CODE" A$=A$+" " 0 mem%?8 &02:A$=A$+" BANK" A$=A$+" " / mem%?8 &01:A$=A$+" POS" A$=A$+" "  mem%?0<>&82:A$=""  A$ "base%=(base%+size%+255) -256  :  dump % A%=0 255 16:h0(A%,4);" ";  - B%=A% A%+15:h0(mem%?B%,2);" ";: B% *& B%=A% A%+15:c(mem%?B%);: B% 4 > A% H R: \ save f, mem%?0<>&82:title$=h0(base0%+base%,6) p"Saving ";title$; z dest$<>"":cdir(dest$) #in%=base% out%=(dest$+title$+bas$) $ A%=1 size%:#out%,#in%: A%  #out%:  :  basic ! (flag%&80)=0 flag%=&FF: IA%=entry%::A%=A%+1:mem%?A%=&62:A%=A%+1:code%=A%+2+(mem%!A% &FFFF) "Saving ";title$;  prog$<>"":cdir(prog$) #in%=base%+code% out%=(prog$+title$+bas$) ( A%=code% size%:#out%,#in%: A%  #out%:  $: .-ݤc(A%):A%=A%127:A%<32A%=127:="."=A% 8#ݤh0(A%,N%)="0000000"+~A%,N%) Bcdir(A$) L : V "MKDIR "+A$ `