Home - Quickstart - History - Reference - Releases
RM BASICx64 is a tribute project and is in no way linked to or endorsed by RM plc.
Version 0.23
Released 12th December 2021
-
Check the release notes
-
Then try the Quick start guide
It’s a what now?
RM BASICx64 is a re-implementation the RM Basic language developed by Research Machines in 1984 for the RM Nimbus PC-186, used in schools and universities throughout the UK and beyond in the 1980s.
RM BASICx64 looks and behaves like the original interpreter, but under the hood it takes full advantage of modern computer architectures by supporting 64 bit floating point numbers, extremely deep expression evaluation, and vast amounts of workspace memory. It’s faster too!
Check out the screenshots.
Ok, but why?
This is a project to resurrect an ambitious and long-forgotten BASIC dialect. RM Basic was designed specifically to provide easy access to unique graphics and sound features of the RM Nimbus; on the flipside this meant it could only run on the Nimbus. Unlike Acorn, Spectrum and other platforms found in schools, RM never targeted consumer markets, which meant that it never had a scene or following, so when the Nimbus was eventually phased out of schools, RM Basic went with it, consigned to the skip.
Those of us who learned programming on the Nimbus and spent many a rainy lunch break fiddling around with graphics, sound, making chromatically-challenging mouse driven menus and eventually made a living doing that sort of thing, might think this a shame. Other dialects and platforms have gone on to have a life of their own, in particular BBC BASIC - so why not RM Basic?
RM BASICx64 implements the original RM Basic language specification and emulates the Nimbus sound and graphics in an easy-to-install application that runs happily on Windows, Linux or macOS. This means you can be up and running, writing and sharing programs in a few clicks. Now RM Basic can be enjoyed by anyone with an interest retro-computing, old DOS games, obscure antique software, oddware, all that good stuff.
Read more about the history of RM Basic
Screenshots
The Nimbus-esque welcome screen
Ready for commands
Saying hello with big fonts
The Mandelbrot Set
A stupid meme
Authorship
RM BASICx64 was written in Go by Tim Adams, leaning heavily on the ebiten game engine, and borrowing with merry abandon from Writing An Interpreter in Go by Thorsten Ball. The language has been re-implemented according to available documentation but does not re-use any of the original code of RM Basic.
Contact me on github, linkedin or twitter.
License
RM BASICx64 is distributed with an Apache 2.0 license.
Links
- Ebiten - A dead simple 2D game library for Go
- Crafting Interpreters - The scanner code was inspired by the examples in this book
- Writing an Interpreter in Go - The parser code was inspired by the examples in this book
- Facebook - RM Nimbus facebook group
- Center for Computing History - original RM Nimbus manuals and technical data
- Center for Computing History - RM Nimbus PC (Later Beige Model) - online exhibit
- The Nimbus Museum - online museum that looks like the Welcome Disk!
- RM Nimbus - Wikipedia article
- mame - comprehensive retro computer emulation project
- Ironstone Innovation - what I do for a living