> BBCMOS  BBC MOS Interface > Within this library, all filenames are locally formatted (; 2ݤmos_args <' Y%=0: A%=0:=fs : =FS F (Y%-512) P Ȏ A% Z' 0:!X%=0:=0 : =PTR#-1 d> 2:!X%=255-(-1):=0 : =EXT#-1, number in keyboard buffer n; 5:!X%=(-1)=0:=0 : =EOF#-1, keyboard buffer empty? x  Y% Ȏ A% " 0:!X%=#Y%:=0 : =PTR " 1:#Y%=!X%:=0 : PTR= " 2:!X%=#Y%:=0 : =EXT " 3:#Y%=!X%:=0 : EXT= $ 4:!X%=#Y%:=0 : =Alloc " 5:!X%=#Y%:=0 : =EOF $ 6:#Y%=!X%:=0 : Alloc=   < os%=6: >&8000:ș "OS_Args",A%,Y%,!X% A%,Y%,!X%:=A% !X%=args(A%,Y%,!X%) <=A% : Unchanged=unsupported : "ݤmos_bget ,8 Y%=0:= : =BGET#0 6/ os%32:=((#Y%=#Y%)256)+#Y% : =BGET#Y @ A%=&FFD7 J$=((A%&1000000)&10000)(A%&FF) T: ^ݤmos_bput h Y%=0: A% #Y%,A% r=A% |: ݤmos_find  A%=0:#Y%:=A% " (A%&C0)=&40:=f_openin($Y%) # (A%&C0)=&80:=f_openout($Y%) " (A%&C0)=&C0:=f_openup($Y%) =0 : ݤmos_file  A%=0 A%=&FF:=host_file T os%=6:ș "OS_File",A%,Y%,X%!2,X%!6,X%!10,X%!14 A%,,X%!2,X%!6,X%!10,X%!14:=A% I A%=5:X%!2=0:X%!6=0:X%!10=0:X%!14=0:A%=Y%:Y%=X%256:=file_info($A%)  A%=6:f_delete($Y%):=1 ? A%=7:"SAVE "+f_name($Y%)+" "+~+"+"+~(X%!14-X%!10):=1  A%=8:f_cdir($Y%):=2 =A% : &ݤmos_gbpb:=host_gbpb 0: : ݤmos_cli DDY%=Y%-1::Y%=Y%+1:?Y%<>32 ?Y%<>"*" : Skip '*'s and ' 's NQA%=&103: ?Y%="/":Y%=Y%+1:A%=&102 : Fall through into FSC X: b ݤmos_fsc lOosc%=A%256:A%=A%255 : b8=called from OSCLI v Ȏ A% = 1:A%=5:X%=ctrl%:A%=mos_args:X%=?X%:Y%=X%:=A% : =EOF B 3: : *command B ?Y%="|":=0 : *| comment M ?Y%="\":Y%=Y%+1 : *\command -> *command E ?Y%=13:=0 : Null string 6A%=$Y%+" "," "):B%=$Y%,"."):B%:A%>B%+1:A%=B%+1 ?A$=":"+uc($Y%,A%-1)):Y%=Y%+A%-1 : A$=command <ȕ ?Y%=32:Y%=Y%+1: : Skip spaces * A$,1)=".":A$=A$,A$-1) A$=A$+":" NA%=":CAT::::RUN::::CAT::::DELETE:CREATE:CDIR:::EX:::::INFO:::RENAME:",A$) * A%=0:A%=3osc%:Y%=string%:=host_fsc A%=3+A%7: A%=3:A%=5  A%>5 A%<9 @X%=Y%-1:X%=X%+1:?X%<33:?X%=13 : Terminate string  A%=7 EX%=X%-1::X%=X%+1:?X%<>32 : *CREATE filename length  ctrl%!14=("&"+$X%) *"ctrl%!2=0:ctrl%!6=0:ctrl%!10=0 4 >A$Y%=fn_convert($Y%,client%,host%):X%=ctrl%:!X%=Y%:=mos_file H RA%=A%osc% \ f=host_fsc p: zݤmos_word  Ȏ A% & 0: ""A$:$Y%=A$:X%=Y%:Y%=A$:=0  1:!X%=:=0  2:=!X%:=0  5:X%?4=?!X%:=0  6:?!X%=X%?4:=0  7: !X%,X%!2,X%!4,X%!6:=0 V 8: X%?0,X%?1,X%?2,X%?3,X%?4,X%?5,X%?6,X%?7,X%?8,X%?9,X%?10,X%?11,X%?12,X%?13:=0  14:$X%=$:=0  15:$=$X%:=0  Y%=X%256:A%=(&FFF1)&FF  =A% : ݤmos_byte $ A%=0 .2X%=(os%&D7)((client%64)2)((client%32)4) 8 X%<>os%:X%=X%&80 BB=0 : =HOST L VK A%>123:A%<127:?escflg%=128*(A%1):"FX15" : Clear/Set/Ack Escape `A A%=&7F:A%=5:X%=ctrl%:A%=mos_args:X%=?X%:Y%=X%:=&7F : =EOF jG A%=&81:X%=((X%255)+256*Y%):Y%=X%256:=A%+256*(X%=-1) : =INKEY tL A%=&82:X%=membot%65536:Y%=X%256:=A% : high order address ~L A%=&83:X%=membot%:Y%=X%256:=A% : bottom of memory I A%=&84:X%=memtop%:Y%=X%256:=A% : top of memory D A%=&86:X%=:Y%=:=A% : =POS, =VPOS  os%=32 ? A%=&80:X%=7:ȗ X%,A%,A%:Y%=X%256:=&80 : =ADVAL(7) ? A%=&80:X%=8:ȗ A%,X%,A%:Y%=X%256:=&80 : =ADVAL(8) ? A%=&80:X%=9:ȗ A%,A%,X%:Y%=X%256:=&80 : =ADVAL(9) 7 A%=&87:X%=(,):Y%=:=A% : =MODE  A%=&A0  Ȏ X% 5 0,128:ș "GetRgnBox",@vdu%!60,ctrl%:X%=ctrl%!0 5 2,129:ș "GetRgnBox",@vdu%!60,ctrl%:X%=ctrl%!4 5 4,130:ș "GetRgnBox",@vdu%!60,ctrl%:X%=ctrl%!8 6 6,131:ș "GetRgnBox",@vdu%!60,ctrl%:X%=ctrl%!12  $ 8,132:X%=@vdu%!24 @vdu%!216 & 9,133:X%=@vdu%!36 @vdu%!220-1 & 10,134:X%=@vdu%!28 @vdu%!216-1 ($ 11,135:X%=@vdu%!32 @vdu%!220 2 12,136:X%=2*@vdu%!0 < 14,137:X%=2*@vdu%!4 F 16,138:X%=2*@vdu%!8 PE 18,139:ș "GetRgnBox",@vdu%!60,ctrl%:X%=2*(ctrl%!12-@vdu%!12-1) Z 20,142:X%=@vdu%!16 dC 22,143:ș "GetRgnBox",@vdu%!60,ctrl%:X%=(ctrl%!12-@vdu%!20-1) n 36:X%=@vdu%!8 x? 38:ș "GetRgnBox",@vdu%!60,ctrl%:X%=(ctrl%!12-@vdu%!12-1)  87,155:X%=@vdu%?70  88,156:X%=@vdu%?71  89,153:X%=@vdu%?65  90,154:X%=@vdu%?67 + 91,151:X%=3-(@vdu%?64-7)2:X%<0:X%=1 + 92,152:X%=3-(@vdu%?66-7)2:X%<0:X%=1  96,3:X%=@vdu%?73  X%=0  Y%=X%256:=&A0   : A%=&80:X%=((X%255)+256*Y%):Y%=X%256:=A% : =ADVAL  A%=&A0 @ X%<16: X%<>3:=A% : =VDU(n) " X%=3:X%=96 ,Ȏ r%(1) 6 16:A%=138 @ 18:A%=139 J 20:A%=142 T 22:A%=143 ^ 36:A%=144 h 38:A%=145 r 77:A%=148 | 80:A%=149  83:A%=150  87:A%=155  88:A%=156  89:A%=153  90:A%=154  91:A%=151  92:A%=152  96:A%=3  !A%=X%: A%<128:X%=0:Y%=0:=&A0  ?!ctrl%=A%:ctrl%!4=-1:ș "OS_ReadVduVariables",ctrl%,ctrl%+8 X%=ctrl%!8:Y%=X%256:=&A0  7A%=&FFF4:X%=(A%&FFFF00)256:Y%=(A%&FF0000)65536 "=(A%&1000000)&10000+(A%&FF) &: