Skip to content

U64 BBC BASIC 1.0.0

Latest

Choose a tag to compare

@xahmol xahmol released this 23 Oct 08:16
· 3 commits to main since this release

U64 BBC BASIC 1.0.0 puts the BBC Micro's BASIC on the Commodore 64: BBC BASIC 3.10, unchanged and checked byte for byte against the reference ROM, as a cartridge for the Ultimate 64 and C64 Ultimate, with a new BBC-style MOS written for the C64 and the Ultimate. It runs at the Ultimate's turbo speed, about 30 times a BBC Micro.

What it does

  • The language: BBC BASIC 3.10 with the BBC's MOS calls and vectors, a line editor with history and BBC copy editing, *HELP for every keyword and command, a Toolkit Plus-style toolkit.
  • Graphics: the BBC's MODE 0-7 (on 64 MHz machines as Upic Lite: square pixels, as on a BBC), teletext MODE 7, the C64's own modes, Upic full pictures (384 x 256, every pixel its own colour), every BBC Master and GXR shape, 32 multiplexed sprites and a sprite editor, CharPad maps, a PETSCII mode.
  • Sound: SOUND and ENVELOPE on up to 8 SIDs (24 voices) with instruments, or sounding like a BBC Micro; a song tracker; Ultimate Audio samples and ProTracker MODs in the background; speech with your own copy of S.A.M.
  • Files: the Ultimate's drives, a 15 MB RAM disk in the REU (/REU), disk images, and a file browser (F1) that copies, moves and deletes folders.
  • Network: TCP and UDP as file channels, HTTP requests and JSON from BASIC.
  • From a PC: a VS Code extension (run, output, errors on the source line, debugging with breakpoints and variables, a formatter), a command-line tool and an MCP server for AI coding agents.

All changes: CHANGELOG.md.

Download

  • u64-bbcbasic-1.0.0.zip: copy its folder u64bbcbasic to /<drive>/idi8b/ on the Ultimate and start u64bbc-tmb.crt from the file browser (see INSTALL.txt). Also in the ZIP: the demos as source, the user manual as PDF, the README, the licences.
  • U64_BBC_BASIC_MANUAL-1.0.0.pdf: the user manual on its own (also in the ZIP and in docs/manual).
  • u64-bbcbasic-1.0.0.vsix: the VS Code extension (Extensions view, ..., Install from VSIX...).

Requirements

An Ultimate 64, Elite or Elite II with firmware 3.15a or newer and a 16 MB REU. On the Commodore 64 Ultimate it is not fully functional yet: U64 BBC BASIC relies on features of the Ultimate 64 firmware 3.15a, which Commodore has not yet released in a C64 Ultimate firmware update. The .cfg next to the cartridge switches on the Command Interface, the REU, Ultimate Audio, the turbo registers and 8 UltiSIDs. An EasyFlash version (u64bbc-ef.crt) runs in VICE and as a fallback, without Ultimate Audio.

Videos

Five videos, captured from the Ultimate's video and audio streams: the playlist.

  1. Introduction
  2. Graphics
  3. Sound and music
  4. Files, the Ultimate and the network
  5. The demos

More about why and how: the blog post.

Made with AI

In full: this project was made with an AI coding assistant, Anthropic's Claude (Claude Code). Claude wrote most of the MOS, the tools, the tests, the VS Code extension and the documentation, and recorded, edited and scripted the videos (narration: Piper text-to-speech). The goals, the design decisions, the reviews and the testing on real hardware are mine. The BBC BASIC interpreter is Sophie Wilson's original, unchanged.

Thanks

Sophie Wilson and Acorn Computers for BBC BASIC; Ivo van Poorten for the annotated source and the Atari port this MOS follows; J.G. Harston for the source reconstruction and decades of documentation; Freshness for ModPlayer_16k; Aleksi Eeben and Christian Gleissner for Upic; Eric Schraf and Aurel Wizzard for their graphics programs; Gideon Zweijtzer for the Ultimate. What is covered by which licence: NOTICE.md.