>M-8000 mock-up ) v0.01 Initial version by GWH & JGH . v0.01b Optionally displays direct to VDU ( v0.02 Sets HIMEM better 2grog%=:A%=(100):vdu%=-1 <9 7:8,12)"Watch the LCD screen...!";:23,1;0;0;0;0; Fa os%=FNosb(0,1,0):IFos%<6:HIMEM=FNosb(132,0,0) ELSE SYS"OS_GetEnv" TO ,A%:HIMEM=A%:vdu%=TRUE PVos%=osb(0,1,0):<&FFFF:=osb(132,0,0) vdu%=: <&FFFF:ș"OS_GetEnv",A%:=A% ZBedstart%=-&A00:memstart%=edstart%+&200:=edstart%:noprogs%=16 dVERS$="0.02" nR ctrl% 19,data% 19,file$(31),load%(31),exec%(31),attr%(31),progpos%(noprogs%) x@rst%=16:cls%=1:home%=2:rtn%=3:fwd%=4:rev%=5:right%=6:left%=7 8doff%=12:don%=13:del$=(127):upkey$=&8A:dnkey$=&8B .lft$=del$:rgt$="~":vdu%:lft$="[":rgt$="]" 2arrow$=" "+lft$+"-- --"+rgt$+" ":gap$=" ___ " Tk0%=0-grog%-(os%>5):a%=0 7:"KEY "+(k0%+a%)+(65+a%)::"KEY "+(k0%+8)+" Y" . grog%:"KEY 0 N" "KEY "+(k0%+9)+" N" ( ::"FX4":<128 err(err) *FX4,1 :  Initialise: /c(rst%,0):c(rst%,1):c(cls%,0):c(cls%,1) "_" K$=((K$)-32) 3 K$="A" progno%=(progno%+noprogs%-1) noprogs% * K$="B" progno%=(progno%+1) noprogs% 2 K$<>"D" prot%=prot% 1:progstart%?11=prot% & K$<>"F" prot% K$="*" edit  K$="H" file "ABDFH",K$) "FH",K$) & 0 0 :: D)edit: K$,linkno%,outno%,inno%,ptr% Nc(cls%,1):pr(0,0,"EDIT:") X;progstart%=progpos%(progno%):copy(progstart%,edstart%) b=noconn%=edstart%?17:edfin%=edstart%+(edstart%!12 &FFFF) l9:pr(4,0,": "):clr(2):sh_link(linkno%,ptr%) vH noconn% pr(0,2,"Connection"):pr(0,3,arrow$) pr(0,3,gap$+gap$) Apr(10,3," Add "): linkno% pr(15,3,"Del.") pr(15,3,gap$) #pr(20,3,"Link Pedl Name Copy")  K$=  K$="A" noconn% dn_link  K$="B" noconn% up_link  K$="C" ad_link:ed_link + K$<>"D" linkno% dl_link K$="*"  K$="E" ed_link  K$="F" pd_edit ڋ K$<>"G" pr(4,0,"/NAME:"):c(cls%,1):A$=inp($edstart%,20,0,10,""" "): A$<>"" $edstart%=pad(A$,10) pr(20,0,pad($edstart%,10))  IF K$<>"H"...  "CDEFGYN",K$)  K$="Y" K$="N"  K$="Y" update(progno%)  :edit :  file: K$ *,:c(cls%,0):c(cls%,1):pr(0,0,"FILE:") 4pr(12,0,"__% free") >7pr(0,3,"Load Save Del. Ren. Fmt. Name ") HHfree%=free:size%=used+free%:size%:free%=free%*100/size% free%=0 Rpr(11,0,npad(free%,3)) \6MNAME$=pad(title,16):pr(0,1,MNAME$+" -"+rgt$) f rd_cat p1ptr%=1:files%=0:kbd$="BGHN" kbd$="ABDEGHN" z9:pr(0,3,"Load Save Del. Ren. Fmt. Name ") T files%=0 pr(25,1,"--No files--") prF(1,ptr%):prF(0,ptr%-1):prF(2,ptr%+1) K$= 'K$=upkey$ ptr%1 ptr%=ptr%-1 'K$<>"D" f_delt K$="" K$="*" kkbd$,K$):quit%=0:K$<>"N" K$<>"":quit%=("FNf_"+"loadsave........renm....formname",(K$-65)*4+1,4)) K$="N" quit%: &pd_edit: K$,pa%:pa%=edstart%?16 Dpr(4,0,"/PEDAL:"):clr(1):c(cls%,1):pr(5,2,"Pedal function:") 4:pr(23,2,npad(pa%,12)+" "+pad(ped$(pa%),10)) #:K$=:"YN"+upkey$+dnkey$,K$) E K$=dnkey$ K$=upkey$ pa%=(maxped%+pa%+2*(K$=upkey$)+1)maxped% K$="Y" K$="N"  K$="Y" edstart%?16=pa%  :pd_edit up_link: $dn_link: .ad_link: 87edfin%!00=&01FF0000: no_inp, cue, o_chan, o_skt B7edfin%!04=&7F000000: kz_hi, kz_lo, i_chan, i_skt L7edfin%!08=&80807F00: vmap, trans, vz_hi, vz_lo V6edfin%!12=&0000FF00: e_times,e_speed,filters,ctrl `8edfin%!16=&00000000: e_acc, e_vel, e_note j ptr%=edfin%:edfin%=edfin%+19 t ~ed_link: ENDPROC Xc(cls%,1): linkno% pr(0,2,"----Destination-----"):pr(0,3," Skt Chan Cue ") 1pr(30,2,"--Source--"):pr(30,3," Skt Chan ") K$=  1ݤf_load:msg(3,"Loading"):K$=(200):K$="":=0 0ݤf_save: K$,multi%,which%,progno2%,temp%: c(cls%,0):c(cls%,1) pr(0,0,"FILE/SAVE:"):prog +prProg(0,0,0,0):pr(15,3,gap$+"Multi")  :K$= I K$="A" progno%=(progno%+noprogs%-1)noprogs%:progX(progno%,which%) @ K$="B" progno%=(progno%+1)noprogs%:progX(progno%,which%) Hmulti%which%progno%>progno2% progno2%=progno%:progX(progno2%,)  Gmulti%which%progno%0 err("File is locked"):pr(0,2,14," ")):K$="":= n yn("delete file") :=0 x#msg(3,"Deleting"):K$=(200):= ݤf_form: a% 笤yn("format disk"):=0 Fc(cls%,0):pr(0,0,"FILE/FORMAT:"):c(cls%,1):msg(3,"Formatting") pr(4,1,"|"+26,"-")+"|") ;a%=0 100:pr(5+a%/4,1,"*"):pr(33,1,npad(a%,3)+"%") 3:msg(3,"Formatting complete"):K$=(200):K$="" =0 ݤf_name: A$:A$=MNAME$ .pr(4,0,"/NAME:"):A$=inp(A$,0,1,15,""" ")  A$="" :=0 ^strip(A$)<>strip(MNAME$) MNAME$=A$:A%=&FE:Y%=0:A$=((&FFDA)&FF)+" "+A$:"INSTALL "+A$ =0 ݤf_renm:=0  ,progX(progno%,which%):which% prog: Zprogno$="0"+(progno%),2):progstart%=progpos%(progno%):progname$=pad($progstart%,10) ") progstart%?11 prot$="*" prot$=" " ,-pr(15,1,progno$+" "+prot$+" "+progname$) 6 @ prog J?progstart%=progpos%(progno%):progname$=pad($progstart%,10) T) progstart%?11 prot$="*" prot$=" " ^7pr(15,0,npad(progno%,12)+" "+prot$+" "+progname$) h rprF(l%,p%) |*p%<1 pr(22,l%,"-----Catalog-----"): /p%>files% pr(22,l%,"--No-More-Files--"): Upr(22,l%,pad(file$(p%),15)):(attr%(p%)8)<>0 pr(37,l%,"* ") pr(37,l%," ")  sh_link(link%,ptr%) 0clr(1):pr(0,1,"Link "+npad(link%,13)+":") ]pr(32,1,"In:"): link%=0 pr(12,1,"--System--"):pr(36,1,ch(edstart%?14,edstart%?15)): ipr(11,1,"Out: "+ch(ptr%?0,ptr%?1)+" Cue"):ptr%?2>127 pr(22,1,"---") pr(22,1,npad(ptr%?2,13)) !pr(36,1,ch(ptr?4,ptr%?5)): ,ݤch(A%,B%): A$: A%=0 A$="*" A$=~A% + B%=0 =A$+"/**" =A$+"/"+npad(B%,12) =prProg(D,D,D,D):pr(0,2,"Program.No"):pr(0,3,arrow$): $update(no%): len%,offset%,b1% Flen%=edstart%!12 &FFFF:offset%=progpos%(no%+1)-progpos%(no%)-len% Pmove(progpos%(no%+1),progpos%(no%)+len%,progpos%(noprogs%)-progpos%(no%+1)) !copy(edstart%,progpos%(no%))  b1%=no%+1 noprogs% &'progpos%(b1%)=progpos%(b1%)-offset% 0: :copy(src%,dst%) D%move(src%,dst%,src%!12 &FFFF): N move(src%,dst%,len%): b1% X9 dst%>src% b1%=len%-1 0 -1:dst%?b1%=src%?b1%:: b)b1%=0 len%-1:dst%?b1%=src%?b1%:: l#rd_cat: A%,X%,p%,r%:files%=1 vX%=ctrl%:Y%=X%256 :A%=8:ctrl%!9=p% #ctrl%!1=data%:ctrl%!5=1: &FFD1 r%=ctrl%!5:p%=ctrl%!9 D r%<>1 ?(data%+?data%+1)=13:file$(files%)=$(data%+1):do_file r%=1:files%=files%-1:  do_file D$data%=file$(files%):!ctrl%=data%:A%=5:A%=(&FFDD)&FF: A%<>1 Fload%(files%)=ctrl%!2:exec%(files%)=ctrl%!6:attr%(files%)=ctrl%!14 files%=files%+1: : Eݤfree: A%,X%,Y%,E%:A%=5:os%=6:ș "XOS_FSControl",49,0 A%:=A% X%=&70: &FFDA:=!&70: Lݤused: A%,X%,Y%,E%:A%=4:os%=6:ș "XOS_FSControl",49,0 A%,,E%:=E%-A% X%=&70: &FFDA:=!&70:  ݤtitle: A%,X%,Y% 1ctrl%!1=data%:X%=ctrl%:Y%=X%256:A%=5: &FFD1  $?(data%+1+?data%)=13:=$(data%+1) *mݤyn(A$): K$:pr(0,3,pad(pad("OK to "+A$+"?",26)+"Yes No",40)):K$=:K$="F" K$="G":clr(3):=K$="F" 4$ݤinp(A$,X%,Y%,L%,R$): K$,B$,p% >p%=1:A$=pad(A$,L%):B$=A$ H4pr(0,3,arrow$+" Beg End Ins Del ") R pr(X%,Y%,B$): K$=get \ "ABDEGHYN"+&8A+&8B,K$) f! K$=dnkey$ B$=mid(B$,p%,-1) p K$=upkey$ B$=mid(B$,p%,1) z K$="A" p%>1 p%=p%-1  K$="B" p%"":=K$ ݤmid(A$,p%,i%) C%=(A$,p%,1)): $C%=C%+i%: R$,(C%)) C%=C%+i%  C%<32 C%=126 $ C%>126 C%=32 . R$,(C%))=0 8=A$,p%-1)+(C%)+A$,p%+1) B*ݤosb(A%,X%,Y%):=(&FFF4 &FFFF00)256 L-msg(l%,A$):cent(l%,">>> "+A$+" <<<"): V9err(A$):cent(3,"*** "+A$+" ***"):K$=(200):K$="": `*clr(l%):pr(0,l%3,40," ")):l%<4 j)(l%&F0) pr(0,(l%&F0)16,40," ")) t,(l%&F00) pr(0,(l%&FF0)256,40," ")) ~ 8cent(l%,A$):pr(0,l%,pad(20-A$/2," ")+A$,40)): AdispT:pr(0,1,"<-A-><-B-><-C-><-D-><-E-><-F-><-G-><-H->"): ݤerr:os%=6:=$  A$,A%:A%=1+(!&FD &FFFF) #:A$=A$+?A%:A%=A%+1:?A%=0:=A$ !ݤpad(A$,B%)=A$+B%," "),B%) ݤnpad(A%,B%) ; B%<11 :=B%," ")+A%,B%) :=B%-10,"0")+A%,B%-10) 9ݤstrip(A$):A$=A$+" ":A$=A$,A$-1):A$,1)<>" ":=A$ *ݤosb(A%,X%,Y%):=(&FFF4 &FFFF00)256 pr(X%,Y%,A$):A$="" vdu%:X%,Y%);A$;: B%=-(Y%>1):X%=X%+64*(Y% 2) "c(128+X%,B%):base%=&FC83-2*B% "A%=147:X%=base%: P%=1 (A$) Y%=A$,P%,1):&FFF4 (: 2c(Y%,B%): A%,X% <]vdu%:cls%::38,3);:A%=08:" f";k0%+A%;::": NO/BACK"12"f";k0%+9;": YES/ENTER": F vdu%: PX%=&FC82-2*B%:A%=146 Z(&FFF4 &800000)=0 d.A%=147:&FFF4:A%=146:(&FFF4 &800000)=0 n% Y%<>doff% Y%=don%:A%=147:&FFF4 x