Raspberry BASIC

Author Topic: New: Console Mode editions of BBC BASIC  (Read 13243 times)

Richard Russell

  • Moderator
  • *****
  • Posts: 65
    • View Profile
Re: New: Console Mode editions of BBC BASIC
« Reply #15 on: August 26, 2021, 02:26:06 PM »
I have updated the Console Mode editions of BBC BASIC to version 0.36.  The changes in this version are:

  • Fixed a memory leak which could occur if you incompletely initialise a string array from a list of literals.

  • Added macros to support CPUs having strict alignment requirements (e.g. the ARM Cortex-M0+).

  • Reduced the memory footprint by removing unneccessary sound and graphics allocations.

  • Allow PAGE to be reduced (if you are aware of the dangers) in low-memory situations.

  • Added a fix (in Windows only) for fread() not always updating the file pointer correctly (this appears not to affect 64-bit Windows but it's safer to fix it anyway).

Version 0.36 may be downloaded from the usual place:


Richard Russell

  • Moderator
  • *****
  • Posts: 65
    • View Profile
Re: New: Console Mode editions of BBC BASIC
« Reply #16 on: October 21, 2021, 11:33:35 AM »
I have updated the Console Mode editions of BBC BASIC to version 0.38.  The changes in this version are:

  • The SUM operator has been introduced, which does modulo-2⁶⁴ addition (modulo 2⁶⁴ subtraction and multiplication are also possible using it); this brings the console editions into line with BBC BASIC for SDL 2.0.

  • The Raspberry Pi Pico  edition now has a working assembler (thanks to Memotech Bill), which supports the subset of the Thumb 2 instruction set executed by the ARM Cortex-M0+ CPU.  A new example program hello.bbc is included to demonstrate its use.

Version 0.38 may be downloaded from the usual place:


The Raspberry Pi Pico download consists of a UF2 file containing a flash image, including an initialised filesystem.  To program the Pico, connect it via USB whilst the button is pressed; it will appear as an external drive (typically D:\ in Windows or /dev/ttyACM0 on a Pi).  Then copy the UF2 file to that drive.

Richard Russell

  • Moderator
  • *****
  • Posts: 65
    • View Profile
Re: New: Console Mode editions of BBC BASIC
« Reply #17 on: November 27, 2021, 05:48:35 PM »
I have updated the Console Mode editions of BBC BASIC to version 0.39.  The changes in this version are:

  • Fixed an off-by-one bug which resulted in a crash if the response to an INPUT LINE statement was a maximum length string (255 characters).

  • Added a new example program patience.bbc which is a simple Patience (Solitaire) program, adapted from one first published in Practical Computing nearly 40 years ago!  Note that it uses VT100 line-drawing characters, which may need to be enabled in some terminal emulators (particularly PuTTY).  See the code for more information.
Version 0.39 may be downloaded from the usual place:


Richard Russell

  • Moderator
  • *****
  • Posts: 65
    • View Profile
Re: New: Console Mode editions of BBC BASIC
« Reply #18 on: January 24, 2022, 06:36:17 PM »
I have updated the Console Mode editions of BBC BASIC to version 0.40.  The changes in this version are:

  • Fixed a bug in the handling of @% whereby setting the field width (LS byte) to zero didn't have the correct effect.

  • Hexadecimal addresses passed to *commands are now assumed to be unsigned.  This fixes a problem (on 32-bit editions only) when the address is in the top half of the memory map.

  • Fixed a warning issued by GCC 11 related to the way the pseudo-random number prand is handled.  This doesn't affect operation.

  • Added a new example program solve.bbc which is a console version of the program of the same name supplied with the GUI editions (it solves simultaneous equations by inverting a matrix).
Version 0.40 may be downloaded from the usual place.

Richard Russell

  • Moderator
  • *****
  • Posts: 65
    • View Profile
Re: New: Console Mode editions of BBC BASIC
« Reply #19 on: March 18, 2022, 06:14:06 PM »
I have updated the Console Mode editions of BBC BASIC to version 0.41.  The changes in this version are:
  • Added support for serial I/O, for example the EXT# function returns the number of characters waiting in the input buffer.

  • Added a new example program animal.bbc which is the famous 'guess the animal' program, which learns from its mistakes (sort of).
Version 0.41 may be downloaded from the usual place.