1 ポイント 投稿者 GN⁺ 2025-06-21 | 1件のコメント | WhatsAppで共有
  • Infinite Mac プラットフォームで、Mac OS X シリーズの初期バージョン(10.1、10.3)がウェブブラウザ上で実行可能になった
  • PowerPC エミュレータ PearPC を Emscripten/WebAssembly に移植し、互換性と安定性の向上を実現した
  • DingusPPC との比較を通じて性能や原因不明のバグを改善し、アルゴリズム面の最適化を進めた
  • Mac OS X 向けの Infinite HD ディスクイメージも新たに構築し、2000年代のさまざまなソフトウェアや開発ツールにアクセスできる
  • UI に Aqua スタイル を適用するなど、レトロな使用体験を強化しつつ、今後のさらなる発展も視野に入れている

要約

Infinite Mac プラットフォームで長年のレガシーシステムをオンラインで体験できるプロジェクト Infinite Mac が、Mac OS X 10.1 や 10.3 などの初期バージョンをサポートしたことで、現代のウェブブラウザ上で実行可能になった。この過程では、PearPC や DingusPPC などの PowerPC エミュレータを Emscripten/WebAssembly ベースへ移植し、性能改善と安定性確保のためにさまざまな取り組みが行われた。アルゴリズム最適化とバグ修正により、オリジナルのハードウェアと比べて解像度と信頼性を高め、当時のソフトウェアや開発ツールを収録した Infinite HD も再構成して実用性を強化している。さらに、サイト UI に Aqua テーマを適用して情緒的な体験を提供し、A/UX や Lisa のような、よりレトロな OS への対応拡張も今後検討している。本プロジェクトは、プログラムエミュレーション、オープンソースアーカイブの拡張、UI 復元など、複合的な目的を達成する技術的な試みを示している。

Mac OS X 対応の拡大

  • Infinite Mac で Mac OS X 10.1 や 10.3 などの 初期 OS X バージョン をウェブブラウザ上で実行できるように移植した
  • 実機での遅い性能もそのまま再現し、当時の NetNewsWire Lite や Terminal など代表的なアプリケーションの利用も体験できる
  • 最新のディスクイメージには 当時のインディーソフトウェア も一部含まれており、レトロソフトウェアを探しやすくなった

PearPC 移植の過程

  • 当初は DingusPPC エミュレータの移植と修正に注力していたが、カーネルパニック やグラフィックエラーの問題により PearPC へ方針転換した
  • PearPC は 2000年代初頭の x86 環境で Mac OS X を実行するために設計された マルチプラットフォームのコードベース で、追加作業なしでも WebAssembly 向けへの移植が比較的容易だった
  • 最近では Basilisk II、SheepShaver の主要メンテナが PearPC の実験ブランチを作成し、現代の macOS でもビルド可能になった
  • ソースは古く、レガシーな C++ ベースだが、独自 string class、sprintf、GIF デコーダなど独特な部分が存在する
  • マルチプラットフォーム構造、ほとんどスレッドを使わない設計、構造化された抽象化レイヤーのおかげで移植は迅速に進んだ

性能最適化と限界

  • PearPC での Mac OS X 10.2 の起動と実行の信頼性は高かったが、DingusPPC に比べて実行速度が遅い
  • MMU キャッシュ不在などによる性能低下が大きい
  • DingusPPC で適用したさまざまな アルゴリズムベースの最適化 を PearPC にも移植し、起動速度を一部短縮する効果を得た
  • PearPC は必要な PowerPC 命令のサブセットのみを実装し、カスタムファームウェアやドライバなど複数の「チート」を活用している
  • 依然として高速かつ安定した Mac OS X エミュレーションには、長期的には DingusPPC のほうが有望だと期待している

副次的な発見: FP 例外処理

  • PearPC 内のインタプリタで 統合デコード方式 を導入した際、浮動小数点演算でレンダリングエラーが発生した
  • Mac OS X カーネルが MSI レジスタの FP ビット状態に応じて例外処理を登録していたため、これをコードに実装するとレンダリング問題が解決した
  • DingusPPC でも同じ FP ビット欠落の問題によりテキストレンダリング異常が起きていたが、修正後に安定性が大きく向上した
  • その場しのぎのハンドリングから「正攻法」の実装へ進化し、最終的に 10.1 の実行信頼性も大幅に向上した
  • 2つのエミュレータを組み合わせ、さまざまな OS X バージョンの実行対応範囲を広げた

Infinite HD ディスクイメージの再構築

  • Mac OS X 時代に合った ディスクイメージ を新たに構築し、その時期のインディーソフトウェアや開発者ツールを多数収録した
  • 旧版の .dmg ファイルは最新の macOS でそのままマウントできないため、dmg2img などのツールを用いた変換と自動化パイプラインを構築した
  • HFS と HFS+ ファイルシステムの違いによる一部制約はあるが、大半のソフトウェアは正常に動作する
  • ライブラリサイトや Wayback Machine など多様なソースを通じて、2000年代初頭のソフトウェア実行環境を整えた
  • マルチパーティションイメージを動的生成する手法を導入し、起動ディスク、Infinite HD、保存用 Saved HD まで最大 3 つのボリュームをマウント可能にした

