Previously no donations were accepted and they are still not solicited but to respond to "popular demand" (i.e. a few people asked) now there is a way to
Clicking the above button or following this link takes you to stripe.com to pay securely. The payment is processed by Stripe, no information is collected or saved by this site. This is the only way to send me money, do not use any other link or info from anywhere else. This is solely to show appreciation of the considerable amount of work I put into this in the past 10 years and does not give you any advantage or entitle you to demand anything. As stated in the disclaimer above, the project is without roadmap or specific goals and I will work on what I like. I'd like this to become a collaborative effort so If you want some new feature or improvements then a better way is to start contributing to the project. See the development page for details on how to do that or you can contact me via email (address can be found in git commits).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 need building it yourself, sometimes with additional patches. See developer introduction for instructions. I don't provide binaries or help building it. These changes get in official QEMU releases eventually so these should become more widely available in the future but sometimes 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 ran better on the mac99
Power Macintosh emulation. Since QEMU 6.1 there is also a pegasos2
machine which can run MorphOS and AmigaOS better since QEMU 8.0 but the latter
has no graphics driver for the emulated cards on the install CD so some changes
are needed to install AmigaOS on pegasos2.
2024-12-12 | QEMU 9.2.0 is now available Fix IRQs on pegasos2 pci.0 (AGP) bus |
2024-09-04 | QEMU 9.1.0 is now available Internal code clean up in MMU emulation |
2024-04-23 | QEMU 9.0.0 is now available sam460ex improvements (faster, support short drive options -cdrom & -drive media=..., fix SFS), pegasos2 IRQ fixes |
2024-04-15 | BBoot 0.7 released Fix up IRQ setup on pegasos2 and improved error message when file not found in zip |
2024-02-16 | BBoot 0.6 released Fixes booting amigaone machine with latest QEMU git master |
2023-12-19 | QEMU 8.2.0 is now available New amigaone emulation and some ati-vga fixes on ARM hosts |
2023-12-03 | BBoot 0.5 released This adds support for booting amigaone machine in QEMU v8.2.0 with BBoot |
2023-04-19 | QEMU 8.0.0 is now available Fixes for SM501 graphics and pegasos2 emulation adding sound output and PCI card support |
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 |
See further info by OS: AROS, AmigaOS, MorphOS
or read FAQ or Comments.
qemu-img create -f raw hd.img 1G
that creates a 1 gigabyte
image file. Don't use the -hda
shortcut 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 media=disk,format=raw,file=hd.img
instead which adds corresponding ide-hd
device automatically or use
the full detailed options listed above for sam460ex
to specify drive
with if=none
and -device ide-hd
to refer to that drive.-netdev user,id=net0 -device rtl8139,netdev=net0
(see the
QEMU docs
for more information). If you want to access services on the guest, ports can be
forwarded with
the hostfwd option.# ip tuntap add user <username> mode tap # ip link set tap0 up # ip addr add 192.168.0.1/24 dev tap0Then you can attach a virtual network card to that tap interface as
-netdev tap,id=net0,ifname=tap0,script=no,downscript=no -device ne2k_pci,netdev=net0
and set an IP address (i.e. 192.168.0.2) in the guest (adjust these IP
addresses as needed). Then you can communicate between host and guest or set up
routing on the host. Alternatively, instead of assigning IP addresses you can
create a bridge on the host and add the tap device to that to allow the guest
to access the same physical network the host is attached to as if it were a
real machine.-drive if=none,id=ufat,format=raw,file=fat:rw:/dir/to/export -device usb-storage,drive=ufatDue to a bug in
sam460ex
firmware this does not boot with the device
attached. To resolve that omit the -device
option leaving only the
-drive
and after boot hot plug the drive from QEMU monitor with
device_add usb-storage,drive=ufat
command. Also when using PCI pass
through (e.g. passing through a graphics card) having such USB drive attached may cause
slow down for some reason. Because of that and for larger files you may want to use a
network share instead.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 which Amiga like OSes
don't support. On PPC besides 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 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 for sam460ex
may need some Linux fixes. The pegasos2
is more likely to work
on a G4 host or maybe on G5 but running a 32 bit Linux distribution. Running
G4 code on G5 with 64 bit kernel did not seem to work but even with 32 bit
kernel some instructions may behave differently which might need some
support from the guest kernel. See
this article for more details.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 which
works with all Amiga-like OSes as the default graphics hardware of
sam460ex
but it has some limirations so I've started implementing
ATI VGA emulation.
which is far from finished (it is a big project I'm not expecting to be able to
finish any time soon without help) but can now partially emulate an ATI Rage 128 Pro
since QEMU v4.1.0 which can be used with MorphOS and get picture with some 2D acceleration
(video overlay is known to be missing so video playback will fail and there could be
problems on ARM CPUs due to missing support in pixman library). There are several
other possible options to improve graphics emulation, these are discussed
on this page.