A native macOS port of the Xbox 360 version of Peggle 2, for Apple silicon Macs.
Beta. It plays start to finish, but it needs testing on more Macs. If something goes wrong, open an
issue with your Mac model, macOS version and the log from ~/Library/Logs/Peggle 2.
The game's PowerPC code is statically recompiled to C++ with XenonRecomp and compiled for ARM64. A runtime replaces the rest of the console: the kernel and system calls the game makes, the GPU (drawn with Metal, its shaders translated to Metal Shading Language), XMA audio (decoded with FFmpeg) and input.
It runs at 60 fps and can render at up to 4K. The original 30 fps is a setting.
No game files are included. You need Peggle 2 (Xbox Live Arcade) from your own Xbox 360: the file in
Content/0000000000000000/58411436/000D0000/. Copy it off with a console-formatted USB drive and a tool
like Horizon or Velocity, or over FTP from a modded console.
Requires an Apple silicon Mac with macOS 13 or later.
- Download Peggle 2 Installer from Releases and unzip it.
- Open it. The first time, macOS may say it can't verify the app: go to System Settings > Privacy & Security and click Open Anyway.
- If asked, install Apple's Command Line Tools, then open the installer again.
- Drop your game file into the window.
The installer builds Peggle 2 from your copy (a few minutes, once), puts it in Applications and opens it.
Open the latest installer from Releases. It updates Peggle 2 in place, without needing the game file again. Saves, progress and settings are kept.
| Mouse | Keyboard | Controller | |
|---|---|---|---|
| Aim | point | arrow keys | left stick |
| Shoot / select | left click | Space (Return in menus) | A |
| Back | right click (in menus) | Esc (in menus) | B |
| Pause | Esc (in a level) | Start | |
| Speed up | hold right click (in a level) | hold X | hold X |
| Fine aim | scroll wheel | Q, E | LB, RB |
Frame rate, resolution, mouse aiming and skipping the intro videos are in Peggle 2 > Settings.
Requires the Xcode Command Line Tools, CMake, Ninja and Python 3.
./setup.sh
build/install_game /path/to/your/game/file game
tools/regen.sh
cmake --build build --target Peggle2Installer
This builds build/Peggle2.app and build/Peggle 2 Installer.app. The tools and diagnostics are
described in tools/README.md.
Built on XenonRecomp, Xenia (GPU code) and FFmpeg. The port's
code is MIT licensed; third-party licenses are in THIRD_PARTY_NOTICES.md.