Raspberry BASIC

Recent Posts

Pages: [1] 2 3 ... 10
1
BBC BASIC / Re: New: Console Mode editions of BBC BASIC
« Last post by Richard Russell 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.
2
BBC BASIC / Re: BBC BASIC for SDL 2.0 version 1.25a released
« Last post by John Spikowski on October 11, 2021, 12:09:24 am »
Thanks Richard for posting your updates to the forum.

I was really hoping Eric Olson joining the forum would increase activity. He joined and I haven't heard from him since.

3
BBC BASIC / BBC BASIC for SDL 2.0 version 1.25a released
« Last post by Richard Russell on October 08, 2021, 03:58:15 pm »
I've released version 1.25a of BBC BASIC for SDL 2.0 - the cross-platform programming language for Windows, MacOS, Linux, Raspberry Pi OS, Android, iOS and in-browser.  The changes in this version are as follows:

  • BASIC Interpreter / Run Time Engine

    PAGE may now be lowered without generating an error.  This is dangerous in general, but in limited memory environments (e.g. the Raspberry Pi Pico) it can be useful, as it was on the original BBC Micro.

    Implemented a new SUM operator which performs modulo-2^64 addition, i.e. overflows are ignored.  Using this operator modulo-2^64 subtraction and multiplication functions can be written:
Code: [Select]
      DEF FNsub64(a%%,b%%)=a%%SUMNOTb%%SUM1
      DEF FNmul64(a%%,b%%)LOCALA%,B%:A%=a%%AND&7FFFFFFF:B%=b%%AND&7FFFFFFF
      =A%*B%SUM((a%%>>31)*B%<<<31)SUM(A%*(b%%>>31)<<<31)SUM((a%%>>31AND3)*(b%%>>31AND3)<<<62)
  • IDEs and Utilities

    No changes (other than the version number of SDLIDE.bbc being updated).

  • Libraries

    stringlib.bbc modified so that FN_binary() and FN_tobase() accept 64-bit integers.

  • Example Programs

    There are no changes to the example programs in this release.
This version may be downloaded, for all the supported platforms, from the usual location.  The GitHub repository has been updated (used to build the MacOS, Raspberry Pi, Android, iOS, 64-bit Linux and in-browser editions, currently).
4
BBC BASIC / Re: BBC BASIC for the Raspberry Pi Pico
« Last post by John Spikowski on August 26, 2021, 09:51:43 pm »
That is amazing Richard. I gave up on the Pico as just being an embedded controller toy.

I may give this a try on my ESP32 which should triple the amount of user memory available. Micro Python runs great on it. It would be great to see if we can get BBC BASIC running on the ESP32-PICO. Any chance there is interest here making it work?

5
BBC BASIC / BBC BASIC for the Raspberry Pi Pico
« Last post by Richard Russell on August 26, 2021, 02:39:52 pm »
Eric Olson and 'Memotech Bill' have developed a version of BBC BASIC (based on mine) for the Raspberry Pi Pico, it's a Work In Progress but is substantially working and can run all the example programs supplied with the Console Mode editions.  There's a GitHub repository here.

Despite the Pico being a $5 microcontroller with only 264K of RAM it suits this application very well, not least because of BBC BASIC's simple memory management (which was of course originally designed for a machine with only as little as 16K of RAM, the BBC Micro).  Something like 240K of memory is available for the BASIC program, variables, stack and libraries.
6
BBC BASIC / Re: New: Console Mode editions of BBC BASIC
« Last post by Richard Russell 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:

7
BBC BASIC / BBC BASIC for SDL 2.0 version 1.24a released
« Last post by Richard Russell on August 20, 2021, 05:37:41 pm »
I've released version 1.24a of BBC BASIC for SDL 2.0 - the cross-platform programming language for Windows, MacOS, Linux, Raspberry Pi OS, Android, iOS and in-browser.  The changes in this version are as follows:

  • BASIC Interpreter / Run Time Engine

    Implemented GCOL modes 5-7 (in the web edition these are approximated by the closest available blend modes).

    Relative plot commands (e.g. DRAW BY x,y) no longer discard the LS bit of the offsets.

    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-M1).

    Updated Emscripten to version 2.0.5 (still old, but recent versions won't run BBC BASIC owing to an SDL threading deadlock).

  • IDEs and Utilities

    SDLIDE now captures the mouse while dragging, to avoid an anomaly that could result if the drag continued beyond the edge of the window.  Also fixed another bug affecting dragging.

    Fixed Alt+F X (keyboard shortcut for Exit) not working in SDLIDE (oops!).

  • Libraries

    Updated ellipse.bbc to support GCOL modes 5-7.

  • Example Programs

    There are no changes to the example programs in this release.


This version may be downloaded, for all the supported platforms, from the usual location.  The GitHub repository has been updated (used to build the MacOS, Raspberry Pi, Android, iOS, 64-bit Linux and in-browser editions, currently).
8
BBC BASIC / Re: New: Console Mode editions of BBC BASIC
« Last post by John Spikowski on July 20, 2021, 09:33:23 pm »
I use Ubuntu 64 on all my Linux based systems. I never thought I would go back to a 32 bit OS again but the RPI was cheap enough so I lived through it.

My RPi 4B 8GB has been running 24/7 for over three months running Ubuntu 64. It seems I have to do a Gitlab-ce update at lest once a week. I'm running Ubuntu in full graphic UI mode (not as a server) and still have 4 GB of memory in reserve.
9
BBC BASIC / Re: New: Console Mode editions of BBC BASIC
« Last post by Richard Russell on July 20, 2021, 09:19:08 pm »
You would think the Raspberry Pi Foundation would have learned their lesson trying to offer your own OS.

I will concentrate on supporting whichever OS is more popular with users.  It's obvious that many more Raspberry Pis will be running the official 64-bit Debian than the unofficial 64-bit Ubuntu.
10
BBC BASIC / Re: New: Console Mode editions of BBC BASIC
« Last post by John Spikowski on July 20, 2021, 08:09:57 pm »
The only thing I use 32 bit Raspian for is my Zero Windows USB dongle OS.

I'm not going down that rabbit hole with 64 bit on the RPi 4B and anything else they offer going forward.

You would think the Raspberry Pi Foundation would have learned their lesson trying to offer your own OS. Microsoft is struggling trying to keep Windows relevant.
Pages: [1] 2 3 ... 10