Xqemu Emulator Mac

(Updated Dec 11, 2018)

I recently got an urge to revisit old computer media from the late 90s and early 2000s. Growing up around that time, I remember reading a lot of MacAddict and MacWorld to learn what I could do with a Mac. Building websites, graphic design, hacking the appearance of the UI, all these were explained in the pages of magazines.

These magazines are freely available on the Internet Archive, including their cover discs. I was curious to see what applications were around back then — what about emulating Classic Mac OS to see?

Creative variations in UI design

My first instinct was to reach for VirtualBox, but that is a no go as I need to emulate a Motorola 68K or IBM PowerPC architecture. I recalled that QEMU could emulate other architectures, surely someone has already tried to emulate Mac OS 9.

Yes, many people have already written about emulating Mac OS 9, but only recently (2018) did experimental audio support come out for QEMU. Here is a short guide on how I got it running with MacOS High Sierra as the Host OS.

Lately, I haven't been doing much emulation wise. Well, to be frank, I haven't done any serious emulation work in a long time (and just incase you're reading this JayFox, I'm not talking about xqemu, nor have I ever said I was doing any real work on it aside from a few work arounds here and there; hell I've even stated that I'm not an xqemu dev multiple times, so pleeeeeeeeeease spare me of. Make new xbox emulators with it or other things thats the beauty of open source development. But i wanted to make it official., so everyone knows that Shadowtj also is stopping to work on the Dxbx project. Things has been changed personally. So its time to set a point to the project.

Note that while QEMU is available in Homebrew, it does not have the experimental audio support (yet).

Internet Archive

Magazines can be browsed right on the archive site, or downloaded as archives or PDFs (or a torrent containing all formats). Cover discs can be downloaded directly as ISO files or a torrent for the ISO. Don’t worry about seedless torrents; these ones are backed with web seeding.

Requirements

DevTools: I already have homebrew and XCode installed; because of this I was not prompted for missing command line tools. If you don’t have them, you might be prompted (by MacOS) to install them.

Hardware: I am not sure about hardware requirements, as most modern Macs will probably eclipse the power needed to run the guest OS. However if you have a low-power CPU (e.g. MacBook) then there may be some struggling.

Windows/Linux: These instructions should probably work there too, although you will probably have to substitute something else for coreaudio in the configuration step.

Get QEMU “Screamer” Fork

These instructions are adapted from Cat_7 from the Emaculation forums

I started by creating a directory for all this emulation stuff.

Next clone the fork of QEMU with experimental audio support:

Then configure the source to use MacOS CoreAudio. I have also enabled LibUSB, KVM, HyperVirtualization Framework, and the Cocoa UI. In this case I am only compiling the emulator for PPC (32-bit).

Next use make to compile QEMU. (If you have more processor cores, use make -j 4 or however many cores to speed up the process.)

This will create a binary in qemu-screamer/ppc-softmmu/qemu-system-ppc that we can use.

Optionally you can install these binaries to /usr/local/bin or wherever. I kept them in the ~/emulation directory to separate them from the Homebrew QEMU binaries.

Create HD for Mac OS 9

We will need to have a hard drive image for our guest OS. I made mine 5 GB in size, which would be typical at the time for Mac OS 9.

In our qemu-screamer directory, we will use qemu-img to create the disk image.

Get a Mac OS 9 Installer

Emulator

If you have an ISO of a Mac OS 9 install disc (a Mac OS X classic install disc will not work — it must be bootable), then you can use that in the next step. If you don’t have one, you can download one from Mac OS 9 Lives: Mac OS 9.2.2 Universal Install.

Install Mac OS 9

The Mac OS 9 Lives method won’t install quite like an original Mac OS 9 installer would, but instead will use Apple System Restore to restore an image onto the hard drive.

Start up QEMU with the following options:

Salt and sanctuary 1.0.0.7 for macos. A breakdown of that command:

  • -L qemu-screamer/pc-bios sets the BIOS
  • -cpu 'g4' emulate a G4 CPU
  • -M mac99,via=pmu will define the Mac model and enable USB support
  • -m 512 use 512 MB of RAM, could go lower probably
  • -hda macos92.img use our generated disk image for the hard drive
  • -cdrom '~/Downloads/Mac OS 9.2.2 Universal Install.iso' use the ISO for the cdrom
  • -boot d boot from the disk drive
  • -g 1024x768x32 default to 1024x768 resolution and 32 bit colour
  • -device usb-kbd enable USB keyboard emulation/support
  • -device usb-mouse enable USB mouse input, will improve cursor tracking somewhat

Once it starts up, you will be able to run Disk Initializer to format your hard drive image. Go ahead and do that, using Mac OS HFS Extended as the file system. One partition is good.

After initializing the disk, run Apple System Restore with the Mac OS 9 Lives disk image as the source and your disk as the destination. This will take a minute to restore. Once done, shut down the emulated system (Special Menu -> Shut Down).

Boot Mac OS 9

Similar to the last command, except we start up from the disk we created.

It should boot up and you will have a running Mac OS 9 with audio! I recommend saving this command as a shell script in your ~/emulation directory.

Xqemu Setup

Boots much faster than it did in 2001

Tips

Backups: When the emulator is shut down, just make a copy of the hard disk image to create a backup. If something breaks your Mac OS 9 installation then you can restore the file.

Discs: You can dynamically attach CDs/DVDs to the emulated system by going to the menu bar on your host system for the QEMU application and selecting the option to attach to the CD IDE drive. It will open a dialog letting you select your ISO.

Compatibility: This is emulating Mac OS 9.2.2, released in late 2001. The emulated hardware is more or less of the same vintage, meaning software from the mid-to-late 90s will have some trouble running (as I found). The most common problem is not being able to drop down to 256 colours, although I later found a solution (link below). I have not tried emulating Mac OS 8/8.5; a cursory reading of forums has mentioned that doesn’t work yet.

Easter Egg in Finder

256 Colours

To support 256 colours you will need to add a bios driver. See the EMaculation forums for instructions; it involves replacing a file in the pc-bios directory with an older version that still supports 256 colours.

2018-12-11 Updates

I removed the extra arguments from configure as by default it will enable everything it can. make should use -j instead of -J. Using USB devices for mouse/keyboard improves mouse performance, but it still is a bit sluggish compared to the host machine. I found a way to get 256 colours working; see that section for a guide.

As virtualization software, QEMU is certainly a contender for one of the fastest.

Disk

The application can emulate operating systems under Windows such as Linux, FreeBSD, Mac OS X and others while not bogging down the system in many cases.

QEMU enables cross-compilation and debugging on foreign operating systems right from the Windows desktop without the need of special software.

QEMU supports the emulation of different processors and emulations and performs well with both 32-bit and 64-bit systems including older and outdated processors like the IBM PowerPC that Apple used to deploy extensively. It also supports ARM processors that are common in some brands of mobile devices.

Usage of QEMU and success among different hardware setups varies but emulation of most optical drives is support as are USB devices.

Features and highlights


  • Full system emulation: In this mode, QEMU emulates a full system (for example a PC), including one or several processors and various peripherals. It can be used to launch different Operating Systems without rebooting the PC or to debug system code
  • User mode emulation: In this mode, QEMU can launch processes compiled for one CPU on another CPU. It can be used to launch the Wine Windows API emulator or to ease cross-compilation and cross-debugging

QEMU for Windows on 32-bit and 64-bit PCs

This download is licensed as freeware for the Windows (32-bit and 64-bit) operating system on a laptop or desktop PC from computer utilities without restrictions. QEMU 5.2.0 is available to all software users as a free download for Windows 10 PCs but also without a hitch on Windows 7 and Windows 8.

Compatibility with this processor emulator software may vary, but will generally run fine under Microsoft Windows 10, Windows 8, Windows 8.1, Windows 7, Windows Vista and Windows XP on either a 32-bit or 64-bit setup. A separate x64 version of QEMU for Windows may be available from Fabrice Bellard.

Filed under:

Xqemu Compatibility List

  1. QEMU for Windows Download
  2. Freeware Computer Utilities
  3. Open source and GPL software
  4. Major release: QEMU for Windows 5.2
  5. Processor Emulation Software