BBC BASIC for SDL 2.0 version 1.17a released

New releases of BB4W and BBCSDL, and other updates, will be announced here
RichardRussell

BBC BASIC for SDL 2.0 version 1.17a released

Post by RichardRussell »

I've released version 1.17a of BBC BASIC for SDL 2.0 - the cross-platform programming language for Windows, MacOS, Linux, Raspbian, Android, iOS and in-browser. The changes in this version are as follows:
  1. BASIC Interpreter / Run Time Engine

    Updated the in-browser (Emscripten / Web Assembly) edition to support shader graphics, 3D graphics and the Box2D physics engine.

    Fixed a subtle bug which could cause unwanted behaviour when using ON ERROR LOCAL in nested functions (ARM and 64-bit editions only).

    Fixed a one-byte buffer overrun in the *KEY command (ARM and 64-bit editions only).

  2. IDEs and Utilities

    Updated BBCEdit to version 0.37.1 (with thanks to Andy Parkes); amongst other changes this has a new light-mode option.

    Fixed a regression causing the profiler not to work on the Raspberry Pi (D'oh!).

  3. Libraries

    Added shaderlib.bbc to facilitate writing shader-based programs, and to aid compatibility with the in-browser edition.

    Added webgllib.bbc which is substantially compatible with ogllib and gleslib but uses shaders rather than the Fixed Function 3D Pipeline.

    Updated some other libraries to improve compatibility with, and performance in, the in-browser edition.

  4. Example Programs

    Modified Ceefax.bbc (again!) to track changes the BBC is making to its web pages and to improve performance in the in-browser edition.

    The shader-based programs (fluid.bbc, mandel.bbc, seascape.bbc, slitscan.bbc) have been re-written to use the shaderlib library.

    Updated some other example programs to improve compatibility with, and performance in, the in-browser edition.
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, Android, iOS, 64-bit Linux and in-browser editions, currently).

Please remember that if you use the BBC2APK Android Application Generator you should download a new APK template to ensure that any updates to the run-time engine are incorporated in your own apps.
RichardRussell

Re: BBC BASIC for SDL 2.0 version 1.17a released

Post by RichardRussell »

RichardRussell wrote: Fri 23 Oct 2020, 13:43Added webgllib.bbc which is substantially compatible with ogllib and gleslib but uses shaders rather than the Fixed Function 3D Pipeline.
I've noted this elsewhere, but just to clarify: the webgllib library (although written to support 3D graphics in the in-browser edition, hence the name) is compatible with all editions of BBCSDL. If you want to benefit from, say, the per-pixel specular reflection or spotlight calculations simply change library references from ogllib to webgllib.

For example if you change teapot.bbc as below it will improve the rendering quality in Windows, MacOS, Linux, Raspbian, Android and iOS:

Code: Select all

      INSTALL @lib$+"webgllib"