UI: Aqua スタイルの適用

  • Aqua テーマを Infinite Mac UI にも採用し、レトロな雰囲気 を最大化した
  • Mac OS X 10.0/10.1 スタイルの画像アセットを直接抽出し、半透明効果まで再現した
  • サイトの操作部のスタイルも OS ごとの外観(クラシック、Platinum、NeXT など)に合わせて自動適用される
  • 今後予告される Apple macOS の大規模 UI 変更に合わせ、過去の UI の「リファレンスポイント」としての役割も提供する

追加機能とマイルストーン

  • Mac OS 9 パーティションのマウントおよび Classic 環境の実行 機能を追加(10.1 のみ対応)
  • 昔の Calculator アプリにおける繰り返し演算動作など、OS 間の UX 差異も検証できる
  • PearPC に内蔵された ブートメッセージ(Verbose)モード を有効化し、DingusPPC では Open Firmware 変数を指定する方式を実装した
  • macosx.app ドメインによるブランディング拡大も試みているが、現在は他者が保有している

今後の拡張とまとめ

  • Mac OS X 対応の拡大により、Infinite Mac は現代の macOS との つながり を築いた
  • より深いレトロ体験のため、A/UX、Lisa、Pippin、Newton などへの移植可能性にも言及している
  • WebAssembly ベースの QEMU(wasm)にも実験的な関心を示し、性能テストでは前向きな兆候を確認した
  • Mac OS X のウェブベースエミュレーションは、体験、レガシーソフトウェア保存、開発実験など多様な IT・スタートアップのシナリオで価値を提供する

