Raspberry BASIC

Author Topic: BBC BASIC for SDL 2.0 version 1.38a released  (Read 816 times)

Richard Russell

  • Moderator
  • *****
  • Posts: 64
    • View Profile
BBC BASIC for SDL 2.0 version 1.38a released
« on: November 13, 2023, 03:32:23 PM »
I have released version 1.38a 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:
  • Environment

    Updated SDL2 to version 2.28.5 (Windows, MacOS, Android, iOS).

    Updated the DejaVuSansMono font to include Hebrew.

    In iOS it is no longer necessary to disable the Smart Punctuation setting.

  • BASIC Interpreter / Run Time Engine

    Added a new entry to the internal function table: @fn%(21) points to the RedefineChar function which can be used, for example, to redefine a character in MODE 7.

    Improved error reporting if a malformed DEF FN or DEF PROC statement is present in the program.

    Fixed 64-bit floats 'underflowing' to give a negative number or a 'Number too big' error rather than zero.

  • IDEs and Utilities

    Modified SDLIDE to increase the number of point sizes that can be selected in the Set Font dialogue.

    Modified crossref.bbc, searchin.bbc, memmon.bbc, macrorec.bbc and addconst.bbc to scale their output windows in accordance with the guiscale setting in sdlide.ini.  This should improve legibility in High DPI situations.

    Added settab.bbc (in examples/tools/) which configures the Tab key to move to a specified column in the SDLIDE program editor.

  • Libraries

    Modified dlglib.bbc so that a static control can be hidden by setting the WS_VISIBLE flag, and to remove some of the limitations of a list box with the LBS_USETABSTOPS style.

    Modified editbox.bbc to support user-settable tab stops (added PROC_seteditboxtabs).

    Modified mode7lib to improve compatibility with 64-bit systems (previously, if you were unlucky, it could fail with a 'Number too big' error).

  • Example Programs

    Added timerdem.bbc (in examples/general) which is a simple, and frankly rather boring, example of the use of the timerlib library!

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.