世界を動かす技術を、日本語で。

インフィニット Mac OS X

概要

  • Infinite Mac が初期の Mac OS X (10.1と10.3)に対応
  • PearPC のWebAssembly移植と DingusPPC の最適化に成功
  • Infinite HD を再構築し、当時のインディーソフトも収録
  • Aquaモード や複数ディスクイメージのマウントにも対応
  • 今後はさらにレトロなOSやQEMU移植も視野

Infinite Macで初期Mac OS Xを動作

  • Infinite MacMac OS X 10.110.3 をウェブブラウザ上で動作可能
  • 実機同様、動作速度は速くないが、当時の体験を忠実に再現
  • Infinite HD も再構築し、当時のインディーソフトウェアを多く収録

PearPC移植とDingusPPCの最適化

  • DingusPPC の進化を追いながら、独自に移植や改良を実施
  • PearPC のコードベースをWebAssembly/Emscriptenへ移植
    • レガシーC++コードや独自クラスにも対応
    • kanjitalk755 の実験的ブランチを参考に作業
  • PearPC はマルチプラットフォーム設計で移植が容易
  • DingusPPC と比較し、安定性は高いがパフォーマンスはやや低下
  • MMUキャッシュ未実装による速度低下、DingusPPCは成熟したキャッシュ機構を搭載
  • DingusPPC の安定性向上により、10.1も安定動作

パフォーマンスと互換性

  • PearPC で10.2の起動時間を約15秒短縮
  • それでもフル起動まで約2分かかるため、UIで注意喚起を実装
  • DingusPPC のベンチマークハーネスをPearPCにも移植し、最適化を適用
  • 浮動小数点命令 のFPビットチェック実装で描画バグを解消
  • 両エミュレータを併用することで広範なMac OS Xバージョンに対応

Infinite HDの再構築

  • Infinite HD に2000年代初期のソフトウェアやDeveloper CDを収録
  • ディスクイメージのバリエーション対応で dmg2img などを活用
  • HFS+固有の機能には一部制約があるが、多くのソフトは問題なく動作
  • 複数ドライブのマウントは、DingusPPCフォークのアイデアを応用

AquaモードとUI資産

  • サイトのコントロールに Aquaモード を追加
  • 10.0/10.1時代のオリジナル画像アセットを抽出・再現
  • UIリニューアルの際の比較資料としても活用可能

その他の進化と小ネタ

  • 複数イメージのマウントで Mac OS 9 パーティションも利用可能(10.1のみ対応)
  • Classic環境 の再現や、バージョンごとの挙動検証も可能
  • 起動進捗の可視化や Open Firmware変数 指定によるデバッグモード搭載
  • ドメイン名取得の小話や、今後のレトロOS対応への意欲

さらなる展望

  • A/UXNeXTStepLisaPippinNewton など更なるレトロ環境への対応検討
  • QEMU のWebAssembly移植(qemu-wasm)にも注目し、今後の可能性を模索

この進化により、 Infinite Mac は初期 Mac OS X 体験を現代のブラウザで再現しつつ、今後もよりディープなレトロ体験の拡張を目指している。

Hackerたちの意見

インフィニットマックは、クラシックなマッキントッシュとNeXTのシステムリリースやソフトウェアを集めたもので、ウェブブラウザから簡単にアクセスできるよ。 https://infinitemac.org/

ありがとう!ブログ記事には「Infinite Mac」をハイパーリンクでつなぐか、定義を入れてほしいな。そうすれば、もっと分かりやすくなると思う。

こういうの大好き!アクアは当時、本当に衝撃的だったよね。

アクアは当時、本当に衝撃的だった。リキッドグラスはその時代を思い出させるね…

どのLinuxのウィンドウマネージャーもアクアテーマがあったよね。Appleは「Linuxデスクトップの年」を夢見てた人たちが、何年もかけて実現しようとしていたOSを提供したんだ。おばあちゃんでも使えるようなメインストリームのUnixで、主要なサードパーティアプリもサポートされてる。まさにホームランだね。

これがアーキテクチャなんだけど、もう一つ大事なことがあるんだ。実は、私たちは過去18ヶ月間、全く新しいユーザーインターフェースを秘密裏に設計してきたんだ。その新しいユーザーインターフェースは、Appleの遺産を基にしていて、次の世紀に持ち込むものなんだ。これをアクアと呼ぶんだ。なぜなら、それは液体のようだから。デザインの目標の一つは、見た瞬間に舐めたくなるようなものだったんだ。スティーブ・ジョブズ

Aquaは今でも衝撃的だね。ウィンドウのコントロールを見分けるのが難しくなった気がする。Liquid Glassで少しは戻ってくるといいな。でも正直、Aquaはまだまだ見た目がいいよね。コピーキャットたち(Windows VistaやLinuxテーマ)が見落としたのは、全体の一貫性と使いやすさだと思う。見た目が良いだけじゃなくて、実際に使ってみても素晴らしかった。

彼が10年以上前に最後のコミットをしたプロジェクト(pearpc)で成功したのは驚きだね。 https://github.com/sebastianbiallas/pearpc 彼のフォークはここにあるよ: https://github.com/mihaip/pearpc ウェブアセンブリターゲットを追加しても、x86-64サポートは残ってるみたい。追記: 彼はInfinite MacにNextStepを追加したことについてもブログを書いてるよ: https://blog.persistent.info/2024/03/infinite-mac-nextstep.h...

[PearPC]は数年間成功してたけど、Intelへの移行後に興味が薄れていったんだ。まあ、元のメンテナーが電車にひかれて亡くなったからなんだけど。それ以降、ほとんど勢いを失ったよ。あの頃、私は熱心なユーザーでコミュニティの一員だったから、思い出すと今でも涙が出そうになる。 https://www.wired.com/2004/07/pearpc-coauthor/

この記事は有料の壁の向こうにあるね。

お悔やみ申し上げます。

誰かが彼の作品をパクって、cherryosって名前で売ったんだよね。

Hacker Newsで議論の続きを見る