A Tiny BASIC interpreter in your web browser!

Periodically, my interest is captured by BASIC interpreters, present on virtually all hobby and home computers since the mid-70s and especially in the 80s. Among the various dialects of BASIC, Tiny BASIC certainly plays a very important role.
Tiny BASIC was conceived between 1975 and 1976 and its development as an open alternative to Microsoft‘s expensive BASIC was boosted by the controversy on hacking and piracy, triggered by the unauthorized distribution of several copies, denounced by Bill Gates in his Open letter to hobbyists.
Tiny BASIC interpreters were released free of charge or marketed at low cost; among these, the most famous is the interpreter implemented by Tom Pittman (Itty Bitty Computers) via virtual machine, to whose story Steven Levy dedicated a chapter of his Hackers: The heroes of the computer revolution. In 2006, Tom Pittman released an updated version of his interpreter, rewritten in C language and later Mohan Embar ported it to Java, C# and Flex/Actionscript.

In recent years, WebAssembly (Wasm) technology is establishing itself as a standard for the development of performing web applications, made in other languages ​​besides Javascript.
In particular, just a month ago, Microsoft officially released Blazor WebAssembly, a WebAssembly-based environment that allows the execution of .NET code directly in the browser, without the need to install any additional plugins.

Working daily with C#, the release of Blazor WebAssembly aroused my interest, and so I decided to combine the desire to delve into this new technology with the passion for retrocomputing by creating a Tiny BASIC environment contained in a web page and running on the browser. Blazor WebAssembly allowed me to include the Mohan Embar’s interpreter without any modification to the source code and to create a simple I/O console and the components for loading and running either some predefined BASIC programs and other program filess that may be present on your computer.

The result of this project is TinyBasicBlazor, whose source code is available on GitHub. To complete the work, I started the conversion of MaN1cPuzzle (a 20-Liner ZX Spectrum BASIC implementation of the 15-Puzzle) to Tiny BASIC and I hope to include it soon among the example programs.

With TinyBasicBlazor, you can code like it’s 1976 (but with a modern browser)!

Links & References

Leggi in Italiano

Leave a comment

Your email address will not be published. Required fields are marked *

5 thoughts on “A Tiny BASIC interpreter in your web browser!”