[GTALUG] For Chris: Commodore BASIC as a scripting language

Stewart C. Russell scruss at gmail.com
Fri Aug 16 10:50:11 EDT 2019


On 2019-08-14 6:34 p.m., Chris F.A. Johnson via talk wrote:
> On Wed, 14 Aug 2019, Chris F.A. Johnson via talk wrote:
> 
>>> This doesn't have the Waterloo BASIC extensions to Commodore BASIC.
>>> Too bad.
>>   ...
>    It was Northcastle Structured BASIC, and here is the article I wrote
>    on it for the TPUG Magazine:
>    https://archive.org/details/tpug-newsletter-23/page/n21

While TPUG frowns upon distributing whole disks from its library (we
still have a positive income from selling the library CD, surprisingly),
I found Northcastle Structured BASIC on another disk and uploaded it
here: https://archive.org/details/qs-alliance-T217
(it doesn't work in the in-browser emulation for some reason that may be
my fault setting up the upload)

Chris B. may be amused to see that a dedicated nerd from the Raspberry
Pi forums wrote a bignum-handling massive Fibonacci number calculator
for "classic" BASIC. Size of result limited only by available memory:
https://github.com/ZiCog/fibo_4784969/blob/master/BASIC/classic.bas

I've been spending more time with BASIC on Linux than I should recently.
Some of the actually useful BASIC interpreters include:

* BBC BASIC for SDL 2.0 — http://www.bbcbasic.co.uk/bbcsdl/ - developed
by Richard Russell, who was on the original steering committee for the
language at the BBC before Acorn made the first implementation. Only
really works from a GUI, but has some very whizzy 3D graphics routines
(as might be expected, given Richard's work in video technology).

* stardot/MatrixBrandy: Fork of Brandy BASIC V for Linux —
https://github.com/stardot/MatrixBrandy - yet another BBC BASIC
interpreter, but faster and lighter and under very active development.
BBC BASIC has proper procedures and functions and even a very few matrix
commands, as Full BASIC should. This is being developed so actively that
it's the only package I auto-update via 'git pull' every day via a cron
job. Just last week it grew full audio support overnight!

* Bas - BASIC interpreter — http://www.moria.de/~michael/bas/ - *almost*
ANSI Full BASIC interpreter. Text only. Does all the MAT matrix commands
as BASIC should, but doesn't implement decimal arithmetic. Can't quite
manage the "10PRINT" one-line in one line, though:

    10 DIM a$(2) : a$(1)="╱" : a$(2)="╲"
    20 PRINT a$(2+(rnd(101)>50)); : GOTO 20

* Decimal BASIC — https://hp.vector.co.jp/authors/VA008683/english/ -
full ANSI BASIC with graphics and optional decimal arithmetic. English
is not the author's first language, so documentation might not be where
you'd want it.

cheers,
 Stewart


More information about the talk mailing list