Mac OS 9
Text

Mac OS 9

Choose Special → Mac OS 9 (also available among the built-in apps) to open an interactive Power Mac G4 running Mac OS 9.2.2. Its Monitors control panel offers only 640×480, 800×600, and 1024×768, with 800×600 as the default. The first launch shows each setup step: preparing QEMU, downloading the 497 MiB Universal installer, checking its checksum, creating a 2 GB persistent disk, and starting the Mac. Setup details opens these steps and live download progress in a compact in-app dialog over the Mac. Close it with OK or Escape; setup continues, and the guest display keeps its size and connection. Automatic emulator installation supports Ubuntu 24.04; other hosts need qemu-system-ppc and qemu-img installed first (on macOS, brew install qemu).

The app guides you through Drive Setup and Apple Software Restore inside the Mac. After Restore reports success, shut down the guest and click Installation finished — start my Mac. Subsequent launches use the saved installation. Setup can be paused and retried, and closing the window keeps both setup and a running Mac alive. An open window reconnects automatically after an exe restart or a temporary network interruption, returning to the same running Mac. A failed Start keeps its error visible so you can address the cause and retry. If exe restarts during a download, choose Continue setup once the connection returns. Use Resume installer if the Mac was shut down before Restore completed. Completed installer downloads are reused after checksum verification; partial downloads restart.

The pointer follows your browser cursor directly, including when you leave and re-enter the window. A bundled open-source USB tablet driver loads at boot; no guest installation is needed. Mouse-wheel scrolling is not supported by that driver; use the Mac’s scrollbar controls.

The Mac’s clock starts at this machine’s own local date and time, so a browser in the guest judges today’s certificates against today’s date and HTTPS works without a visit to Date & Time. Only the installation boot is pinned to 2003, where the Universal installer and the era’s software expect to be.

Click CD… in the toolbar to see the full mounted CD filename, mount an available disc image, or Eject it. The toolbar also shows the filename when space permits. Upload image… adds an ISO, CDR, IMG, or Toast raw disc image (up to 2 GiB) from your browser; select it and click Mount. Images stay on this node and existing files are kept when filenames match. Changes take effect without restarting the Mac. The displayed filename follows ejects inside Mac OS 9 too. If the Mac locks the disc, eject it in Finder first, or close programs using it before choosing Force eject. Force eject can leave the old volume visible in Finder; restart the Mac if that happens. After a Mac restart, mount the desired CD again. On a phone, tap the CD glyph to see its full filename and controls.

If this node has the optional Mac audio runtime installed, click Sound off to enable sound in your browser; the button changes to Sound on. Click it again to mute. Browser playback needs this first click. Sound stops when the window is closed or hidden, and an enabled session resumes after reconnecting. The button is disabled on nodes without audio support. On narrow screens it shows a speaker glyph. Sound travels through the existing authenticated display connection; it does not play through the server's speakers.

If the connected display turns black after being idle, choose Mac keys… → Wake display, or press Shift with the Mac focused. This wakes Energy Saver without typing or restarting the guest; mouse movement alone may not wake it. To keep the Mac awake, open Apple menu → Control Panels → Energy Saver inside the guest and set system sleep to Never. Under Show Details, also disable a separate display-sleep timer if one is enabled.

The app window fits the selected guest resolution automatically. Each guest pixel occupies a whole number of physical screen pixels (1×, 2×, 3×, and so on), including at Windows’ 125% or 150% display scaling. The largest crisp size that fits is used; this can be smaller than a fractionally enlarged display. There is no separate grow tile. If even 1× will not fit, the display shrinks proportionally to keep the whole Mac visible. Full screen uses the same scaling and adjusts when you move between monitors or change browser zoom.

Use Full screen for more room. When browser fullscreen is unavailable, including in iPad Home Screen apps, the Mac expands within exe; tap Exit full screen to return. Browser fullscreen also supports older iPad Safari; use the browser’s exit control or Escape to return. Use Mac keys… for common Command-key shortcuts. Shut down from Special → Shut Down inside the Mac to save its files cleanly. The installed guest has a sungem Ethernet adapter with outbound NAT and DHCP; networking is disabled while booting the installer. Classic HTTP browsers work; modern HTTPS compatibility depends on the guest browser. Audio is not configured.

The runtime, installer, setup progress and disk live in ~/.exe/mac-os9/ (or $EXE_HOME/mac-os9/), outside app-data sync. The display uses private local sockets and the same API token as exe. No public VNC port is opened. The API is GET /v1/macos9, POST /v1/macos9/start, /cancel, /finish, and the binary WebSocket at /v1/macos9/console.

Contents