The Acorn Risc PC, brought up to date

RPCEmu Extended is an emulator for the Acorn Risc PC and A7000. It runs RISC OS on your own computer, at the speed of real hardware.

Download 1.1.16 See what it does

Free software under the GPL v2, for Linux, Windows and macOS. It runs RISC OS 3.5 and later, and works best with RISC OS 5, which is the version still being developed and is open source. No operating system is included, and the emulator will fetch one for you.

An Acorn Risc PC 600 photographed in coloured studio lighting: a CRT monitor
                      showing the RISC OS desktop with several windows open, the two-slice system
                      case below it, and an Acorn keyboard and mouse in front.
A Risc PC 600, the machine this emulates.

Get it

Download

Every release is published on GitHub. This list is read from the latest one, so it cannot fall out of step with what is actually available.

1.1.16 Release notes →
Downloads for version 1.1.16, by platform
Format For Size File
Linux
Debian and Ubuntu package amd64 1.9 MB rpcemu_1.1.16_amd64.deb
Debian and Ubuntu package arm64 1.8 MB rpcemu_1.1.16_arm64.deb
Archive amd64 1.7 MB rpcemu_1.1.16_linux_amd64.tar.gz
Archive arm64 1.6 MB rpcemu_1.1.16_linux_arm64.tar.gz
Windows
Zip archive amd64 20 MB rpcemu_1.1.16_windows_amd64.zip
macOS
Disk image Universal 26 MB rpcemu_1.1.16_macos_universal.dmg
Archive Universal 23 MB rpcemu_1.1.16_macos_universal.tar.gz
Also in this release
Interface documentation Any 150 KB rpcemu-interface-docs-1.1.16.zip

RISC OS itself is not in these downloads. The emulator will fetch RISC OS 5 and a ready-made hard disc from RISC OS Open when you create your first machine, and will show you their licence terms first. If you have your own ROM image, from RISC OS 3.5 onwards, you can use that instead.

What you can run

What it is like to use

This is a fork of RPCEmu, so it does everything the original does. What follows is what it adds.

The machine

A Risc PC, as fast as the real thing

You get a Risc PC with a Kinetic StrongARM card and 512MB of memory, which is more than Acorn ever shipped. Guest code is recompiled as it runs, so the desktop feels like hardware rather than like an emulator.

How the processor card is emulated →
The RISC OS 5 desktop in RPCEmu Extended, with a Filer window open on the HostFS disc showing folders for Apps, Documents, Diversions and Projects. The emulator's status bar reads 381.5 MIPS.
RISC OS 5 at 1024 by 768. The menu bar, toolbar and speed readout along the edges belong to the emulator; everything inside them is RISC OS.

Games

The games that never used to work

Many Acorn games need ADFFS, and ADFFS needs the processor to fault when a program writes to protected memory. RPCEmu never did that, which is why ADFFS told people to avoid it from 2013 onwards. It faults correctly here, so those games run.

What was wrong, and how it was fixed →
A RISC OS Filer window titled Apps.Games containing application icons for ADFFS, Cannon, ChuckSA, Nebulus, Pockets, Zool and a Champions folder.
Games installed onto a machine's disc by the package manager, from the Archimedes Software Preservation Project.

Applications

Thirty years of software, a click away

The package manager installs software straight onto a machine's disc from the same repositories a real RISC OS machine uses. Over 350 applications, games, fonts and libraries, and it records what it installed so things uninstall cleanly.

About the package manager →
Maestro, the RISC OS music notation program, open on a Bach score inside RPCEmu Extended, with its tool palettes above and below the stave and a Filer window behind it.
Maestro, editing a score. The row of icons along the bottom of the RISC OS screen is the icon bar, where discs and running applications live.

Sharing files

Machines that can see each other

RISC OS machines shared their discs using Acorn Access and ShareFS, and that works here. Two machines on the same computer find each other with nothing to set up. Getting further than that takes one of two routes.

How an emulated machine reaches other machines Machines running on one computer share a loopback hub with nothing to configure. From there two separate routes lead outwards: the Access broadcast relay onto the host's own network, which reaches real Acorn hardware, and a JSON tun/tap server, which reaches emulators anywhere else including RISC OS Pyromaniac. your computer Machine 100.64.x.x Machine 100.64.x.x loopback hub Access relay JSON networking Your own network a real Risc PC on Access, and anything else on the LAN A JSON server emulators on other computers, and RISC OS Pyromaniac

To real hardware

Your own network

