1 ポイント 投稿者 GN⁺ 17 일 전 | 1件のコメント | WhatsAppで共有
  • 1980年代の Mac OSをAPIレベルで再実装し、AppleのROMやシステムソフトウェアなしで 68K Macアプリケーションを直接実行できる
  • ハードウェア全体をエミュレーションせず OS自体を置き換える構造で、起動プロセスなしに 即座にアプリを実行できる
  • バックエンド68KエミュレーターSDL2ベースのフロントエンド で構成され、macOS、X11、Linux framebuffer など さまざまなプラットフォームで同一環境を提供する
  • MacPaintLode RunnerThe Fool’s Errand などのクラシックMacintoshソフトウェアを 1ビットグラフィック環境 で実行できる
  • GitHub公開ソース として配布され、POSIX系システムやVNCクライアント でも実行可能な オープン再実装プロジェクト である

Advanced Mac Substitute 概要

  • Advanced Mac Substitute(AMS) は、1980年代の Mac OSをAPIレベルで再実装したプロジェクト で、AppleのROMやシステムソフトウェアなしに 68K Macアプリケーションを実行できる
  • 従来のエミュレーターと異なり、ハードウェア全体をエミュレーションせず、680x0プロセッサのみを模倣して OS自体を置き換える
  • この構造により、起動プロセスなしで すぐにアプリケーションを実行できる

構造と構成要素

  • AMSは ファクタード(factored)アプリケーション の形で構成される
    • バックエンド(backend) は68Kエミュレーターで、POSIX系システム であればどこでもビルドおよび実行が可能
    • フロントエンド(frontend)ビットマップ端末抽象化レイヤー で、SDL2 をベースとし、macOS、X11、Linux framebuffer(fbdev)向けの実装を含む
  • この構造により、さまざまなプラットフォームで同一の68K Macアプリケーション実行環境を提供する

実行可能なアプリケーションとデモ

  • AMSでは オリジナルMacintosh向けアプリケーション を複数実行できる
    • 例として、1984年に発売された AmazingSolitaireMissileIAGO などのゲームが含まれる
    • また MacPaintSystem’s TwilightLode RunnerThe Fool’s Errand などのプログラムも実行可能
  • 各アプリケーションはAMS内で 1ビットグラフィック環境 として動作し、実際の動作映像も提供されている

対応機能

  • AMSは次のような Mac OSのグラフィックおよびUI要素 に対応している
    • 1ビット深度グラフィックリージョン(regions)円および角丸四角形線(line)カーソルGrafPortsテキストウィンドウコントロールメニューダイアログ など
  • これにより、1980年代のMacintoshソフトウェアの視覚的・機能的特性を忠実に再現する

ソースコードと実行環境

  • AMSの ソースコードはGitHubmetamage_1 リポジトリ で公開されている
  • macOS / OS X、X Window System、Linux framebufferコンソール、または VNCクライアント で直接実行可能
  • プロジェクトの 旧ドキュメント(legacy documentation) は別ページへ移動しており、現在改訂作業が進行中である

デモ例

  • 公式サイトには複数のデモ動画が含まれており、MacPaintAmazingNyanochrome Cat などの実行場面を確認できる
  • “Welcome to Advanced Mac Substitute” 画面は実際の起動画面ではなく、アプリケーション形式のインターフェース である

その他の情報

  • プロジェクトは v68k.org で管理されており、最新の更新は 2025年11月29日 に行われている
  • 開発者はGitHubとTwitterアカウントを通じて活動している

