As I've mentioned elsewhere on the forum where I've found some suitable test harness samples, I've recently started hacking on the source code for Brandy BASIC V by David Daniels. Sadly his Sourceforge repo has not seen any updates since 2015 and submitted patches have gone ignored.
So I've decided to fork it, and created Matrix Brandy BASIC.
Some of the new/missing features added:
* MODE 7
* 64-bit integers
* INKEY(-ve) - partial
* Enhanced graphics
* Mouse support
* 24-bit colour
* Host library calls
* ...and of course the obligatory bug fixes (and possibly new ones inserted!)
Supported platforms (that I can test on):
Code: Select all
,--------------------------------. | OS | SDL | Console | |--------------------------------| | Linux x86 | X | X | | Linux x86-64 | X | X | | Windows x86 | 1 | 1 | | Windows x64-64 | 1 | 1 | | MacOS Catalina | 2 | X | | RISC OS 3+ | | 3 | `--------------------------------'
1) Windows builds known to work on Windows 7 and Windows 10 (tested on Win10 64-bit). Appears to work reasonably well on Windows XP SP3 (32-bit). Known NOT to work on Windows 2000. My builds are built on Windows 7 32-bit and 64-bit. The supplied makefiles use Cygwin as a build environment but uses the MinGW toolset so not reliant on any Cygwin component at runtime.
2) Requires the latest development branch of SDL 1.2 (snapshot available on the Matrix Brandy website).
3) Provides full access to the native RISC OS VDU driver, including graphics and MODE 7. It runs as a single-tasking application, but can multitask with the help of applications such as !GraphTask.
Other UNIX-type platforms should also work, OpenBSD 6.7 is reported to work fine.
The console builds are great for using BBC BASIC as a scripting language, indeed you can use the standard Unix #!/path/to/sbrandy as the first line with your program (with or without line numbers) on the lines below it, and make your script executable and run it like any other shell, Perl or Python (etc) script.
My development and target platform is Linux, including the Raspberry Pi, although I am also targeting Windows and more recently MacOS X and RISC OS.
Unlike BBCSDL, Matrix Brandy does not use an IDE, the SDL builds offer a BBC Micro-like screen which is still command-driven, and immediate-mode programming is always available. The two text builds available offer differing text capabilities, "tbrandy" is the more fully-featured version which offers some colour capability via ANSI codes (and optionally, graphics via Tektronix control codes), while "sbrandy" is very minimal and ideal for cron and CGI scripting.
The source code is always available for download from http://brandy.matrixnetwork.co.uk/ and now on Github at https://github.com/stardot/MatrixBrandy - and patches are most welcome!
Update 16-09-2020: Matrix Brandy VI 1.22.8 has been released. Changelog on the website.