Links| Forums| Comments| Report news
Chat| Polls| Newsticker| Archive

[Login] [Register] [Forgot your password?]

< Next messagePrior message >

QEMU: Excursion of Amiga operating systems on non-native hardware
What do you do if you want to test and use a new Amiga operating systems like AmigaOS 4 or MorphOS, but you don't want to or can't buy the necessary hardware like a Sam-Board, PowerBook or a Pegasos-II? For AmigaOS 4 there are various emulators like WinUAE or FS-UAE. But for MorphOS? QEMU could help.

QEMU, version 6.0 has just been released, is an open source computer emulator and virtualizer. This means you can functionally simulate computers or provide virtual systems that replicate the functionality of a real system. QEMU is able to emulate a complete computer in software without the need of hardware virtualization. QEMU is released under the GNU General Public License, version 2 (cf. corresponding explanations on the QEMU Gitlab page).

So it is possible to emulate Amiga operating systems like AROS, AmigaOS or MorphOS on QEMU. This support is provided by QEMU developer Zoltan Balaton, who gives lots of tips and info on a dedicated website. Since it is not a commercial project with a roadmap or the like, for which donations are neither expected nor solicited, the author asks for appropriate consideration that not everything is perfect and may never be. It is a pure hobby project.

For the use and installation of AmigaOS 4.1 FE only the emulation of a Sam460 was available until now. This still has some bugs and problems like an initial wrong graphics mode, random crashes of some programs or slow graphics operations. The advantage of emulating a Sam460EX is that both AmigaOS 4 and MorphOS support it. Likewise, the emulation of most of its components was already available in QEMU or relatively easy to implement.

The disadvantage of Sam460EX is that it is slow. However, emulation speed and speed of the emulated hardware are not related. The more complex the hardware, the slower its emulation because the additional complexity has to be processed. However, there could be speed advantages if a computer with a G4 CPU is emulated, because AltiVec instructions could be used as well. Therefore the Pegasos2 emulation was considered, which is especially interesting for AmigaOS 4, because MorphOS already runs over "mac99". A separate Pegasos2 subpage was created especially for this. As the author writes, always willingly and extensively answering our questions, the provision of the Pegasos2 emulation is planned for version 6.1. It should be noted, however, that "the emulation might be slightly better than that of the Sam460ex, but AmigaOS 4 does not provide a graphics driver for it, so that this OS cannot be booted so easily and thus (currently) is not intended for end users".

He continues, "First and foremost, more developers are needed to join the project and improve it, as I'm currently working on it alone and in my spare time, which is why it's progressing very slowly. I have created a project for it but so far the interest in it has been very low."

In the practical test, we now want to see whether MorphOS can be installed and whether it is usable. The target platform in this case is Windows 10 running on a somewhat outdated laptop.

For the installation there is no better illustrated and clearer guide than the one on Mambo's Amiga Blog, regardless of the fact that MorphOS 3.15 and QEMU 6.0 are now available. The latest versions can be used accordingly. I would refrain from installing the Chrysalis package for a new installation, because (for my purposes) a lot of unnecessary software and games will be installed. In addition, there are already new versions for a large number of programs.

The installation went without problems, but I didn't feel like switching to the Windows command prompt every time I started the program and copying the long startup command into it. My original idea to save and call this in a batch file was certainly not bad, but failed during execution. I got a very helpful tip from a programmer - thanks, Jörg! Create a shortcut of 'qemu-system-ppc.exe' in the program directory of 'QEMU' and drag it to the desktop. Then call the properties with the right mouse button and copy the start command into it:

"C:\Program Files\qemu\qemu-system-ppc.exe" -machine mac99,via=pmu -m 2048 -vga none -device sm501 -hda mos.img -prom-env "boot-device=hd:,\boot.img" -bios openbios-qemu.elf -serial stdio"

If you want to learn more about the options, you can read about them here. QEMU starts and you will get the following picture after about 15 to 20 seconds:

The current version of the browser Wayfarer can be installed and used without problems (without having performed deeper tests):

In my tests, it turned out that using the "sm501" device worked in the most reliable way. If I used "ati-vga" instead, "graphics losses" occurred permanently: Folders and windows were only partially displayed and were only fully visible when I hovered over them with the mouse. With both variants, I also had to deal with the problem that a window opening from an existing window/program always disappeared in the background:

Overall, I did not have any crashes during my tests. In this respect: For a first acquaintance with MorphOS a comparatively simple, inexpensive and above all space-saving possibility.

Update: (19:05, 03.05.21, dr)

The developer Zoltan Balaton has made some remarks regarding the sound support, which we like to pass on:

"Maybe it would worth mentioning that sound is not working yet for MorphOS because the sound part of neither the sm501 nor the pegasos2 are emulated yet. This is not too hard to do, would just take reading the chip docs and implement it in QEMU like done for similar devices that are already emulated (these are AC'97 compatible just with different register mappings) but I haven't had time for it. This may be a simple project for somebody who wants to help and learn about it and can already program in C and not frightened by a lot of code in QEMU but no need to understand all those, only the part about sound which is not that much.

Alternative would be to use some other sound device already emulated and AmigaOS4 does work somewhat with -device ES1370 but MorphOS has no driver for it. It may work with usb-audio but due to some problem with either USB or device emulation that does not seem to work either so best would be to emulate sm501 audio part or the via-audio on pegasos2. (I've briefly tested usb-audio on pegasos2 now which has different USB to see if it's a problem with USB or the audio device itself but on pegasos2 the USB prefs freezes while on mac99 it detects the device but cannot open it when trying to play sound. Maybe I should try with AROS on sam460ex that I can sources for so I could debug it but if eventually we can get via-audio then it's not that important.) Also when using ES1370 with AmigaOS I've found it has some dropouts which may be due to default sound parameters in QEMU is not optimal but I don't know how to tune them. If you want to find out, you can contact people who know about audio who can be found in Git history.

Of those who should know are Gerd Hoffman who is the maintainer of that part and Volker Rümelin who did the last cleanup to improve audio backends. The optimal parameters to use may depend on audio backend though (ALSA, pulseaudio or others)." (dr) (Translation: bb)

[News message: 02. May. 2021, 17:55] [Comments: 1 - 11. May. 2021, 06:45]
[Send via e-mail]  [Print version]  [ASCII version]
< Next messagePrior message >

Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2023 by - all rights reserved.