A machine sits behind NAT, which normally swallows the broadcasts Access depends on. The emulator relays them onto your real network instead, so a Risc PC in the same room joins in. One emulator per computer does the relaying and the others step aside on their own.

How machines are addressed →

To other emulators

A shared virtual network

Point several emulators at one JSON server and they are all on the same network, wherever they are running. The server can sit on a Linux box while Windows and macOS machines join it over the internet. RISC OS Pyromaniac speaks the same protocol, which is Charles Ferguson's.

Setting up a shared network →

When it goes wrong

Watch the wire

An emulated machine has no network card for Wireshark to point at, so the emulator provides the capture itself. It labels Freeway and ShareFS by name, where a general-purpose tool shows only unnamed UDP traffic.

Capturing network traffic →

Every machine gets its own address, worked out from its own hardware address, so two people who have never met can still put their machines on one network without agreeing anything first.

Developing

Write code here, run it in RISC OS

You do not have to work inside the emulated machine to build software for it. Keep your usual editor, and send the build to the guest from your own shell. The output comes back to you, along with whether it worked.

rpcemu-run -- cc -c hello
build a file on the guest, from your shell
rpcemu-shell
open a RISC OS command prompt in your terminal
bp add main if r0 == 0
set a conditional breakpoint on the emulated processor
rpcemu-netcap --pcap - | wireshark -k -i -
watch the machine's network traffic live

Hardware

Fit it out

Cards and ports a Risc PC could have taken, and one or two it could not. Each belongs to a single machine, so your other machines are unaffected.

Bigger screen modes

A real Risc PC runs out of video memory at 800 by 600 in full colour. Fit the emulated graphics card and you can go to 2560 by 1440 instead. It is off until you turn it on, and RISC OS carries on using the built-in video until then.

Graphics card →

USB drives and devices

Plug a device into your computer and hand it to the machine, and RISC OS sees the real thing. Memory sticks mount and can be read and written, including FAT and exFAT discs, so a file saved in RISC OS is still there on a PC. Tested on Linux; not yet tested on Windows or macOS.

USB support →

A second processor

The Risc PC had a slot for a second processor and almost nothing was ever made for it. There is a card here offering a choice of seven, from a 6502 to a RISC-V core, each with its own memory. Nothing exists to run on it, which is rather the point.

Second processor card →

Getting RISC OS

The emulator ships without an operating system, so a fresh installation has nothing to run. When you create your first machine it offers to fetch RISC OS 5 and a ready-made hard disc from RISC OS Open, and shows you their licence terms first. It will not overwrite a disc you already have.

Getting RISC OS →

As many machines as you like

Set up several machines and pick one at startup. Each has its own disc, settings and configuration, so one can be a RISC OS 3.7 machine and the next a RISC OS 5 one. Save a running machine to disc and carry on later exactly where you stopped.

Several machines →

Use it from another computer

Every machine can offer itself over VNC, with its own port and password, so several can run at once. It will also run with no window at all, which suits a server: nothing graphical is started, and you connect when you want to look.

Remote and headless use →

Faster drawing

Some of what RISC OS draws pixel by pixel is handed to your own computer to do in one go, with an identical result. Only operations that can be reproduced exactly are taken. On by default, and per machine.

Drawing acceleration →

Expansion cards and ports

Fit emulated podules: a ROM card, MIDI through your own MIDI hardware, or the Computer Concepts Lark sampler. The serial port can reach a real port or dial a telnet BBS, and the parallel port can reach a real printer or write a PDF.

Cards and ports →

Floating point

Complete emulation of the FPA10, the floating point unit a Risc PC could be fitted with, timed to the cycle. Software that expects one finds one, and the debugger understands its instructions.

Floating point →

Getting started

From nothing to a RISC OS desktop

  1. Install it

    Take the package or archive for your platform below. On Debian and Ubuntu the .deb sorts out what it needs; elsewhere unpack the archive and run it from wherever you put it.

  2. Get RISC OS

    The first time you create a machine it offers to download RISC OS 5 and a ready-made hard disc from RISC OS Open. If you would rather use your own ROM image, from RISC OS 3.5 onwards, point the machine at it instead.

  3. Start it up

    Choose the machine and it boots to the RISC OS desktop. Screen size, networking, USB and expansion cards all belong to that machine, so changing them leaves your other machines alone.

  4. Build on it

    If you are here to write RISC OS software, turn on guest commands and compile from your own shell, or attach the debugger. The documentation covers both.

Building from source, or on a platform without a published build? The compilation guide covers Linux, Windows and macOS, and the README is the fullest reference for everything on this page.

News

What has changed lately

Taken from the repository, and refreshed through the day.