10
20 :
30 DIM ctrl% 31,name% 127:X%=ctrl%:Y%=X%DIV256
40 PRINT"Context: &";~FNfs_RdCSD
50 END
60 PROCfs_WrCSD(csd%)
70 :
80
90
100
110
120
130
140 :
150
160
170
180 :
190
200
210
220
230 :
240 DEFFNfs_RdCSD
250 LOCAL fs%,csd%,B%:fs%=FNfs:IFfs%<4:X%?3=fs%:=!X%
260 IFfs%=16:=FNargs(&FE,25,0)OR&A0000000
270 IFfs%=8:csd%=&1114:!X%=&FFDD:A%=5:CALL&FFF1:IFX%?4=76:csd%=&C314
280 IFfs%=8:FORB%=0TO3:!X%=csd%+B%:CALL&FFF1:X%?(5+B%)=X%?4:NEXT:X%?8=(X%?8DIV32)OR&80:=X%!5
290 IFfs%=5:B%=FNNet_Info(6,0):csd%=OPENIN"@":csd%=FNNet_Info(7,(B%AND&FF00FF)+csd%*256):=B%OR&5000000
300 IFfs%=4:B%=ASCFNgbpb(6):=B%+256*name%?1+&4000000
310 =0
320 :
330
340
350
360
370 :
380 DEFPROCfs_WrCSD(csd%):IFcsd%=0:ENDPROC
390 LOCAL fs%,B%:X%!5=csd%:fs%=X%?8:IFcsd%<0:fs%=((fs%-96)DIV32)*8
400 OSCLI"FX143,18,"+STR$fs%:IFfs%<4:ENDPROC
410 IFfs%=16:A%=FNargs(&FD,25,csd%AND&1FFFFFFF):ENDPROC
420 IFfs%=8:X%?8=X%?8*32:csd%=&1114:!X%=&FFDD:A%=5:CALL&FFF1:IFX%?4=76:csd%=&C314
430 IFfs%=8:A%=6:FORB%=0TO3:!X%=csd%+B%:X%?4=X%?(5+B%):CALL&FFF1:NEXT:OSCLI"DIR @":ENDPROC
440 IFfs%=5:B%=FNNet_Info(6,0):CLOSE#((B%AND&FF00)DIV256):B%=FNNet_Info(7,csd%):ENDPROC
450 IFfs%=4:OSCLI"DIR :"+CHR$X%?6+"."+CHR$X%?5:ENDPROC
460 ENDPROC
470 :
480 :
490 DEFFNgbpb(A%):X%!1=name%:CALL&FFD1:A%=name%+((1+?name%)AND((A%AND-2)=6))
500 A%?(1+?A%)=13:=$(A%+1)
510 DEFFNargs(A%,Y%,ptr%):LOCALX%,E%:IF?(TOP-3)=0:E%=Y%:Y%=0
520 IFPAGE<&8000:LOCAL!&70:X%=&70:!X%=ptr%:CALL&FFDA:=!X%
530 SYS"OS_Args",A%,Y%,ptr%TO,,ptr%:=ptr%
540 DEFFNfs:LOCALA%,Y%,E%:=(USR&FFDA)AND&FF
550 DEFFNNet_Info(A%,D%):?X%=A%:X%!1=D%:A%=&13:CALL&FFF1:=X%!1