RPCEmu is an emulator of classic Acorn computer systems, such as the Risc PC and A7000. It runs on multiple platforms including Windows, Linux and Mac OS X
RPCEmu requires a RISC OS ROM image to work, find details of where to find one or try an RPCEmu Easy-Start bundle.
RPCEmu should be considered Alpha Quality code. It has many known and unknown bugs, and all files used with it should be well backed up before using them with RPCEmu.
Documentation
The following documents are available.
- User Manual - All platforms.
- Networking Guide - Windows/Linux.
- Using ROOL RISC OS 5 - All platforms.
- Tutorial - Installing RPCEmu and RISC OS 3.71 on Windows - on 4corn.
- How to compile from source - Windows
- How to compile from source - Linux
- How to compile from source - FreeBSD
How to compile from source - OpenBSDOpenBSD compilation requires a newer compiler than supplied in the default distribution, suggestions welcomed- (Advanced) Tutorial - Running RPCEmu as the Phoebe Risc PC 2 - on 4corn.
If you have any questions or need help, there is a RPCEmu Mailing List, however please specify the version number to avoid confusion. Your patches, suggestions and even bug reports are gratefully received.
Downloads
Want to say thank you for RPCEmu? |
Binary Packages (Version 0.9.5)
Format | Notes | |
---|---|---|
Windows 7 8 10 11 (32/64 bit) |
||
Zip Archive | Install to the location of your choice. |
Source Code (Version 0.9.5)
Format | Notes | |
---|---|---|
All Platforms | Source Code | Use this to compile up a version for Linux or OpenBSD, also for Windows. |
Easy-Start bundles
Download combination RPCEmu, RISC OS and harddisc Easy-Start bundles, featuring full RISC OS 3.71 and RISC OS Direct (5.27) builds.
Contributed Builds
Format | Notes | |
---|---|---|
Mac OS X | Binary | 0.9.3a. A 0.9.3 binary (Timothy Coltman<) |
Previous Releases
Additional Downloads
Format | |||
---|---|---|---|
Blank Pre-Formatted Hard Discs | ADFS E | 256MB | 1GB |
ADFS E+ (long filenames, RISC OS 3.80 or later only) |
256MB | 1GB | |
Blank Pre-Formatted Floppy Discs | ADFS E | 800KB | |
All downloads in Zip format, decompress before use. No download is larger that 1MB. |
Release Notes
Version 0.9.5 - 26/10/2024
Changes in this build
- Mouse
- Implement mouse-wheel support to scroll window contents. Based upon work by Daniel Clarke for Arcem.
- Floppy Disc
- Add the ability to create blank, pre formatted, floppy disc images from the UI.
- Restore the ability to format blank files as disc images (a regression in 0.9.4)
- IDE Hard Discs
- Support LBA (Logical Block Addressing) hard disc image files, based upon work by Phil Morris.
- Correctly detect and work around hard drive images that have the off by 512 byte (1 sector) bug and no longer create new hard drive images that have that issue when formatting new hard discs.
- Networking
- Refactor and refine the network driver
- Use up to date header files for RISC OS libraries
- Correct the usage of podule interrupts, allowing other podules to also handle them.
- Timing
- Improve timer accuracy of 'intermediate' values. Based upon work by Jeffrey Lee
- HostFS
- Add support for high-resolution timestamps for HostFS on 64-bit Linux (this was already available on Windows)
Developer Information
We're very happy for RPCEmu to accept code and contributions from third parties, already many people have contributed code and we hope to continue down this route.
The RPCEmu source is stored inside the Mercurial version control system, Mercurial clients are available for many platforms, including (but not limited to) Windows, Linux, Mac OS X, Solaris, BSDs. If you are used to a different version control system, such as CVS or SVN, Mercurial (as a distributed version control system) may seem a little odd, but there are plenty of tutorials and advice for users coming from other systems on the web.
The Mercurial repository is based at
http://www.home.marutan.net/hg/rpcemu
and checking out the code is as simple as
hg clone http://www.home.marutan.net/hg/rpcemu rpcemu
How to get code committed into the repository
Prepare a patch file of the differences between your new code and the current 'HEAD' of the project.
Mercurial provides the 'hg diff' command, which generates diff files suitable for this.
Then post this patch file to the Stardot forum (or to us directly if you so wish), with an explanation of what it's for, and in the case of bug fixes, the bug it's meant to fix (it's not always obvious from the code)
Generally the smaller the patch, with the most specific function or reason, the easier the patch is to merge in, whereas a "I fixed everything I thought was wrong" would take a very long time to verify and test.
Patches may get edited before being committed, or if the changes required are particularly large an updated patch may be requested of the developer. In some rare cases it might not be possible to commit a patch, and at that point there should be a stated reason (e.g. patch overlaps with another patch that deprecates it, patch is too widespread to verify (suggest breaking into smaller patches), etc).
If you have any questions, once again the Stardot forum is the best place to ask, also, if you're considering a particulaly large change, that would affect a large functional area or many files, it might well be worth getting some advice from the developers on the forum first, incase it overlaps with other development work, or even just a suggestion of how to accomplish it in smaller changes.