> ContextDemo : + ctrl% 31,name% 127:X%=ctrl%:Y%=X%256 ("Context: &";~fs_RdCSD 2 <fs_WrCSD(csd%) F: P Top byte: Z 0xxxxxxx -> fs X d 100ddddd -> adfs drive d n 101ddddd -> hadfs drive d x# 110ddddd -> reserved drive d # 111ddddd -> reserved drive d : % > BLib.Context 1.01 12-Aug-2011 * Read and write filing system context * ------------------------------------ : 5 ----------------------------------------------- 5 FNfs_RdCSD - Read current filing system context 5 ----------------------------------------------- 9 Returns 0 or a value to pass back to PROCfs_WrCSD() : ݤfs_RdCSD . fs%,csd%,B%:fs%=fs:fs%<4:X%?3=fs%:=!X% &fs%=16:=args(&FE,25,0)&A0000000 ?fs%=8:csd%=&1114:!X%=&FFDD:A%=5:&FFF1:X%?4=76:csd%=&C314 Ofs%=8:B%=03:!X%=csd%+B%:&FFF1:X%?(5+B%)=X%?4::X%?8=(X%?832)&80:=X%!5 "[fs%=5:B%=Net_Info(6,0):csd%="@":csd%=Net_Info(7,(B%&FF00FF)+csd%*256):=B%&5000000 ,0fs%=4:B%=gbpb(6):=B%+256*name%?1+&4000000 6=0 @: J8 -------------------------------------------------- T8 PROCfs_WrCSD(csd%) - Restore filing system context ^8 -------------------------------------------------- h< On entry, csd%=0 or a previous context from FNfs_RdCSD r: |fs_WrCSD(csd%):csd%=0: ; fs%,B%:X%!5=csd%:fs%=X%?8:csd%<0:fs%=((fs%-96)32)*8 "FX143,18,"+fs%:fs%<4: -fs%=16:A%=args(&FD,25,csd%&1FFFFFFF): Lfs%=8:X%?8=X%?8*32:csd%=&1114:!X%=&FFDD:A%=5:&FFF1:X%?4=76:csd%=&C314 Ffs%=8:A%=6:B%=03:!X%=csd%+B%:X%?4=X%?(5+B%):&FFF1::"DIR @": Ffs%=5:B%=Net_Info(6,0):#((B%&FF00)256):B%=Net_Info(7,csd%): %fs%=4:"DIR :"+X%?6+"."+X%?5:  : : Bݤgbpb(A%):X%!1=name%:&FFD1:A%=name%+((1+?name%)((A%-2)=6)) A%?(1+?A%)=13:=$(A%+1) 3ݤargs(A%,Y%,ptr%):X%,E%:?(P-3)=0:E%=Y%:Y%=0 .<&8000:!&70:X%=&70:!X%=ptr%:&FFDA:=!X% 'ș"OS_Args",A%,Y%,ptr%,,ptr%:=ptr%  ݤfs:A%,Y%,E%:=(&FFDA)&FF &8ݤNet_Info(A%,D%):?X%=A%:X%!1=D%:A%=&13:&FFF1:=X%!1