> Environ 0.17 * Display various environment settings : (* Read command line, run path and host 2cmd$=OS_GetEnv <: F) CPU test fails with 32016 and 68000 P$A%=-1: os%>31: >&FFFF:cpu%=86 Z) >&FFFF: >&8000: <&FFFF:cpu%=44 d@ <&20000: <&20001: A%-1:!A%=0:P%=A%:[OPT 0:NOP:]:A%=!A% n: A%=&EA:cpu%=65 A%=&00:cpu%=80 A%=&12:cpu%=09 x' A%=&A0:cpu%=11 A%=&90:cpu%=86 : -"BBC BASIC program environment"'29,"-") "Program name: >";run$"<" "Command line: >";cmd$"<"' 8:txW%=+1:: : &"Host: ";os%+" ",4); q os%>27:"Commodore 64/128TI Calculator Amstrad CPC ZX Spectrum DOS/Windows ",os%*16-447,16); t os%<11:"ElectronBBC B BBC B+ Master MasterETCompact RISC OS SpringbdUnix 6809UnixApple ",os%*8+1,8); a os%=17:"6809Beeb"; os%=24:"CP/M"; os%=43:"RT11/RSTS/RSX"; os%=57:"6809DOS"; . os%=8 : (-256&F0)=&B0: "v";-25615; ) os%=10: (-256&F0)=&20: ;~-256;  : X os%=32:fs%=29 <&FFFF:A%=0:Y%=0:E%=0:fs%=(&FFDA)&FF os%=8:fs%=24 fs%=0 &"Filing System: ";fs%+" ",4); "* fs%=29:"DOSFS" fs%=24:"UNIXFS" , fs%<>29: fs%<>24: "NONE TAPE12TAPE3 ROM DISK NET TSOFT IEEEFSADFS HOSTFSVIDEO COPRO RAM NULL PRINT SERIALHADFS VDFS ",fs%*6+1,6) 6: @>d$=".":s$="/": (os%-24):d$="/":s$=".": (os%-32):d$="\" J"Filenames are: "; TJ (os%-32): "DOS"; "BBC UnixBBC CP/M",(os%24)2+1,3+(os%8)8); ^"-like"'15; h (os%-24):"d:"; ":d"; r8 (os%24)=24: "filename";s$;"ext"'6"also: d:"; |. d$;"directory";d$;"filename";s$;"ext";8 : (kbd%=(os%<8):(-256&DB)=&53:kbd%=1 < "Keyboard type: ";"Acorn RegularRussell",kbd%*7+8,7) < 15;"f1=&";8-(kbd%>0);"1 f10=&";"C89",kbd%+2,1);"A";  txW%<60:'13; ," Cursors=&";"8CCC88",kbd%*2+3,2);"+"  :  "CPU:";11;  cpu%=09:"6809";  cpu%=11:"PDP11";  cpu%=44:"ARM";  cpu%=65:"6502";  cpu%=80:"Z80";  cpu%=86:"80x86";  &: 0"CALL &FFxx: "; :W <&FFFF:"Yes"(3-8*(txW%>32));"PAGE<&FFFF" "No";(4-8*(txW%>32));"PAGE>&FFFF" D"Program text: "; NL !=&D7C1C7C5: "Brandy"; ?(P-3):"Acorn/Wilson"; "Russell";5; X txW%<40:'13; b6 ?(P-3):" ?(TOP-3)<>0";8 " ?(TOP-3)=0";8 l> PRINT"PAGE=&";~PAGE;SPC(9-LENSTR$~PAGE);"HIMEM=&";~HIMEM vM PRINT"?(TOP-3)=";?(TOP-3);SPC(6-LENSTR$?(TOP-3));"!(TOP-3)=&";~!(TOP-3) J PRINT"QUIT =";:IF cpu%=11 OR cpu%=44:PRINT;QUIT ELSE PRINT"" :  : - Universal Program Environment Functions :ݤOS_GetEnv:A$,A%,X%,Y%:X%=1:os%=((&FFF4)&FF00)256 D!=&D7C1C7C5:run$=ARGV$(0):A%=1ARGC:A$=A$+ARGV$(A%)+" "::=A$ Mos%>31:>&FFFFF:X%256:ș"GetModuleFileName",0,X%,255:run$=$$X%:=@cmd$ CA%=&600-&7B00*(>&8000)-&3F00*(>&C000):!(-&100)=@%:A%=-&300 ;?(P-3)=0:A%=&100:<&FFFF:A%=-&300:!(+512)=@%:A%= cA$=$A%:=&8F00:run$=A$:ș16A$,,A%:ș72,"",A%:A$=A$,1+A$+" "," ",1+A$," "))):A$=0:A$=run$ UY%=-10:A$=" "+A$:A$=A$,2):A$<>32:A$=34:A%=A$,"""",2)+1 A%=A$+" "," ") 9Y%:run$=A$,1-(A$=34),A%-1+2*(A$=34)):A$=A$,A%+1)  :=A$