Eichhörnchen (German for Squirrel) is an Acorn Archimedes A3000 Emulator for running 26-bit versions of RISC OS written in C++23 for Windows, Mac and Linux. It's licensed under the terms of the MIT licence.
The project goal is to develop an Archimedes emulator with a high degree of test coverage to deliver a great user experience.
Eichhörnchen requires C++23 and uses CMake as its build tool (3.6.0 or later).
To perform an out of source build run the following series of commands
git clone https://github.com/RichardBrown384/Eichhoernchen.git
mkdir build
cd build
cmake -G <preferred generator> ../Eichhoernchen
To run the tests run the following command in the build directory
ctest --verbose -C debug
In order to run the application you're going to require a copy of RISC OS 2.00 (or 3.00 or 3.1x) ROMS
(./bios/riscos-200
relative to the application's working directory. Other versions of the OS can be used but require the use of
command-line switches (see below).
We recommend RISC OS 3.11 over other versions.
Assuming the application was built in a directory called build
you can run the application with a disc image
by typing
./build/Frontend/frontend archimedes your_disc.adf
While the application starts up hold down delete key to force RISC OS to perform a CMOS reset (see #9). If the reset was successful you will be presented with a desktop replete with Icon Bar.
To use RISC OS 3 the application needs to be told where the RISC OS 3 ROM files reside. Start the application (assuming the ROM image comprises the usual 4 files) with
./build/Frontend/frontend archimedes your_disc.adf --bios-files ./bios/riscos-311/IC24.ROM ./bios/riscos-311/IC25.ROM
./bios/riscos-311/IC26.ROM ./bios/riscos-311/IC27.ROM
While the application starts up hold down delete key to force RISC OS to perform a CMOS reset (see #9). If the reset was successful you will be presented with a desktop replete with Icon Bar.
The application should be considered as pre-release material and there are a couple of nice-to-haves that are currently missing that severely impact the usability.
- Any changes made to floppy discs aren't saved when the application exits (see #16). This is currently a safety feature since protecting user data is paramount.
- CMOS configuration changes aren't persisted (see #2)
- Switching between various versions of RISC OS is less than convenient (see #2)
The focus for now will be on adding tests to those compontents that got missed during that difficult stage of development known as staring at a blank screen and examining logfiles to find out why things weren't working.
After the tests have been written, the plan is to then implement missing features such as saving changes to floppies and persisting CMOS state before turning our attention towards performance.
New capabilties, such a hard disc support, are postponed until the application is comparatively bug-free and performant.
Eichhörnchen relies on the following libraries and the authors would like to express their thanks to