I've released version
1.15a of
BBC BASIC for SDL 2.0 - the cross-platform programming language for Windows, MacOS, Linux, Raspbian, Android, iOS and WebAssembly (Chrome/Edge/Firefox). The changes in this version are as follows:
- BASIC Interpreter / Run Time Engine:
Added the PTR()= syntax to set the pointer of a structure, array or string.
Extended =PTR() to return the pointer of a structure or array as well as a string.
Added = SYS("function") to return the address of an API function, or zero if it doesn't exist.
Added support for @cmd$ possibly being longer than 255 bytes.
Changed TIME from unsigned to signed, since code like 'T% = TIME' is very common.
Fixed a minor problem with the 'pending newline' mode (VDU 23,16,1|) (needs fixing in BB4W too!).
Fixed a bug (in the 64-bit and ARM editions only) causing assigning a string to a numeric variable not to result in the expected 'Type mismatch' error.
- IDEs and Utilities:
SDLIDE: Implemented breakpoints, very similar to those in LBB and bbcide (double-click in the left margin to add or remove a breakpoint).
SDLIDE: Enabled the Print option in the File menu and toolbar. This prints the current program to the default printer.
- Libraries:
Modified filedlg to fix an incompatibility with *HEX 64 mode.
Modified dlglib to reduce CPU usage when idling, especially when a List Box has the input focus.
Modified socklib to prevent a 'double-free' error if PROC_exitsockets is called twice.
- Example Programs:
Modified Ceefax.bbc to recognise the word Thunder in the weather description and display the 'storm' indication.
Modified telstar.bbc to include 'ANSItex BBS' in the list of services, and to disable 'pending newline' mode.
This new version may be downloaded, for all the supported platforms, from the
usual location. The
GitHub repository has been updated (used to build the MacOS, Raspbian, iOS, 64-bit Linux and in-browser editions, currently).