XEMU on macOS

Time for another tutorial / how-to on emulating stuff on the Mac. Getting XEMU on macOS running can be kinda of a pain, and it requires a few things:

First, you need to download XEMU. It's updated frequently. Grab it from the official website here. It's a universal binary, so it runs natively on both Apple Silicon and Intel Macs.

After you need a few files, these are legally speaking are the parts of the emulator that are copyrighted. I happened to stumble across them on Reddit. I own an Xbox, so I'll just say I extracted them myself. Please do not ask me about where to get these files or games.. I'll ignore your request.

The files are:

  • Flash (Bios) - Complex_4627v1.03.bin
  • MCPX Boot Rom File - mcpx_1.0.bin
  • Hard disk Image File - xbox_hdd.qcow2

And the EEPROM, which will be created automatically. Leave the RAM at 64 MB.

You'll have to go settings and manually assign each of these files, I found for whatever reason, placing them in the same directory as the emulator is recommended, it seemed to get confused when I didn't. Also, be sure to quit as you'll need to reboot the emulator for the changes to take

Next, it's running games. Games are generally in the ISO format. It's up to you to determine how your ethics work on this and please do not ask me for ISOs. There are places where people back up the games they own, like Archive.org.

This is Xbox emulation that gets tricky. You cannot just play ISOs. You need to format them properly.

For that, we have extract-iso, a command-line utility that is used to convert ISOs into playable ISOs.

First, we need to build the emulator. You'll need Xcode and the command line utilities installed. These are mostly the same instructions.

Open up a terminal window and do the following:

Step 1: Dependencies

Run the following, first update brew and then install cmake, a utility to create the necessary files to build/compile the application.

brew update
brew install cmake

Step 2: Clone Repo

We'll clone our repository. You may want to navigate in your terminal into another directory as this will install into your user directory by default.

git clone https://github.com/XboxDev/extract-xiso.git

Step 3: Go into the directory

Now we enter the directory where extract-xiso was cloned to.

cd extract-xiso

Step 4: Create a build directory

Next we are creating a build folder, and jumping into that.

mkdir build
cd build

Step 5 Building the app

Next, we're going to run cmake and after it completes and creates the makefiles, run make.

cmake ..
make

Now we're ready to prep Xbox ISOs

Using extract-xiso

From the build folder, we can run the CLI utility.

The utility has the ability to unpack Xbox ISOs and repack them into usable ISOs for XEMU.

There are two ways to about converting the ISOs. The easier method, which I had mixed success with, is to use:

./extract-xiso -r path/to/.iso

This will convert the ISO into the correct format. It'll rename the original iso to .iso.old and place in the build folder the converted ISO.

The other is a two-step process.

Step 1: extract the game contents

./extract-xiso -x /path/to/iso

Step 2: repack the game contents

./extract-xiso -c /path/to/extracted-files

A few tips:

XEMU is a fickle beast, it's best to quit it and reopen it after changing settings. If you try an ISO that does not work, you'll need to quit and reopen the app with a working ISO. Don't expect perfect emulation as Xemu is still actively being developed. I found NBA Street Vol 2 playable but annoying crackles in the audio.

XEMU running NBA Street Vol 2

Other Emulation Articles I've written