1件のコメント

 
GN⁺ 17 일 전
Hacker Newsのコメント
  • 本当に素晴らしいプロジェクトだ。モノクロのクラシック MacOSが醸し出す「もう一つの時間軸」のような美学が、信頼感と安定感を与えてくれる気がする
    小学校のコンピュータ室にずらりと並んでいた Macintosh SE や Plus の記憶がよみがえる
    自分が作った MacOS System 7 WebデスクトップUIを紹介したい。実際に Web ブラウジングができる再解釈版

    • 笑顔の Mac アイコンと空の進捗バーを見た瞬間、すぐに NoScript でそのドメインを許可した。本当に魅力的だった
      スクリーンセーバーを見て大笑いした。見慣れているのにどこか異質で、まるで並行宇宙を見ているような感覚だった
      自分も以前 WebベースのMacシミュレータを作ったことがある。CSS と JS を学ぶのが目的だったが、Web は複雑な構造を積み上げるのには向いていないと気づき、その経験が Advanced Mac Substitute を作るきっかけになった
  • ここ数か月、Basilisk II に ARM64 JIT を追加していた
    今は Quadra ROM にパッチを当てて NuBus ハードウェア検出を回避しているところだ
    このプロジェクトはぜひ使ってみたい。クラシック Mac 環境にファイル共有のような現代的機能が入るなら、小型デバイスでも完璧だと思う

  • 1980年代のソフトウェアがAPI互換性だけで動くのは驚きだ
    タイミングやメモリアラインメントのような実装の細部に依存していないというのはすごいことだ
    たった一つの実装詳細に依存するだけでも、別の OS では動かなくなりうる

    • Mac Classic は構造的にほぼ完璧な純粋さを備えたシステムだった
      1ビットのフレームバッファと CPU だけで、機能の大半を実現していた
      8ビットマシンでのハックの多くは、限られた機能を迂回するためのものだった
      Apple が将来世代を見据えてこうした判断をしたのかは分からないが、単純な構造のおかげで後の世代への拡張は容易だったはずだ
    • もちろん実装上のquirkに依存したアプリも多かった
  • 本当に素晴らしいプロジェクトだ。1990年に発売された商用ソフトウェア ARDI Executor を思い出す
    当時の PC ハードウェア上で API レベルの再実装によって驚くべき速度を出していた
    子どものころ Windows PC で Mac ゲームを動かしながら、「こんなことができるのか」と感心した記憶がある
    Executor のWikipediaGitHubコードも参考になる
    ARDI のエンジニアは 1996年のドキュメンタリー Triumph of the Nerds にも少し登場していた

    • Executor のことは知っていたが、実物を見たことはなかった
      当時はエミュレーション性能が重要だったが、今ではハードウェアが速くなり、大きな問題ではない
      今重要なのは移植性と保守性、そして CPU 専用設計のプログラムを現代環境向けにパッチすることだ
  • 元の Mac 512k ハードウェアと比べてどれほど速いのか想像もつかない
    フロッピー1枚でシステムを動かしていた時代、ディスクを何度も入れ替えていた機械的な体験を思い出す
    「遅く動かす」機能があって、フロッピーの読み書き音まで再現されたら本当に面白そうだ

    • 最近 HN に上がっていたレトロハードウェアのプロジェクトで、サウンドエミュレーションが含まれていたものがあった。その音がいちばん印象的だった
    • Virtual II という Apple II エミュレータを使ったことがあるが、フロッピー音と速度調整機能があり、似たような感覚だった
    • 子どものころ Apple IIe で King’s Quest IV を遊んだ記憶がある。画面を一つ移動するたびにフロッピーを交換しなければならなかった。本当にディスク交換の苦痛だった
  • Executor と比べてどうなのか気になる

  • 古いアプリが現代的なウィンドウフレーム内で動き、ファイル保存もできるCarbon のような互換レイヤーがあればいいのにと思う

    • Advanced Mac Substitute は文書と設定ファイルをサンドボックス化されたホストディレクトリに保存する
      たとえば MacPaint デモで Hello 文書をダブルクリックすると、macOS Finder で MacPaint.app として開かれる
    • こういうプロジェクトこそ、そうしたシステムの基盤になりうると思う
  • MACE より先に完成したのか、それとも目標が違うのか気になる

  • 「Dark Castle」は動くのだろうか? あのゲームには本当に多くの時間を注ぎ込んだ

    • 主人公がなぜScooby Doo の Shaggyみたいな見た目なのか、いまだに気になる
      そして このコミット を見ると、実際に動作するようだ
    • 自分なら Beyond Dark Castle から始めると思う。シリーズとしての完成度が明らかに違っていた
  • 本当に見事な成果だ。制作過程、動機、かかった時間などが気になる

    • おそらく当時の MacOS 呼び出しの大半は 68K のTRAP命令経由でアクセスされていたので、ハードウェアエミュレーションの代わりに ROM を直接再実装したのだと思う
      友人も以前、Toolbox を C ライブラリとして書き直して Mac アプリを PC に移植したことがあった
      QuickDraw、Event Manager、Memory Manager など、ほぼすべてを新たに実装していた。OpenLook UI を使っていたので、完全に違う印象だった
    • 自分がこのプロジェクトを始めた最初期の動機は、The Fool’s Errand をもう一度生かしたいという強い思いだった。皮肉なことに、それが出発点だった