{"id":39597314,"url":"https://github.com/adamstimb/rmbasicx64","last_synced_at":"2026-01-18T07:49:45.451Z","repository":{"id":42011175,"uuid":"319996633","full_name":"adamstimb/rmbasicx64","owner":"adamstimb","description":"A backwards-compatible RM Basic interpreter for Windows and Linux","archived":false,"fork":false,"pushed_at":"2022-04-19T19:23:54.000Z","size":37397,"stargazers_count":7,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-06-19T23:15:27.668Z","etag":null,"topics":["basic","basic-interpreter","basic-language","ebiten","emulation","go","golang","interpreter","retro","retrocomputing","rm-nimbus"],"latest_commit_sha":null,"homepage":"https://adamstimb.github.io/rmbasicx64","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adamstimb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-09T15:20:55.000Z","updated_at":"2024-04-25T12:42:38.000Z","dependencies_parsed_at":"2022-08-12T02:20:27.788Z","dependency_job_id":null,"html_url":"https://github.com/adamstimb/rmbasicx64","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/adamstimb/rmbasicx64","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamstimb%2Frmbasicx64","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamstimb%2Frmbasicx64/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamstimb%2Frmbasicx64/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamstimb%2Frmbasicx64/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adamstimb","download_url":"https://codeload.github.com/adamstimb/rmbasicx64/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamstimb%2Frmbasicx64/sbom","scorecard":{"id":165583,"data":{"date":"2025-08-11","repo":{"name":"github.com/adamstimb/rmbasicx64","commit":"68482a39c49f5fa7ea0d29d6b061b043645a9071"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.5,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 0/8 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":9,"reason":"binaries present in source code","details":["Warn: binary detected: docs/assets/downloads/rmbasicx64setup.exe:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact 0.23 not signed: https://api.github.com/repos/adamstimb/rmbasicx64/releases/55128951","Warn: release artifact 0.22 not signed: https://api.github.com/repos/adamstimb/rmbasicx64/releases/54737419","Warn: release artifact 0.23 does not have provenance: https://api.github.com/repos/adamstimb/rmbasicx64/releases/55128951","Warn: release artifact 0.22 does not have provenance: https://api.github.com/repos/adamstimb/rmbasicx64/releases/54737419"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2022-0603 / GHSA-hp87-p4gw-j4gq"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T14:44:19.313Z","repository_id":42011175,"created_at":"2025-08-16T14:44:19.313Z","updated_at":"2025-08-16T14:44:19.313Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28533180,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["basic","basic-interpreter","basic-language","ebiten","emulation","go","golang","interpreter","retro","retrocomputing","rm-nimbus"],"created_at":"2026-01-18T07:49:45.370Z","updated_at":"2026-01-18T07:49:45.437Z","avatar_url":"https://github.com/adamstimb.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RM BASICx64\n\n_RM BASICx64 is a tribute project and is in no way linked to or endorsed by RM plc._\n\n# It's a what now?\n\nRM BASICx64 is a re-implementation the RM Basic language developed by Research Machines in 1984 for the [RM Nimbus PC-186](https://en.wikipedia.org/wiki/RM_Nimbus), used in schools and universities throughout the UK and beyond in the 1980s.  \n\nRM 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!\n\nCheck out the [screenshots](#screenshots).\n\n## Ok, but why?\n\nThis 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.\n\nThose 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](https://en.wikipedia.org/wiki/BBC_BASIC) - so why not RM Basic?\n\nRM 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.\n\n## Status\n\nOver half of the original language specification is implemented.  The code has not been hardened so may crash unexpectedly or produce strange errors.  Click the \"Watch\" button on the top right to get notifications of new releases!\n\n## I want it now!\n\nOk, but don't say I didn't warn you.  A Windows installer can be downloaded from the [RM BASICx64 website](https://adamstimb.github.io/rmbasicx64site/).  \n\nAlternatively you can build RM BASICx64 from source on Windows, Linux or macOS:\n\n### Prerequisites\n\n- Latest version of [Go](https://golang.org/doc/install)\n- [Git for Windows](https://gitforwindows.org/) (GITBASH) (if using Windows)\n\n### Build\n\nOpen (GIT)BASH and clone this repository:\n\n```bash\ngit clone https://github.com/adamstimb/rmbasicx64.git\n```\n\nChange directory and run the build script for your operating system:\n\n```bash\ncd rmbasicx64\ncd scripts\n./build-linux.sh    # To build a Linux executable, or...\n./build-windows.sh  # ... to build a Windows .exe, or...\n./build-this.sh     # ... attempt to build on the current platform if neither Winoows nor Linux\n```\n\nIf you're running Linux, you can run the executable straight away:\n\n```bash\n../build/rmbasicx64\n```\n\nIf you're running Windows a file called `rmbasicx64.exe` will appear in the `build\\` folder.\n\nUse File Explorer to make a new folder called `rmbasicx64` in `C:\\Program Files` and move the `rmbasicx64.exe` file into it.  Double-click `rmbasicx64.exe` to run.\n\nIf you get a message saying \"Windows protected your PC\" click \"More info\" then \"Run anyway\".\n\n# Screenshots\n\n![The Nimbus-esque welcome screen](docs/assets/images/welcome-screen.png)\nThe Nimbus-esque welcome screen\n\n![Ready for commands](docs/assets/images/editor.png)\nReady for commands\n\n![Saying hello with big fonts](docs/assets/images/greetings.png)\nSaying hello with big fonts\n\n![The Mandelbrot Set](docs/assets/images/mandelbrot-set.png)\nThe Mandelbrot Set\n\n![A stupid meme](docs/assets/images/meme-screenshot.png)\nA stupid meme\n\n## Links\n\n- [Ebiten](https://ebiten.org/) - A dead simple 2D game library for Go\n- [Crafting Interpreters](https://craftinginterpreters.com/) - The scanner code was inspired by the examples in this book\n- [Writing an Interpreter in Go](https://interpreterbook.com/) - The parser code was inspired by the examples in this book\n- [Facebook](https://www.facebook.com/RMNimbus/) - RM Nimbus facebook group\n- [Center for Computing History](http://www.computinghistory.org.uk/) - original RM Nimbus manuals and technical data\n- [Center for Computing History - RM Nimbus PC (Later Beige Model)](http://www.computinghistory.org.uk/det/41537/RM-Nimbus-PC-(Later-Beige-Model)/) - online exhibit\n- [The Nimbus Museum](https://thenimbus.co.uk/) - online museum that looks like the Welcome Disk!\n- [RM Nimbus](https://en.wikipedia.org/wiki/RM_Nimbus) - Wikipedia article\n- [mame](https://www.mamedev.org/) - comprehensive retro computer emulation project\n- [Ironstone Innovation](https://ironstoneinnovation.eu) - what I do for a living\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamstimb%2Frmbasicx64","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadamstimb%2Frmbasicx64","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamstimb%2Frmbasicx64/lists"}