Acorn Atom Emulator

This is the first home computer built by Acorn, the company that would eventually create the Acorn RISC Machine or ARM that is used in every smart phone and Apple computer released today. It is also the precursor to the BBC Micro and you can see the primitive similarities that eventually evolved.

You must have a Pico 2 or equivalent to run this emulator.

This is probably the closest I’ve come to “vibe coding.” The AI coding assistants are becoming very good. This emulator was built using Opus 5.5 on medium effort. Of course, professional software engineering approaches were used in conjunction with AI.

Why? I wanted to play with the Atom and I wasn’t really looking at investing in building an emulator for the PicoCalc from scratch. Or I was impatient. Or both.


7 Likes

I am actually glad to see some AI coding going on. Honestly, there are a lot of people out there who have good ideas, but not the programing skill to make those ideas happen. I’d rather see the project come into being coded by an AI, then never see it at all.

1 Like

Release v1.1

  • 300 MHz Pico clock and a 4 MHz Atom
  • VIA port B on the GPIOs
  • Menu keys: F1–F5 open Tapes, Discs, Snapshots, Setup and Machine straight from the Atom

1 Like

Wow. I’m currently working on a RCA 1802 COSMAC ELF emulator (completely different architecture to what you’re doing), so I took a look at your projects’ pico-atom/docs/emulator-lessons.md at main · BlairLeduc/pico-atom · GitHub file. That is an amazing writeup with lessons for anyone doing emulation. When I started, I thought it would be a quick five-minute read, but it took me a good half hour to read through it. Amazing docs.

1 Like

I had a momentary thought this document would help others and I am very glad it did!

I am working on my next emulation for the Jupiter Ace and I plan to update that doc with the lessons learned from this.

I am so very looking forward to your COSMAC ELF emulator now that I know about it!

1 Like

Offhand, are you aware of the existing Jupiter Ace emulator xAce?

Release v1.2

What’s new since 1.1

  • Alt+I no longer eats the next Enter. Insert is Shift+Enter or Alt+I; an Alt+I with Alt let go first used to swallow the following Enter. The key is now decided when it arrives, with Alt as it was then.
  • A tapped Shift or Ctrl reaches the Atom. A modifier pressed and released quickly was applied and undone before the guest saw it; its release now waits as a key’s does.
  • Rewinding a tape stops the deck. Rewinding a playing tape used to start it again from the beginning; it now leaves the tape stopped at its start, as a real deck does.
  • New document, docs/emulator-lessons.md: what this project taught about writing an emulator on the PicoCalc.

1 Like

Yes, I know of xAce and MAME. A fellow built one for the Pico but never opened the source, but made a YouTube video.

Thank you for the info in pico-atom/docs at main · BlairLeduc/pico-atom · GitHub

I don’t know if I will ever use or understand all of it, but I know I’ll be revisiting some of my projects to see if I can learn a few improvements to apply to my code.

1 Like

Blair: I’ve pushed my COSMAC ELF 1802 emulator to Github. Feel free to take a look.

1 Like