Aemulor Downloads

This page holds assorted versions of the Aemulor 26-bit emulator and compatibility layer to download and use with your 32-bit RISC OS machines.

Please be sure to download the appropriate version for your target machine, because other versions will refuse to start. The core code is machine-specific, for correct operation and/or for higher performance.

The latest development version should be considered potentially unstable, and only be started on demand (ie. do not install it in your boot sequence because it could be difficult to remove it in the event of a failure). Also, keep your earlier version available to use instead, in case of compatibility issues with old 26-bit applications and/or OS updates that you need.

Latest development version - 2.52 - 26th September 2019

This update to Aemulor provides support for the ARMBook portable from R-Comp and provides an alternative memory configuration that permits the use of up to 52MiB within 32-bit applications running alongside Aemulor and its 26-bit world, as opposed to the original 28MiB limitation introduced for maximum compatibility. Hopefully this will be beneficial to those users who employ Aemulor for running a small number of desktop applications and do not requires it full support for non-desktop applications and games

In addition, with verions of Aemulor prior to 2.52 there is an issue with 26-bit Impression builds using 32-bit versions of GDraw, FontDraw, GSpriteExtend and DitherExtend modules. That arrangement (affects Impression-X and any 26-bit Impression trying to use 32-bit modules for correct Red/Blue ordering on Titanium and ARMbook) does function but the 26-bit application code installs a 32-bit module into the 26-bit RMA and it would thus remain installed in the OS module chain after Aemulor is stopped, causing instability and crashes.

With 2.52 and later you will be asked for permission to kill any such 32-bit modules, which necessarily could impact any 32-bit applications also using them. Aemulor cannot feasibly do anything else, and this is preferable to system stability/crashes, until we have a fully 32-bit Impression.

To download the latest, potentially unstable, development build of Aemulor, choose the appropriate build for your target machine from the list below.

  • Titanium, RapidO, TiMachine
  • Raspberry Pi, Pi Zero, Pi Zero W (BCM2835)
  • Raspberry Pi2 (BCM2836)
  • ARMBook, Raspberry Pi3, Pi2 ver 1.2 (BCM2837)
  • ARMX6, ARMiniX, ARMini, BeagleBoard, PandaBoard
  • IYONIX pc
  • RPCEmu
  • IMPORTANT:This IYONIX pc build offers only the ARM610/ARM3 emulations, not the much higher performance of the StrongARM available in commercially-released earlier versions. This is purely because I have somehow managed to break its function over the past couple of years and it may take me a while to track down how. (I was trying to make some of its additional speed available on all targets using a modified approach).

    Lastly, when the OS_DynamicArea 26 change from Jeffrey Lee (thank you) makes it into your RPC build of 5.27 the following should no longer be necessary...

    NOTE: The RPCEmu build will require you to introduce the following additional patch (which is for the stable 5.22 release of 13-Apr-2015) to reduce the application space size, otherwise you will get an 'Overlapping Areas' error from Aemulor when it tries to start.

    { 0x1a460, { 0xe328f202, 0xe8bd803f, 0x00000000, 0x20000000 }, 0x1a46c, 0x01c00000, "28MB WimpSlot Aemulor" },

    Add it to the end of the rom_patch array in romload.c, rebuild and ensure that the patch has been applied by checking through the RPCEmu log. Enjoy.

    Older 2.40 version builds

    NOTE: The RPCEmu build will require you to introduce the following additional patch (which is for the stable 5.22 release of 13-Apr-2015) to reduce the application space size, otherwise you will get an 'Overlapping Areas' error from Aemulor when it tries to start.

    { 0x1a460, { 0xe328f202, 0xe8bd803f, 0x00000000, 0x20000000 }, 0x1a46c, 0x01c00000, "28MB WimpSlot Aemulor" },

    Add it to the end of the rom_patch array in romload.c, rebuild and ensure that the patch has been applied by checking through the RPCEmu log. Enjoy.

    NOTE: The above builds should operate on builds of RISC OS that relocate the CPU vectors and kernel workspace (referred to as 'Zero Page protection') and protect 26-bit applications from this change. However, as a practical measure, I do not have ZPP and non-ZPP builds for all machines (or, in one case, the machine itself!). If you find problems, please let me know.

    For anyone who is still interested in a version for the A9home I may able to supply one, although since the OS port was rather immature and because I have not built Aemulor for that target in many years, I can offer no guarantee of success.

    Older released versions

    Older, formally released and documented versions of Aemulor are available below and may still be preferable for use if there are issues with the latest development version (it is not practicable for me to test every version with every 26-bit application used by every user!) or if there are compatibility issues with specific OS versions:

    Thanks to Neil Spellings for publishing and supporting Aemulor over the many years since its creation in 2002. For anyone who is interested in the story of its serendipitous creation, I have recorded my recollections of that time To be continued...

    Copyright Adrian Lees 2003-2019