1件のコメント

 
GN⁺ 2025-06-21
Hacker Newsの反応
  • PearPCはIntel移行前の数年間、かなりうまく動いていたのを覚えているという声。しかし中核開発者が列車事故で亡くなったあと、プロジェクトの勢いの大半が失われてしまったのが残念だと述べ、当時熱心なユーザー兼コミュニティメンバーだった経験から、今でもそのことを思い出すたびに悲しくなると振り返っている。関連記事のリンク
    • 優れた開発者が突然亡くなった事例をいくつも思い出すという声。訃報もなく、事情を知っているのが開発者1人だけという状況だと、あまりに優秀すぎて宇宙人に地球から連れ去られたのではないかと想像してしまう気持ちになるという
    • 誰かがPearPC開発者の成果物を盗んで、cherryosという名前で販売していた事実を指摘
    • その記事を開こうとしたが、有料購読の壁があって残念だという反応
  • Infinite Macは、Webブラウザ上でクラシックなMacintoshやNeXTシステムのリリースとソフトウェアを手軽に使えるコレクションだという紹介。関連リンク infinitemac.org
    • ブログ記事の中で、Infinite Macが何なのかハイパーリンクするか定義してほしかったという意見
    • Infinite Macのページを知ることができてうれしい、ブログ筆者がそのサイトへのリンクを省いたのは大きなミスだと思う、このコメントがなければこの素晴らしいサイトを見つけられなかっただろうという感謝
  • 記事の中でも特に興味深かったのは、700行未満のソースコードで実装されたPPC CPUエミュレータだったという点。6502エミュレータで見るような簡潔さを、比較的新しいアーキテクチャで見たことに驚いたという声。関連コード TinyPPC.cpp
    • RISC構造なのでそれほど驚くことではないという意見。MIPSエミュレータも同程度の規模だという情報共有
  • もし今の20歳のテック好きがOS X 10.4(.5、.6を含む)に触れたら、どう感じるだろうと想像する声。暗黒時代に古典彫刻を見て「どうやって人類はこんな作品を作れたのだろう」と感じるような感覚だと述べ、好みは時代によって変わるので、今の世代はフォトリアリスティックなアイコンをむしろ野暮ったく感じるかもしれないとも考えている
    • 10.4の見た目と動作は、最新のmacOSと基本的にほとんど同じだという意見。インストール方式(dmgをドラッグ)、Finderのブックマーク、Dockの動作、Spotlightの導入まで、当時すでに実装されていたという情報で、Windows XPからWindows 11への変化幅に比べればMacの変化は大きくないという見方
    • 20歳のユーザーとして、子どものころに10.5や10.6を少し使った記憶があり、個人的にはあの時代へのノスタルジーに近い感想だという声
    • 10.4/10.5時代に開発者として仕事を始めた経験を共有。半ばダークモードのような見た目やテーマ設定をいじっていて、当時はシステムフォルダを触るのが今よりずっと簡単だったという感想
    • 「暗黒時代」という表現について、歴史的背景では技術や能力の喪失ではなく、帝国と独立王国の文化や予算の違いだったと説明し、初期中世にも美しい遺物や建築は多かったと補足。Sutton Hooの船葬やアングロサクソン教会を実際に見た経験にも触れている
  • スクリーンショットを見て、Mac OS Xは現在のMac OSよりはるかに美しく整った環境だと感じ、「この環境なら本当に仕事がはかどりそうだ」という印象を受けたという声。現行のMac OSはごちゃごちゃしていて混乱した感じがするとし、ほかの人もそう感じるのか気になっている
    • 個人的にはUIで目にする部分はメニューバー、3つの点、Spotlightくらいに限られていて、実際にはOS自体やネイティブアプリよりも、ブラウザベースやサードパーティのデザインシステムを使うクロスプラットフォームアプリばかり使っている。Windowsでも同じで、見た目の面にはあまり感情が動かないという意見
    • 最近はWin 95やmacOS 9のような古いグレーのインターフェースがむしろ好きになってきた、電卓のようにただの道具という安定感と安心感があるのがよいという好み
    • 技術的には現代のmacOSでも昔のスタイルは十分再現できるはずなのにそうなっていないのは、ソフトウェア構造がモジュール型になっていないからだという指摘。ソフトウェア会社が良いソフトウェアを作っていると、もはや信じにくいという失望もにじむ
    • 個人的には10.3 Pantherの混在したaquaとブラッシュドメタルがいちばん好みで、10.4 Tigerの光沢あるメニューバーは時間がたつとあまり洗練されて見えないという感想。10.5 Leopardには派手な3D Dockや透明な上部メニュー、よりモダンなグラデーションがあったが、結局aquaと金属感のほうが格好よかったという見解。その後のバージョンはやや味気ないと感じている
    • Windowsの縞模様デザインは少しやりすぎだったので、それがなくなってむしろよかったという個人的満足
  • 昔の優れたUIを思い出したという感想。Platinum時代のMacintosh OS 8、Mac OS Xのlickableな洗練、そしてOpenLook、NeXTStep/OpenStep、Windows 2000の時代まで、さまざまなものを懐かしんでいる。当時のUI要素は明確で一貫していたため、コントロールの動作を予測しやすく、一貫した体験を提供していたが、今ではテーマのカスタマイズ自由度が増した代わりに、直接的で統一感のあるUI体験をある程度失ってしまったと思うという意見
  • PearPCプロジェクトが、最後のコミットから10年以上たっているのに成功例として言及されていたことに驚いたという反応。公式リポジトリ github、個人フォーク github。WebAssembly対応を加えた状態でもx86-64対応がまだ残っていること、さらにNextStepをInfinite Macに追加した経験をブログにまとめていたという話も含む ブログリンク
  • こういうプロジェクトは本当に素晴らしいという個人的感想。Aquaが登場したときは本当に革新的だったという称賛
    • 当時はほぼすべてのLinuxウィンドウマネージャにaquaテーマがあり、Appleは「Linuxデスクトップの年」を待ち続けていたユーザーたちが夢見ていたOSを実際に示した、という見方。メインストリームのUnixでありながら優れた使い勝手と広範なサードパーティアプリのサポートまで備え、大成功を収めたという評価
    • Aquaは今でも革新的なデザインだと思うという意見。以前はウィンドウコントロールをすぐ見分けられたのに、最近はむしろ識別しづらくなっている点を残念がっている。Liquid GlassがそうしたUXをある程度取り戻してくれることを期待し、Aquaの一貫性と使いやすさはWindows VistaやLinuxテーマなどが模倣しようとしても結局追いつけなかった理由だと述べている
    • スティーブ・ジョブズの「Aqua発表」時のプレゼンの言葉を引用し、Aquaはまったく新しいインターフェースであり、Apple独自の伝統を受け継ぎ、その名のとおり流動的で、デザイン目標のひとつは「見ていると舐めたくなるものにすること」だったという哲学を強調
    • Liquid Glassが当時のAqua時代のデザイン哲学を改めて思い出させるという感想
  • 初期のOS X時代こそMacの本当の黄金期だったと振り返る声。当時はハードウェア競争力も高く、OSの完成度も最高だったと考えている。最近は再びハードウェアの黄金期が来ているので、いつかソフトウェアも追いついてほしいと期待しているが、最新のMacでSafariを使うとこのエミュレーション性能は反応が鈍く、実用は難しいという意見
    • Mac OSが再び素晴らしくなる可能性はなさそうだという声
    • ハードウェアが性能を与えると、ソフトウェアがその性能を奪っていくという皮肉を強調
    • 初期のx86モデルを使っていた経験から、価格競争力があったわけではなく、kernel panicが頻発し、QuickTimeで動画を見るだけでもsegmentation faultが日常茶飯事だったと指摘。さまざまなファイル形式(wmvやdivx)を再生するためにcodec探しが日課で、見た目を優先して通気口もなかったため機器の過熱も頻繁だったという体験談
  • 「速度は速くないが、当時の実機もそれほど良くはなかった」という評価に同意する声。2008年前後にHackintoshを使っていた経験から、当時のMacが本当に遅かったことをリアルに再現している点にかえって本物らしさを感じたという感想。当時iPod touch向けアプリを作るために数え切れない試行錯誤をした思い出も共有しつつ、それでもインストールに24時間まではかからなかったのが救いだったと語っている