Raspberry BASIC

Recent Posts

Pages: [1] 2 3 ... 10
1
BBC BASIC / BBC BASIC for SDL 2.0 version 1.39a released
« Last post by Richard Russell on February 27, 2024, 03:58:26 PM »
I have released version 1.39a 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.30.0 and SDL2_ttf to version 2.22.0 (Windows, MacOS, Android, iOS).

    Increased the initial value of HIMEM to 32 Mbytes above PAGE.

    Increased the maximum heap size, in 64-bit editions only, to 4 Gbytes (heap pointers are 32-bits so this is the largest possible size).

  • BASIC Interpreter / Run Time Engine

    Extended VDU 19 to be able to set colours with an alpha (opacity) value.

    Added *FX 19 as a synonym for *REFRESH.

  • IDEs and Utilities

    Modified the 'compiler' to support wildcards in REM!Embed directives.

    Modified SDLIDE for compatibility with 'self-examining' programs.

  • Libraries

    Added PROC_slice() and PROC_redim() (etc.) to the arraylib library.

    Modified the gpiolib library for compatibility with 64-bit PiOS and the Raspberry Pi 5.

  • Example Programs

    Added smithchart.bbc, an antialiased Smith Chart graticule, in examples/graphics.

    Added keywords.bbc, a list of one-line keyword descriptions, principally for the Android and iOS editions.

    Added server_multi.bbc (in examples/general, desktop editions only) which can accept up to 8 concurrent connections.

    Added gpiotest.bbc (in examples/general, Raspberry Pi only) to test the gpiolib 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.
2
BBC BASIC / Re: BBC BASIC for SDL 2.0 version 1.37a released
« Last post by John Spikowski on November 19, 2023, 08:53:34 PM »
Thanks Richard for the clarification of COM/OLE support in BBC BASIC.
3
BBC BASIC / Re: BBC BASIC for SDL 2.0 version 1.37a released
« Last post by Richard Russell on November 13, 2023, 03:37:49 PM »
Does the Windows version support COM/OLE?

Yes, BBC BASIC for Windows is supplied with the COMLIB library, and that library requires only a trivial modification to run in the Windows edition of BBC BASIC for SDL 2.0 as well.

There's an example program which uses that library to access the TTS (Text To Speech) functionality in Windows, which has a COM interface.

I also know of one user who uses it to automate Microsoft Office products like Excel, using their ActiveX interface.
4
BBC BASIC / BBC BASIC for SDL 2.0 version 1.38a released
« Last post by Richard Russell 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.
5
BBC BASIC / Re: BBC BASIC for SDL 2.0 version 1.37a released
« Last post by John Spikowski on September 03, 2023, 01:52:33 AM »
Hi Richard,

Great to see BBC Basic on so many platforms.

Does the Windows version support COM/OLE?
6
BBC BASIC / BBC BASIC for SDL 2.0 version 1.37a released
« Last post by Richard Russell on September 01, 2023, 05:48:22 PM »
I have released version 1.37a 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 the Windows, MacOS, Android and iOS editions to SDL 2.28.2.  SDL2 has now entered a maintenance phase, with new developments focussing on SDL3.

    Updated the Android edition to target Android 14 (API level 34), which is a requirement of the Play Store (and the main reason for this unscheduled release).

  • BASIC Interpreter / Run Time Engine

    Paths and file names may now include a comma, so long as they are enclosed in quotes (a comma is treated the same as a space in that regard).

    Fixed an issue when entering accented characters using the Alt Gr key.

    Added a new system variable @cache% which points to the font cache, for example to allow defining custom glyphs.

  • IDEs and Utilities

    Modified SDLIDE so that keyboard input (and pasting from the clipboard) work as expected in ANSI mode.

    Modified SDLIDE so that File... Compare can be interrupted by pressing the ESCape key.

    Updated BBCEdit to version 0.40.0 (thanks to Andy Parkes), amongst other changes this accepts the input of accented characters using the Alt Gr key.

  • Libraries

    Modified arraylib.bbc to add PROC_pcopy() (and variants) to copy part of one array into another array.

    Modified dlglib.bbc and editbox.bbc to scale scroll bars in proportion to other GUI elements.

    Fixed a minor memory leak in shaderlib.bbc.

  • Example Programs

    Added calculator.bbc in examples/general (yes I know everybody writes a calculator, it's an obvious application for the EVAL function, but this is my take).

    Modified dibley.bbc, dropperz.bbc and triples.bbc to scale their output on a window resize.

    Modified Ceefax.bbc to improve the formatting of hyphenated text.
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.
7
BBC BASIC / Re: BBC BASIC for SDL 2.0 version 1.36a released
« Last post by John Spikowski 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.
8
BBC BASIC / Re: BBC BASIC for SDL 2.0 version 1.36a released
« Last post by Richard Russell 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.
9
BBC BASIC / BBC BASIC for SDL 2.0 version 1.36a released
« Last post by Richard Russell 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.
Pages: [1] 2 3 ... 10