Raspberry BASIC

Author Topic: BBC BASIC for SDL 2.0 version 1.36a released  (Read 1255 times)

Richard Russell

  • Moderator
  • *****
  • Posts: 63
    • View Profile
BBC BASIC for SDL 2.0 version 1.36a released
« on: July 31, 2023, 09:35:35 AM »
I have released version 1.36a of BBC BASIC for SDL 2.0 - the cross-platform programming language for Windows, Mac OS, Linux, Raspberry Pi OS, Android, iOS and in-browser.  The changes in this version are as follows:

  • BASIC Interpreter / Run Time Engine

    Updated the Windows and MacOS editions to use SDL 2.28.1.

    Updated the iOS edition so that the virtual back button is recreated if required, also fixed VAL not working with a unary minus in iOS.

  • IDEs and Utilities

    Updated the 'compiler' to create a standalone EXE file in Windows!  You can still create a ZIP archive if you prefer by explicitly adding .zip to the application bundle filename.

    Updated SDLIDE.bbc to support bi-directional text (e.g. right-to-left scripts like Arabic and Hebrew in a quoted string).  This requires SDL2_ttf 2.20.0 or later.

    Updated SDLIDE.bbc to support window resizing when comparing programs.

  • Libraries

    Updated webgllib.bbc to support emissive materials and alpha-blending without external code, and to increase the maximum number of lights from 5 to 8.  Also created a functionally-equivalent library for BBC BASIC for Windows.

    Updated script.bbc to support positioning the text caret (cursor) and selecting (hilighting) text.  Also created a functionally-equivalent library for BBC BASIC for Windows.

    Updated arraylib.bbc to support MOD and SUM operations on a partial-array.

    Updated filedlg.bbc to support changing the filter by entering '*.ext' as the filename.

    Updated utf8lib.bbc to add FN_umidx() which behaves like MID$ with only two parameters.

    Added the DejaVuSans-Oblique.ttf font, which gives better results than slanting the standard font (desktop editions only).

  • Example Programs

    Added Hello_Box2D.bbc in examples/physics/samples/.

    Added analyser.bbc, an audio spectrum analyser, in examples/general (desktop editions only).

    Updated kerning.bbc (in examples/general/) to work around an apparent bug in the Harfbuzz shaping engine.
This version may be downloaded, for all the supported platforms, from the usual location (the Android and iOS editions should be installed from the appropriate App Store).  The GitHub repository has also been updated.

Richard Russell

  • Moderator
  • *****
  • Posts: 63
    • View Profile
Re: BBC BASIC for SDL 2.0 version 1.36a released
« Reply #1 on: August 01, 2023, 08:42:17 AM »
Updated the 'compiler' to create a standalone EXE file in Windows!

In response to a user request, I have updated the Windows edition (only) to v1.36b.  In this version standalone executables behave more like those created by BBC BASIC for Windows, in that libraries and DLLs are deleted after the program has terminated rather than been left lying around on the disk.

The practical outcome is that load time may be slightly increased, because the libraries and DLLs must be extracted every time the program is run, but it's less wasteful of disk space and - in the case of a program which needs no resource files such as sprites or music - admin privileges are not needed to run the program in a write-protected directory.

John Spikowski

  • BASIC Developer
  • ***
  • Posts: 234
    • View Profile
    • ScriptBasic
Re: BBC BASIC for SDL 2.0 version 1.36a released
« Reply #2 on: August 03, 2023, 01:50:51 AM »
ScriptBasic creates a standalone executable by appending the interpreter with the binary version of the script source. It also allows compiling to C which the interpreter becomes a DLL / shared object resource.
ScriptBasic Project Manager/Facilitator