Unless another version is listed, this needs at least QEMU 3.0 and does not work with older versions. Latest changes may only be in QEMU sources from git and require building it yourself, sometimes with additional patches. See developer introduction for instructions. I don't provide binaries or help building it. These patches get in official QEMU releases eventually so these should become more widely available in the future but sometimes that may take some time to reach your source of binaries or you can try binaries provided by Emaculation.com
All PPC machines are emulated by the ppc-softmmu
target in QEMU
so you only need to build that (configure --target-list=ppc-softmmu
).
Building with --enable-debug
makes emulation considerably
slower so if you want performance don't enable this option. The
sam460ex
machine should run all of these OSes but MorphOS
did not work with it before QEMU 6.0 and runs better on the mac99
Macintosh emulation so that can be used for it instead. Since QEMU 6.1
there is also a pegasos2
machine which can run MorphOS
and AmigaOS but the latter has no graphics driver for the emulated
cards on the install CD so it does not produce video output.
2022-12-14 | QEMU 7.2.0 is now available PPC emulation changes and improvements |
2022-08-31 | QEMU 7.1.0 is now available Fix potential incomplete DMA on sam460ex that could only affect AmigaOS4 |
2021-12-14 | QEMU 6.2.0 is now available Fixed USB emulation and some small enhancements in pegasos2 |
2021-08-24 | QEMU 6.1.0 is now available |
2021-08-05 | QEMU 6.1.0-rc2 is now available New pegasos2 emulation |
2021-04-29 | QEMU 6.0.0 is now available |
2021-03-24 | QEMU 6.0.0-rc0 is now available Fix MorphOS boot on sam460ex |
2020-12-08 | QEMU 5.2.0 is now available |
2020-08-12 | QEMU 5.1.0 is now available Improved SM501 2D acceleration performance (only used by AmigaOS) |
2020-04-28 | QEMU 5.0.0 is now available |
2020-04-07 | QEMU 5.0.0-rc2 is now available Some speed improvements and occasional AmigaOS crash is less likely |
2019-08-15 | QEMU 4.1.0 is now available |
2019-07-09 | New with QEMU 4.1.0: preliminary ATI VGA emulation, see What about better graphics emulation? FAQ entry |
2019-07-09 | QEMU 4.1.0-rc0 is now available |
2019-06-08 | Announcing Project Qmiga for those who like to help with development because it's going too slow otherwise. |
2019-04-24 | QEMU 4.0.0 is now available |
2019-03-26 | QEMU 4.0.0-rc1 is now available |
2019-02-19 |
Patch merged on QEMU master fixing exception with lwsync.
Also sungem network is now default on mac99 instead of ne2k .
|
2019-02-04 |
Patch merged on QEMU master that allows using 2GB memory on sam460ex .
|
2019-01-28 |
Patch merged on QEMU master that fixes a bug reading status of
device connected to ide.1 .
|
2018-12-11 | QEMU 3.1.0 is now available No changes relevant to Amiga like OSes in this release |
2018-08-20 | Emaculation.com has Windows and OSX binaries of QEMU 3.0.0 (also check their guides) |
2018-08-15 | QEMU 3.0.0 is now available |
2018-07-18 | Windows binaries of QEMU are updated to 3.0.0-rc1 |
2018-07-17 | QEMU 3.0.0-rc1 is now available |
2018-07-15 |
Updated page with info on lower performance with --enable-debug
|
2018-07-10 | QEMU 3.0.0-rc0 is now available |
2018-07-09 | All required patches merged on QEMU git master |
Further info by category:
qemu-img create -f raw hd.img 1G
that creates a 1
gigabyte image file. Don't use -hda
option to add it to
QEMU when installing on this image because as the warning says in that
case format is guessed and writes to block 0 will not be allowed which
prevents the partition table to be written. Use at least -drive
file=hd.img,format=raw
instead or use the full detailed options
listed above for sam460ex
to specify drives.mac99
with G4 CPU.--enable-debug
option? If so
this disables optimisation and enables some additional checks that
makes it run considerably slower. Unless you need it for debugging try
without this option. Apart from that, I don't know and no one would
know for sure without doing some profiling and identifying where the
speed penalties are. Generally, doing things from software that is
normally done by hardware is going to be slow (that's why it's done in
hardware on the real machine) and emulating one hardware arch on a
different one is just doing that: implementing the hardware features
in software so it is expected to be slower (unless the emulated
hardware is much slower than the host). QEMU has some tricks to speed
things up but these may not work for all workloads or it may be
possible to optimise it further if someone would take the time to measure,
identify and optimise bottlenecks. There are some known weak points too
such as FPU emulation which is partly because QEMU prefers correctness
over speed, partly because nobody was interested so far to contribute
improvements so existing code while works may not be the fastest.x86_64
or ARM). Moreover, on PPC it ideally uses
virtualisation (hypervisor or HV) support which is only found in server or
newer CPUs and only runs code for same CPU as the host. On PPC besides this
HV mode KVM also has a so called PR mode which also works on CPUs without
hardware support but this can only run non-privileged user code natively and
still has to emulate all privileged instructions so it's slower than HV KVM
but depending on usage it should still be much faster than emulating all
instructions. QEMU can use KVM on PPC host but since PPC Linux is now more
focused on PPC64 servers it's possible that older CPUs and KVM PR needs some
fixes and mostly only works for BookS CPUs so supporting PPC440
virtualisation would need some work.m68k
for Macintosh Quadra 800 and NeXT Cube
emulation are being merged into QEMU so we might get some useful components
from that in the future. We also benefit from any improvement made in PPC
emulation for PowerMac or server emulation. Also QEMU is supported on a lot
of platforms and we get this for free as well. Finally, having support for
Amiga like OSes in QEMU also increases its visibility among experts better
than having an obscure emulator that only a limited number of people develop
and use. So in the spirit of open source, with QEMU we get help from others
and also help others at the same time working on a common goal (e.g. the
sii3112
emulation I've added for sam460ex
can be
used on other platforms as this is a common PCI SATA controller and the
sam460ex
emulation is used to test Linux releases to ensure they
still work on this platform; the sm501
graphics chip is also
used on SH platform emulation and the work done to get MorphOS running on
mac99
helped getting MacOS and OS X running as well.)sm501
graphics was a quick way to get
graphics working but it is limited so even after optimising it it would not
provide all features of better GPUs usually used on real hardware. So instead
of spending time improving sm501
further, I've started implementing
ATI VGA emulation.
It is far from finished (it is a big project I'm not expecting to be able to
finish any time soon without help) and can only partially emulate an
ATI Rage 128 Pro yet but as of QEMU v4.1.0 it can be used with MorphOS and
get picture with some 2D acceleration (although video overlay is known to be
missing so video playback will fail and there could be other problems as
well). To try it, replace -device sm501
with
-device ati-vga,guest_hwcursor=true,romfile=""
in the MorphOS
command line. (This only works with MorphOS for now as AmigaOS does not have a
Rage 128 Pro driver and the alternative RV100 emulation is not complete enough
yet.)