I've released version 1.25a of BBC BASIC for SDL 2.0 - the cross-platform programming language for Windows, MacOS, Linux, Raspberry Pi OS, Android, iOS and in-browser. The changes in this version are as follows:

BASIC Interpreter / Run Time Engine

- PAGE may now be lowered without generating an error. This is dangerous in general, but in limited memory environments (e.g. the Raspberry Pi Pico) it can be useful, as it was on the original BBC Micro.

Implemented a new SUM operator which performs modulo-2^64 addition, i.e. overflows are ignored. Using this operator modulo-2^64 subtraction and multiplication functions can be written:

Code: Select all

`CODE: SELECT ALL DEF FNsub64(a%%,b%%)=a%%SUMNOTb%%SUM1 DEF FNmul64(a%%,b%%)LOCALA%,B%:A%=a%%AND&7FFFFFFF:B%=b%%AND&7FFFFFFF =A%*B%SUM((a%%>>31)*B%<<<31)SUM(A%*(b%%>>31)<<<31)SUM((a%%>>31AND3)*(b%%>>31AND3)<<<62)`

- IDEs and Utilities

No changes (other than the version number of SDLIDE.bbc being updated).

- Libraries

stringlib.bbc modified so that FN_binary() and FN_tobase() accept 64-bit integers.

- Example Programs

There are no changes to the example programs in this release.