Commit Graph
1 Commits
Author SHA1 Message Date
Stefan ArentzandClaude Fable 5 3bb74324c0 Package EWM as a native Mac application (MAC_APP.md Phase 1)
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>
2026-07-10 23:24:56 -04:00