I have today released version 0.25a of 'BBC BASIC for SDL 2.0', the cross-platform interpreter for Windows, Linux, MacOS, Raspberry Pi, Android and iOS. The changes in this version are as follows:
- Integrated Development Environment (SDLIDE)
The 'Create Application' facility has now been enabled (desktop editions only), allowing you to create a 'standalone' application that can be distributed. I should emphasise that this does not create a 'single-file executable' in the way that BB4W does; that has no meaning in a cross-platform context. Instead it creates an 'application bundle' (a ZIP file in the case of Windows, Linux and Raspberry Pi; a DMG file in the case of MacOS). Note that in the case of Linux and the Raspberry Pi, SDL2 must still be installed separately (if it has not already been).
By default the BASIC program is 'crunched', reducing its size and increasing execution speed. This also has the useful side-effect of obfuscating the program, making 'reverse engineering' much more difficult (this is more effective than the equivalent BB4W facility.
- BASIC Interpreter
The operation of the VDU 14 'paged mode' has been improved. Previously output would pause *after* the screen had scrolled, causing the first line to be lost. Now it pauses *before* the screen scrolls, as it should, so that the first 'page' can be read in its entirety before output is resumed by pressing the Shift key.
The 'dlglib.bbc' (dialogue box emulation) library now supports the BS_ICON style bit, which allows an icon image (typically with a transparent background) to be displayed on a button
The 'gleslib.bbc' (3D graphics) library has been modified to allow iOS to load a texture which does not have power-of-two dimensions (so-called NPOT). Previously iOS was the only platform not to support such textures, and this modification brings it into line with the others.
The 'nowait.bbc' (non-blocking function replacements) library has been enhanced so that the FNinput function better supports UTF-8 keyboard input (e.g. the £ sign).
- Example Programs
A new example program 'colorcycle.bbc' (in the graphics directory) demonstrates how 'palette animation' may be emulated, in this case to animate the title page from one of David Williams's games.
The 'pyramid.bbc' program has been modified so as not to scale the texture image to have power-of-two dimensions, since this is no longer necessary.
Installation on Linux and the Raspberry Pi has been simplified by the inclusion of a shell script 'mkicon.sh' which should automatically create a desktop shortcut that will launch BBC BASIC.