Raspberry BASIC

Raspberry BASIC => Interpreters => Topic started by: paulwratt on April 14, 2020, 03:19:10 am

Title: Other BASIC Interpreters
Post by: paulwratt on April 14, 2020, 03:19:10 am
The following list are repos I have on GitHub that I have been using for years.

Specifically I use bas-2.5-pw and pistol_Basic (SDL_Basic), but I know SDL2_Basic also works.
SDL_Basic is a fullscreen line editor BASIC interpreter that works in console or X-Windows window. It uses MIDI compatible tones for sound, and a couple of noise channels, with vector based graphics commands (as opposed to pixel based graphics commands). It is loosely based on TRS-80 BASIC. SDL_Basic originally used SDL 1.2 (pistol_Basic), but I now maintain an upto date branch in a fork of the SDL 2 version of the  SDL2_Basic repo.  SDL_Basic is not sdl-basic.

sdlBasic (using wxBasic core) is an editor and a byte code compiler with a runtime library (like freepascal). On RPi in Raspbian there has alwas been a crlf bug in the compiler and editor (unverified in Buster). sdlBasic is based on AMOS, which was based on STOS. sdlBasic is not sdl-basic.

qb64 is a commandline QuickBasic to C++ compiler with runtime library.

BAS (by Michael Haardt) is a FullBASIC implimentation, with some Bywater extensions (eg MATRIX), running on console or in terminal emulator window. I have added BIN$, MERGE, CHAIN, ./AUTOEXEC.BAS and 256 color support, and some other fixes to bas-2.5-pw including more useful doc structure (+ seperated commands, functions, and compatibility workarounds). There is now a new official version of 2.5/2.6 which also contains some fixes and additions by another regular dev user. He also works on a version that adds sound and was looking at adding graphics too (all of which are GW-BASIC orientated). BAS can be used in the same was shell scripts are.

It was intended to add GPIO to both bas-2.5-pw and pistol_basic, but this has not been done yet. However BAS allows shelling out to linux so GPIO is possible via 3rd party options. As well as create standalone baremetal versions of both.

I compile for armv6, armv7, aarch64, 68000 (AtariST), 68040 (ARAnyM), and 68020-060 (MiNT)


English translation of IchigiJam BASIC (for RPi) command help


My development BASIC repos:

2018 extended version of BAS 2.4 ANSI BASIC interpreter by Michael Haardt

2018 version of BAS 2.4 ANSI BASIC interpreter by Michael Haardt

Basic Interpreter written with SDL2 with a maintained SDL1 branch

Pi SDL Basic with GPIO (incl. IchigoJam Pi), forked from SDL_Basic before SDL2 transition (GPIO not done yet)

Raspberry Pi Baremetal Projects - intended for SDL2_Basic & pistol_Basic standalone baremetal versions

https://github.com/paulwratt/ShellBASIC-bin (incomplete)
ShellBASIC "bin" are CAP ONLY shell commands, POSIX compatible, ANSI BASIC. Some need framebuffer access.

https://github.com/paulwratt/ShellBASIC-shbasic (incomplete)
ShellBASIC "shbasic" is a shell replacement that uses ANSI BASIC plus extensions, just like Bash and Bash script

palettes for programmers, developers, and designers. an extensive suppliment to gimp-palettes


Other known working versions of BASIC on RPi:

bywater basic

cbmbasic, a portable version of Commodore's version of Microsoft BASIC 6502 as found on the Commodore 64

Automatically exported from code.google.com/p/qb64

Pi-cromite - mmbasic for Micromite, running on RPi

Chipmunk BASIC, no sources, originally written in PASCAL

X11-Basic BASIC programming interpreter & compiler. (GFA Basic for *nix)

XBasic, interactive program development environment, advanced 32-bit/64-bit BASIC, fast compilation, fast execution, interactive graphical GuiDesigner, multi-platform portable source code

DecimalBASIC - ISO Full BASIC is compatible with ANSI Full BASIC (American standard), and ECMA BASIC (European Standard), Japanese Industrial Standard (JIS) Full BASIC. (written in Pascal)

Old (Chipmunk) BASIC links page, including compilers.

sdlBasic syntax is based on AMOS, which was based on STOS.

Hope someone finds these useful. At some point I wanted to start an organisation on GitHub that only contains repos of versions of BASIC, all patched for RPi (where appropriate), maybe that could now be RaspberryBASIC?