Advanced Mac Substitute
(v68k.org)- 1980年代の Mac OSをAPIレベルで再実装し、AppleのROMやシステムソフトウェアなしで 68K Macアプリケーションを直接実行できる
- ハードウェア全体をエミュレーションせず OS自体を置き換える構造で、起動プロセスなしに 即座にアプリを実行できる
- バックエンド68Kエミュレーター と SDL2ベースのフロントエンド で構成され、macOS、X11、Linux framebuffer など さまざまなプラットフォームで同一環境を提供する
- MacPaint、Lode Runner、The 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年に発売された Amazing、Solitaire、Missile、IAGO などのゲームが含まれる
- また MacPaint、System’s Twilight、Lode Runner、The Fool’s Errand などのプログラムも実行可能
- 各アプリケーションはAMS内で 1ビットグラフィック環境 として動作し、実際の動作映像も提供されている
対応機能
- AMSは次のような Mac OSのグラフィックおよびUI要素 に対応している
- 1ビット深度グラフィック、リージョン(regions)、円および角丸四角形、線(line)、カーソル、GrafPorts、テキスト、ウィンドウ、コントロール、メニュー、ダイアログ など
- これにより、1980年代のMacintoshソフトウェアの視覚的・機能的特性を忠実に再現する
ソースコードと実行環境
- AMSの ソースコードはGitHub の metamage_1 リポジトリ で公開されている
- macOS / OS X、X Window System、Linux framebufferコンソール、または VNCクライアント で直接実行可能
- プロジェクトの 旧ドキュメント(legacy documentation) は別ページへ移動しており、現在改訂作業が進行中である
デモ例
- 公式サイトには複数のデモ動画が含まれており、MacPaint、Amazing、Nyanochrome Cat などの実行場面を確認できる
- “Welcome to Advanced Mac Substitute” 画面は実際の起動画面ではなく、アプリケーション形式のインターフェース である
その他の情報
- プロジェクトは v68k.org で管理されており、最新の更新は 2025年11月29日 に行われている
- 開発者はGitHubとTwitterアカウントを通じて活動している
1件のコメント
Hacker Newsのコメント
本当に素晴らしいプロジェクトだ。モノクロのクラシック MacOSが醸し出す「もう一つの時間軸」のような美学が、信頼感と安定感を与えてくれる気がする
小学校のコンピュータ室にずらりと並んでいた Macintosh SE や Plus の記憶がよみがえる
自分が作った MacOS System 7 WebデスクトップUIを紹介したい。実際に Web ブラウジングができる再解釈版だ
スクリーンセーバーを見て大笑いした。見慣れているのにどこか異質で、まるで並行宇宙を見ているような感覚だった
自分も以前 WebベースのMacシミュレータを作ったことがある。CSS と JS を学ぶのが目的だったが、Web は複雑な構造を積み上げるのには向いていないと気づき、その経験が Advanced Mac Substitute を作るきっかけになった
ここ数か月、Basilisk II に ARM64 JIT を追加していた
今は Quadra ROM にパッチを当てて NuBus ハードウェア検出を回避しているところだ
このプロジェクトはぜひ使ってみたい。クラシック Mac 環境にファイル共有のような現代的機能が入るなら、小型デバイスでも完璧だと思う
1980年代のソフトウェアがAPI互換性だけで動くのは驚きだ
タイミングやメモリアラインメントのような実装の細部に依存していないというのはすごいことだ
たった一つの実装詳細に依存するだけでも、別の OS では動かなくなりうる
1ビットのフレームバッファと CPU だけで、機能の大半を実現していた
8ビットマシンでのハックの多くは、限られた機能を迂回するためのものだった
Apple が将来世代を見据えてこうした判断をしたのかは分からないが、単純な構造のおかげで後の世代への拡張は容易だったはずだ
本当に素晴らしいプロジェクトだ。1990年に発売された商用ソフトウェア ARDI Executor を思い出す
当時の PC ハードウェア上で API レベルの再実装によって驚くべき速度を出していた
子どものころ Windows PC で Mac ゲームを動かしながら、「こんなことができるのか」と感心した記憶がある
Executor のWikipediaと GitHubコードも参考になる
ARDI のエンジニアは 1996年のドキュメンタリー Triumph of the Nerds にも少し登場していた
当時はエミュレーション性能が重要だったが、今ではハードウェアが速くなり、大きな問題ではない
今重要なのは移植性と保守性、そして CPU 専用設計のプログラムを現代環境向けにパッチすることだ
元の Mac 512k ハードウェアと比べてどれほど速いのか想像もつかない
フロッピー1枚でシステムを動かしていた時代、ディスクを何度も入れ替えていた機械的な体験を思い出す
「遅く動かす」機能があって、フロッピーの読み書き音まで再現されたら本当に面白そうだ
Executor と比べてどうなのか気になる
古いアプリが現代的なウィンドウフレーム内で動き、ファイル保存もできるCarbon のような互換レイヤーがあればいいのにと思う
たとえば MacPaint デモで Hello 文書をダブルクリックすると、macOS Finder で MacPaint.app として開かれる
MACE より先に完成したのか、それとも目標が違うのか気になる
「Dark Castle」は動くのだろうか? あのゲームには本当に多くの時間を注ぎ込んだ
そして このコミット を見ると、実際に動作するようだ
本当に見事な成果だ。制作過程、動機、かかった時間などが気になる
友人も以前、Toolbox を C ライブラリとして書き直して Mac アプリを PC に移植したことがあった
QuickDraw、Event Manager、Memory Manager など、ほぼすべてを新たに実装していた。OpenLook UI を使っていたので、完全に違う印象だった