Updated 08/12/05
Q: What is Aemulor?
Aemulor is a 26-bit emulator for the IYONIX pc
Q: Why do I need Aemulor if I have an IYONIX pc?
The IYONIX pc contains an Intel XScale processor, which unlike all previous ARM-based
processors does not have a 26-bit compatility mode allowing you to run
all existing software.
Q: What software won't run natively on the IYONIX pc?
All 26-bit C programs, Assembler containing 26-bit calls and BASIC programs
with embedded 26-bit assembler.
Q: What software can I use Aemulor to get working on Iyonix?
Aemulor is primarily targetted at desktop applications, and Aemulor Pro at
non-desktop apps such as games. Aemulor does not do any hardware emulation so
applications (mainly games) which try to communicate with IOMD or VIDC directly
won't run under Aemulor. Most desktop applications use RISC OS API calls to do
any graphics functions, in which case they should work fine under Aemulor.
See the compatiblity database for software that has been tested under Aemulor
and Aemulor Pro on the IYONIX pc
Q: How do I run something under Aemulor?
Aemulor has a configuration that allows you to specify whether it should
automatically intercept all attempts to execute 26-bit code (or, more accurately,
code that has NOT been updated for 32-bit compatibility). In this case, Aemulor's
operation is entirely transparent to the user; there isn't even any need for
you to know whether an application is 26-bit or 32-bit code.
Just in case this gives problems with any native 32-bit applications, you
can switch off this option and manually drag your old applications onto Aemulor
to run them under emulation.
Q: Does Aemulor run apps in a window like other emulators?
No. Apart from any speed differences there will be no visible difference
between running under emulation and running native (if that were possible
on the new platform!)
Applications appear on the iconbar as usual. You can even perform regular
RISC OS drag and drop operations between applications running native and those
running under Aemulor!
Q: Do you need to change applications to run them under emulation?
No. Applications can be dragged onto Aemulor's icon, or into one of its
windows, and they should run without modification. (An earlier version of
Aemulor required !Run files to be modified as a temporary measure during development
and somehow this fact was 'leaked' to a few people. This is no longer the
case.)
This means that Aemulor is also able to run installation programs supplied
on write-protected floppy disks or CD-ROMs.
Q: How does it cope with 26-bit modules?
Aemulor loads and manages 26-bit modules itself since there is no support
for 26-bit modules in RISC OS 5. This means that 32-bit applications cannot
make use of 26-bit modules, so when an application is updated for 32-bit compatibility,
its modules must be updated too.
Q: Why should I buy updated 32-bit software if I can still use my old
applications under Aemulor?
There will always be a performance hit from running applications under an
emulator because of the extra work that the computer has to do. Also, old
26-bit software will not be able to use the new features of the IYONIX pc
and RISC OS 5, and you would of course miss out on any other enhancements
that the authors introduce.
Aemulor is really only intended for use with applications that, for whatever
reason, cannot or will not be updated. The Aemulor team would prefer to see
as much software updated and future-proofed as possible.
Q: Does Aemulor allow me to use my old podules (with 26-bit drivers) in
the IYONIX pc?
No. At least, not at present. It is technically quite difficult to emulate
podule code because it is loaded very soon after you switch on the machine,
probably before Aemulor itself has started running.
Whilst there are ways around this, most of the old podules are now superfluous,
being outperformed by the new hardware. So supporting podules is not a priority.
Additionally, we feel that the development effort required would be better
spent converting the podule drivers to 32-bit code, giving better performance
and/or fewer compatibility issues.
As always, if this is a problem for you, please contact us and we may consider
changing Aemulor if there is enough demand. Be warned, however, that a complete
solution would probably require the use of one podule slot to hold the Aemulor
code, and that the IYONIX's podule bus is really only intended for ease of
prototyping new boards and may never fully support all of the old podules.
Q:When I try to run 26-bit application 'X' I get an error saying that
"Application 'X' needs module 'Y' to run." What's wrong?
When a 26-bit app can't see one of its own modules it almost invariably
means that Aemulor hasn't been told to run that app. Drag the app onto
Aemulor the first time you run it, and answer "Yes" to the prompt
"Would you like this program to automatically run under Aemulor in
future?"
What's happening - and the reason that Vector, for example, works - is
that when the application starts executing at the end of the !Run file,
it is then obvious to Aemulor that the application is 26-bit and it steps in.
Up until that point Aemulor cannot step in unless told to do so,
because it could be a 32-bit application.
Q: When I try to run Eureka with version 2.31 of Aemulor (or Aemulor Pro,
I get an error message "Fatal error! Cannot initialise cursor subsystem" -
why?
Version 2.31 introduced a fix for the incorrect colours of the window controls
in Eureka when run on RISC OS 5. Because Eureka makes certain assumptions about
the size of these controls, it needs a file 'Tools3D'
Q: How does the A9home version of Aemulor compare with the original
IYONIX pc version?
The A9home version of Aemulor is very similar to the IYONIX pc version, differing
only in the memory addresses that it uses and the speed of the emulation, since the
original StrongARM engine relies upon hardware features present in the XScale
CPU only. The StrongARM engine is therefore much slower (the same speed as the
ARM610 engine) when run on the A9home; the only difference between the two
engines being a few subtle changes to a couple of instructions to give the
correct behaviour for each processor.
The A9home pre-release OS still positions its RMA (Module area) at an address
suitable for the execution of 26-bit modules, and to avoid further restricting
the application slot, Aemulor therefore uses the native RMA for its 26-bit
modules too. (On the IYONIX pc it creates a new emulated RMA for 26-bit code).
This means that the application slot limit on the A9home version is currently
24MB versus 28MB without Aemulor running (On the IYONIX pc it is 28MB with
Aemulor running).
Q: When will Aemulor Pro be available for the A9home?
That really depends upon the release date of the A9home production machine
since Pro requires features such as audio output that are not currently present
in the A9home pre-release OS. It is anticipated that the Pro version can be
released very soon after the A9home OS has been finalised, because all of the code
has already been written and proven on the IYONIX pc and will require, at most,
only small modifications.