10
20 :
30 A$=FNOS_GetEnv
40 PRINT"run$=>"run$"<"
50 PRINT"A$ =>"A$"<"
60 PRINT"os% =";os%
70 END
80 :
90
100
110 :
120
130
140
150
160 DEFFNOS_GetEnv
170 LOCAL A$,A%,X%,Y%
180 X%=1:os%=((USR&FFF4)AND&FF00)DIV256:
190 :
200
210 IF !PAGE=&D7C1C7C5:run$=ARGV$(0):FORA%=0TOARGC:A$=A$+ARGV$(A%)+" ":NEXT:=MID$(A$,LENrun$+1)
220 :
230
240 IFos%>31:IFPAGE>&FFFFF:DIMX%LOCAL256:SYS"GetModuleFileName",0,X%,255:run$=$$X%:=@cmd$
250 :
260 IF?(TOP-3)<>0:A%=&600:IF HIMEM>&FFFF:A%=PAGE-&E00:IF PAGE>&C000:A%=PAGE-&500
270 IF?(TOP-3)<>0:IF !(PAGE-&100)=@%:A%=PAGE-&200
280 :
290 IF?(TOP-3)<>0:A%=&600-&7B00*(PAGE>&8000)-&3F00*(PAGE>&C000)
300 IF?(TOP-3)<>0:IF !(PAGE-&100)=@%:A%=PAGE-&200
310 :
320 IF?(TOP-3)<>0:A%=&600-&7B00*(PAGE>&8000)-&3F00*(PAGE>&C000):IF!(PAGE-&108)=@%:A%=PAGE-&208
330
340
350
360
370
380
390 :
400 IF?(TOP-3)=0 :A%=PAGE-&300 :
410 IF?(TOP-3)=0 :IF HIMEM<&FFFF:IF !(HIMEM+512)=@%:A%=HIMEM :
420 IF?(TOP-3)=0 :IF HIMEM>&FFFF:A%=&100 :
430
440 IF?(TOP-3)=0:A%=&100:IFHIMEM<&FFFF:A%=PAGE-&300:IF!(HIMEM+512)=@%:A%=HIMEM
450
460
470
480
490
500 A%=&600-&7B00*(PAGE>&8000)-&3F00*(PAGE>&C000):IF!(PAGE-&100)=@%:A%=PAGE-&200
510 IF?(TOP-3)=0:A%=&100:IFHIMEM<&FFFF:A%=PAGE-&300:IF!(HIMEM+512)=@%:A%=HIMEM
520
530
540
550
560
570
580
590
600
610 A$=$A%
620 :
630
640 IFPAGE=&8F00:run$=A$:SYS16TOA$,,A%:SYS72,"",A%:A$=MID$(A$,1+INSTR(A$+" "," ",1+INSTR(A$," "))):IFLENA$=0:A$=run$
650 FORY%=-1TO0
660 A$=" "+A$:REPEATA$=MID$(A$,2):UNTILASCA$<>32 :
670 IFASCA$=34:A%=INSTR(A$,"""",2)+1 ELSE A%=INSTR(A$+" "," ") :
680 IFY%:run$=MID$(A$,1-(ASCA$=34),A%-1+2*(ASCA$=34)):A$=MID$(A$,A%+1) :
690 NEXT:=A$
700 :
710
720
730
740 DEFPROCos(A$):IFASCA$=42:OSCLIA$ ELSE IFA$<>"":CHAINA$
750 ENDPROC
760 :
770
780
790 DEFPROCexit(A%):OSCLI"FX1,"+STR$(A%AND255):quit$=quit$:A$=quit$:quit$="":PROCos(A$)
800 IFPAGE>&FFFFF:QUIT A%
810 IFos%<6:END ELSE *Quit
820 ENDPROC
830 :