Related topics

Chap rebuilds BBC Micro in JavaScript

Revisit classic space-trading Elite in vintage form

BBC Micro

Matt Godbolt, a developer whose day job sees him work at a securities trading outfit, has used his personal time to rebuild the Acorn BBC Micro in JavaScript.

JSBeeb, running here and downloadable from Github is the product of about two months' work.

The emulator reproduces a 32K BBC Micro and when loaded into your browser produces the command prompt. Menus promise the chance to download software for the micro from various online sources, but proved a little flaky in our brief tests. If you experience the same problem, he's also built versions of the emulator that boot straight into classics like Elite and Repton.

Godbolt has blogged about the project, writing that a big challenge was figuring out how to synch the emulated 6502 processor's clock cycles and the CPU's handful of imperfect features bugs.

“As I generate the instructions I keep track of which cycle within the instruction memory accesses would occur,” he explained. “I then ensure the peripheral state is updated to take into account passing time before I read or write to memory.”

The emulator appears to be a faithful reproduction, makes suitably hideous sounds at boot-up, and offers zippy performance, something the original BBC Micro was not entirely famous for – but was certainly famous for other worthy reasons.

Godbolt promises to blog about screen and peripheral emulation in the future; posts that'll be worth seeking out for those who enjoy this kind of thing as his work is nicely detailed and includes lots of code samples and links to projects that will help others attempting similar resurrections. ®

Bootnote

For fans of in-browser emulation, there's also a JavaScript Electron (a cut-down BBC Micro) and Atari ST by various authors, plus plenty more over at the Internet Archive. What piqued our interest in Godbolt's work, however, was his nice writeup on how his cleanly written code works – and the promise of more.

Sponsored: Today’s most dangerous security threats