scripts/make-app.sh assembles dist/EWM.app, a self-contained
double-clickable bundle:
- SDL3 is compiled from source and linked statically (a new sdl-static
cargo feature; dev/CI builds keep the Homebrew pkg-config path as the
default feature). Verified: otool -L shows only system frameworks.
- The icon is "][" rendered by the emulator's own Apple ][ character
generator (examples/icon.rs), green phosphor on a dark bezel, drawn at
integer scales per icon size and written as PNGs by a hand-rolled
~40-line PNG encoder (flate2 as a dev-dependency for the zlib stream);
iconutil turns the set into EWM.icns at bundle time, so no binary icon
is committed.
- Info.plist declares CFBundleDocumentTypes for .dsk/.do/.po/.nib/.woz
and .hdv at Alternate rank, ad-hoc codesign for local use (real
signing/notarization is Phase 2).
Opening a disk image from the Finder arrives as an SDL drop event, which
also buys drag-and-drop: the boo menu boots the ][+ with a dropped floppy
in drive 1 (or .hdv on slot 7), and dropping a floppy on a running
machine swaps drive 1. The new media module classifies images -- the one
subtlety is .po, which is a floppy at exactly 143,360 bytes and a ProDOS
hard-drive volume when larger.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>