ARM610 and ARM710
What a Risc PC 600 and 700 shipped with, and what RISC OS 3 and 4 generally want. If you are running the version you remember, this is the machine you remember it on.
The machine
Choose the processor: an ARM610, an ARM710, a StrongARM, or the Kinetic card with 512MB of its own. Or an A7000 instead. Which one you want depends mostly on which version of RISC OS you intend to run.
Choosing one
Four processors and two A7000 variants, selected per machine. The choice is not about benchmarks: it is mostly about which version of RISC OS you are going to boot.
What a Risc PC 600 and 700 shipped with, and what RISC OS 3 and 4 generally want. If you are running the version you remember, this is the machine you remember it on.
A StrongARM processor card in an ordinary Risc PC, reaching main memory across the machine's own memory bus like the cards before it. Supported by RISC OS 3.7 onwards, and the straightforward way to make a Risc PC quick.
A different kind of upgrade: it puts the processor and its memory together on the card, close to each other, so the processor is not held back by the Risc PC's memory bus. That is the whole point: a StrongARM in an ordinary Risc PC was crippled by that bus, and on the Kinetic it is not. The 512MB is a consequence of the arrangement rather than the reason for it. RISC OS 5 supports it outright; under RISC OS 4 it needs a build that knows about it.
The cheaper machine without VRAM: video runs from main memory. Worth having when the software you care about was written for one.
The Kinetic in particular
Worth knowing if you pick it, and safe to skip if you do not. A StrongARM card still reached main memory across the Risc PC's memory bus, and that bus was the limit on how fast it could go. Castle put a 233MHz StrongARM and its own SD RAM on one board, with chips of their own that reduced how much the machine leaned on Acorn's IOMD, so the processor and its memory sat together instead of talking across the motherboard.
The card's own RAM is used first, and the memory on the motherboard is what programs spill into once it is full. That is why a Kinetic machine has more memory in total than the IOMD can address on its own.
The card shipped with RISC OS 4.03, a different strain from the 4.03 in other machines of the period. That is the concrete reason RISC OS 4 needs a particular build here and RISC OS 5 does not.
At launch they put screen redraws at up to two and a half times an ordinary StrongARM Risc PC on RISC OS 4. That was their figure and it was not independently verified at the time, so read it as the claim it was rather than as a measurement.
Emulating that meant threading the card's memory through address translation, the memory map and the recompiler alike, because guest code can execute from it. It is not the motherboard's memory with a larger number on it.
RISC OS does not ask a register whether it is on a Kinetic. It works it out from how the machine behaves, so the emulation has to behave that way rather than answer a question.
Choose the Kinetic and the memory is fixed at 512MB, because on that card it is not a choice.
Speed
Guest ARM code is translated to your own processor's instructions and cached, so a loop is translated once and then run. That is the difference between an emulator you demonstrate and one you use.
Both have a recompiler, so an Intel or AMD machine and an Apple Silicon or arm64 Linux machine all run translated code rather than falling back to interpreting it.
Complete FPA10 emulation, the floating point unit a Risc PC could be fitted with, timed to the cycle. Software that expects one finds one, and the debugger reads its instructions as instructions rather than as generic coprocessor traffic.
Where RISC OS asks for something this computer can do identically, such as plotting a sprite to the screen, it is done here and the guest's pixel-by-pixel loop skipped. Only operations that reproduce exactly are taken.
Fidelity
ADFFS runs the preserved commercial games, and it relies on the processor faulting when a program writes to protected memory. RPCEmu did not fault: once an address translation was cached it stopped checking permissions, so a write that should have aborted quietly succeeded.
That is why ADFFS told people to avoid RPCEmu from 2013 onwards, and why very few of the games that need it ran. It faults correctly here, and a regression test holds it, so the games work.
It is worth saying plainly because it is the kind of defect that never announces itself. Nothing crashed and no error appeared; software that depended on the fault simply misbehaved, and the emulator looked innocent.