# > BLib.BASIC 1.01 29-Dec-2005 * v1.01 29-Dec-2005 JGH: Added RunAs() 2 v1.00 12-Nov-1998 JGH: Type, SizeOfReal, Ver (: !2 BASIC interpreter functions !< =========================== F: P BASIC_Ver Z --------- (d Discover BASIC interpreter version )n Returns: 1 if BASIC I or equivalent ;x Offset assembly, OSCLI, OPENUP not available 4 Returns: >1 if BASIC II or equivalent or later 7 Offset assembly, OSCLI, OPENUP available 4 Returns: >3 if BASIC IV or equivalent or later ) TIME$, ON x PROC available 3 Returns: >4 if BASIC V or equivalent or later = SYS, WHILE, CASE, multiline IF/ENDIF available ? --------------------------------------------------------- ݤBASIC_Ver: O%,P% ' P%-1:O%=P%:[OPT 4:NOP:]P%<>O%:=1 0=&8000 =&B800:!(+9)=&49534142:=?(+8) =2  =5 : : " BASIC_Type , --------- 6 Discover interpreter type '@ Returns: 65 if Wilson/Acorn BASIC "J 86 if Russell BASIC ?T --------------------------------------------------------- #^ݤBASIC_Type:?(P-3):=65 =86 h: r: | FNBASIC_SizeOfReal  ----------------- B Returns the size of real variables being used by the program D Knows about 4, 5, 8 and 12-byte reals by forcing underflows in D accuracy, using IEEE definintions of floating point numbers.  Returns 0 if size unknown E --------------------------------------------------------------- ݤBASIC_SizeOfReal @ 2^-129=0: 1+2^-25=1:=4 : 8-bit exponent, 23-bit mantissa H 2^-129=0:=5 : 8-bit exponent, assume 31-bit mantissa I 2^-1025=0:=8 : 11 bit exponent, assume 52-bit mantissa I 2^-32769=0:=12 : 15 bit exponent, assume 63-bit mantissa =0: Unknown : :  FNBASIC_RunAs  ------------- /& Returns how the BBFW program has been run 0 Returns: 0 if unknown 5: 1 if run from the IDE (selected 'RUN') >D 2 if run via the interpreter (CHAIN "file.bbc") ?N 3 if run as a compiled executable (run file.exe) EX --------------------------------------------------------------- bݤBASIC_RunAs $l cmd%: "GetCommandLine" cmd% v $$cmd%,"bbcwin.exe"):=1  $$cmd%,"bbcwrun.exe"):=2 =3 :