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

インフィニット 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って名前で売ったんだよね。

突然亡くなった高スキルの開発者がどれだけいるかを考えると、訃報もなく、唯一知っているのは別の開発者だけ。時々、彼らが生きていて、宇宙人に地球に残すには貴重すぎると見なされて、どこかに連れて行かれたんじゃないかと思うこともある。

記事の中で最も興味深いアイテムの一つは、700行未満のコードで書かれたPPC CPUエミュレーターへのリンクだね。 https://github.com/kwhr0/macemu/blob/master/SheepShaver/src/... 6502エミュレーターではこういう簡潔さを見かけるけど、最近のアーキテクチャではあまり見ないよね。

RISCだから、そんなに驚くことじゃないね。MIPSエミュレーターもだいたいそのくらいのサイズだし。

今の20歳のテクノロジー好きがOS X 10.4(または10.5、10.6)に直面するなんて、想像もつかないよ。ちょっと苦い気持ちで言うと、中世の人が古典的な彫刻の前に立って「人類はどうしてこんな作品を作れたんだろう?」って考えてるみたいだ。でも、時代とともに好みは変わるよね。中世の人たちは「これは何て野蛮な堕落だ?」って思ってたかもしれないし、今の人たちは「フォトリアルなアイコン、ダサっ!」って思ってるかも。

僕は20歳で、幼い頃に10.5か10.6を使ってたような気がするから、ちょっと懐かしいかな?

10.4/10.5の頃に開発者としてスタートしました。主に、半ダークモードで動かそうとしたり、テーマをいじったりしてましたね :) システムフォルダをいじるのも、当時はそんなに難しくなかったし。

10.4は基本的に最新のmacOSバージョンと同じ見た目と動作をするよ。(数年前からmacOSのバージョンには興味がなくなったけど)Liquid Glassがあっても、やっぱり似たような動作をする。アプリのインストールは相変わらず「IKEAのdmgアプリをドラッグ」だし、たまにzipやpkgも使う。Finderのウィンドウには左のバーにブックマークが既にあるし、Dockの動作も全く同じ。 (あの変な3D Dockの時期もあったけど、それは…Leopardだったかな?)Mac App Storeはないけど、今はほとんど誰も使ってないし…SpotlightはTigerで新しく登場したんだよね。Windows XPと11の違いよりも、こっちの方がずっと認識しやすい!XPは11とは全然違う動作するしね!

初期のOS Xの時代は、Macにとって本当に黄金時代だったよ。ハードウェアはx86とかなり競争力があったし、OSも最高だった。結局、どちらも少しずつ崩れていったけどね。今はハードウェアの第二の黄金時代にいるから、いつかまたMac OSが素晴らしくなることを夢見てるよ。(新しいハードウェアの黄金時代にもかかわらず、ここでのエミュレーション性能は、M1でSafariを使うとほぼ使い物にならないのが残念だけど。)

Mac OSはまた素晴らしくなる。そんな方向には向かってないと思うけど。

俺は初期のx86モデルを使ってたけど、価格競争力はなかったし、OS Xも思ってたほど良くなかった。カーネルパニックは日常茶飯事だし、動画見てるときにQuickTimeがセグメンテーションフォルト起こすこともあった。WMVやDivXみたいなファイル形式を再現するのは、正しいコーデックを探してインストールするのが大変だった。しかも、見た目を良くするために通気口を追加しなかったから、オーバーヒートもしてた。

スクリーンショット…すごい!私にとって、Mac OS Xは今のMac OSよりずっと良さそうに見える。すっきりしてて整然としてるし、「この環境なら仕事ができそう!」って感じ。今のMac OSは「助けて、キャンディの袋に落ちちゃった、どうやって出ればいいの?」って思うんだけど、他にそう感じてる人いる?

そうそう。友達が基調講演中に「液体ガラスはいらない。ブラッシュドメタルが欲しい。」ってテキスト送ってきた。

他にそう感じてる人いる?正直言って、いないかな。私が見るUIの部分はメニューバー(ただのフラットなテキスト、飾りなし)、三つのドット、時々Spotlightバーくらいで、遅くなってない限りはあんまり見ない。Windowsも同じ。OSを使うことはほとんどないし、ネイティブアプリもめったに使わない。ブラウザベースのアプリや、サードパーティのデザインシステムを使ったクロスプラットフォームのアプリばかりだ。

一番好きなのは10.3 Pantherで、アクアとブラッシュドメタルの組み合わせが最高。10.4 Tigerも似てるけど、光沢のある上部メニューバーはあまり良くなかったと思う。10.5 Leopardは、派手な3Dドック、透明な上部メニューバー、そしてもっと現代的なグラデーションがあった。あの時は素晴らしかったけど、グラデーションはブラッシュドメタルやアクアほどカッコよくない。以降のバージョンはちょっと退屈だね。

うん、過去のテーマを選べるようになったらいいのに、現代のMacで使えるように。

昔のグレーのインターフェース(Win 95、MacOS 9)にファンになりつつある気がする。なんか道具みたいで、計算機がただの道具であるのと同じように、安心感があるんだよね。

スクリーンショットを見たとき、同じ反応をしました。確かに新しいペイントが必要かもしれないけど(全部がグレーである必要はないかも)、基盤は素晴らしく使いやすいです。

悲しいのは、現代のMacOSでこの見た目や感触を提供できない理由が本当にないってことだよね。明らかな理由(モジュール性が欠けたデザインの悪いソフトウェア)を除けば。ソフトウェア会社がソフトウェアに関してまともだなんて、もう pretender するのは疲れたよ。

特にサクサクではないけど、その時代を経験した者として言えるのは、実際のハードウェアでもあまり良くなかった。2008年頃のHackintoshユーザーとしては、まさにその通りだね。あの頃の自分のコンピュータと同じくらい遅いのがリアル感を増してる。幸い、インストールが終わるまで24時間待たされることはなかったけど。あの頃、iPod Touch用のクソアプリを作るためにどれだけ苦労したことか。

記事のいくつかのセクションを読んだけど、このプロジェクトが何なのか全然わからない。ソフトウェアエミュレーターなの?そうなら、どのプラットフォームで動くの?どうやってダウンロードするの?それともハードウェアデバイスなの?記事はいきなり本題に入って、読者を専門用語で攻め立てて、ホームページでリンクを見つけたHNユーザーの私には何も説明してくれない。

これは、古いバージョンのMacOSやNeXTStepをWebAssemblyに変換して、現代のブラウザ内で動かせるようにしたオープンソースエミュレーターをまとめたウェブサイトです。さらに、これらのOSのディスクイメージとたくさんの調整を組み合わせて、ウェブサイトにアクセスすると、遊びたいOSのバージョンを選ぶだけで、ブラウザ内でそのまま動くんです。すぐに昔のMacやNeXTの体験ができて、別途ダウンロードやソフトのインストールも不要です。