ハクソク

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

ドルフィン・プログレス リリース 2603

概要

  • Dolphinが新たにTriforceアーケード基板のエミュレーションに対応
  • MMUエミュレーション最適化により特定ゲームのパフォーマンス大幅向上
  • Rogue Squadron IIIがついにフルスピードで動作可能に
  • 長年解決できなかったMario Strikers Chargedの物理バグも修正
  • その他、多数の最適化と修正を含むリリース内容

Dolphin、Triforceアーケードエミュレーション対応

  • Dolphinは2003年にGameCubeエミュレータとして誕生
  • 2008年にはWii対応を追加
  • 2026年、Sega・Namco・Nintendo共同開発のTriforceアーケード基板のエミュレーションに初対応
  • 18年ぶりとなる新システム・ゲームライブラリのサポート開始
  • Triforceの詳細やDolphinでのサポート経緯を解説する特集記事も公開予定

MMUエミュレーション最適化によるパフォーマンス向上

  • MMU(メモリ管理ユニット)エミュレーションの最適化により、カスタムページテーブルマッピングを利用するゲームの動作速度が大幅に向上
  • Rogue Squadron III: Rebel Strikeを含む「Full MMU」必須タイトルが高性能ハードウェア上でフルスピード動作を実現
  • Fastmemの仕組みを拡張し、ページテーブルマッピングにも対応
    • FastmemはホストCPUの例外ハンドラを利用し、必要な場合のみアドレス変換を行うことで高速化
  • これまでBlock Address Translation(BAT)マッピングのみ対応だったが、ページテーブルもFastmemで処理可能に
  • Factor 5製タイトル(Rogue Squadron II/III等)や一部の他社タイトル(Spider-Man 2, Ultimate Spider-Man等)が独自メモリハンドラを使用し、今回の最適化の恩恵を受ける

ARAM(Audio RAM)活用とそのエミュレーション

  • GameCubeには24MiBのメインRAMと16MiBのARAMが存在
  • ARAMは本来オーディオ用途だが、DMA転送を駆使し追加RAMとして利用する手法が存在
  • Factor 5は独自のメモリハンドラでARAMを最大限活用し、ゲームのクオリティ向上を実現
  • Dolphinでは、Nintendo公式ライブラリを使うゲームには「MMU Speedhack」で高速化対応
  • 独自ハンドラを使うタイトルは今回のページテーブルFastmem対応でパフォーマンス大幅改善

ページテーブルFastmem対応の技術的突破

  • PowerPC 750の仕様に基づき、ページテーブル操作時のtlbie命令をトリガーにTLB(ページテーブルキャッシュ)管理を実装
  • ページテーブルの変更を検知し、Fastmemマッピングを動的に更新
  • 64バイト単位で新旧マッピングを比較し、必要な部分のみ追加・削除することで高速化を実現
  • ゲームによっては追跡コストが増えるが、ARAM利用時のカクつきが大幅に減少し、体感的な快適さも向上

パフォーマンス実測例

  • Spider-Man 2:FPSは微減(56→52)だが、 traversal時のカクつき減少
  • Cars 2:FPS大幅向上(37→57)、低スペックPCでも実用的な速度に
  • Rogue Squadron III:ページテーブルFastmem対応と最適化により、初めてフルスピード動作を実現

Rogue Squadron II/IIIへのさらなる最適化

  • ページテーブルFastmem対応後、さらなる最適化ポイントが発見され、個別対応を実施
  • Branch Following等の機能を無効化することで特定状況でのJITコード生成の負荷を軽減
  • コックピットビューとチェイスビュー切り替え時の大きなスタッター問題も改善

長年未解決だったMario Strikers Chargedの物理バグ修正

  • Mario Strikers ChargedコミュニティとCPUエミュレーション専門家の協力により、微細な物理バグを特定・修正
  • 通常プレイでは気づかないレベルのバグだが、長年の課題がついに解決

まとめ・今後の展望

  • Triforceアーケード基板対応やMMUエミュレーション最適化など、Dolphinの進化が加速
  • 今後もさらなる最適化や新機能追加に期待
  • 詳細な技術解説やパフォーマンスレポートは公式ブログで随時公開予定

Hackerたちの意見

すごい!オリジナルのコンソール開発者たちがボーナス的な洞察を提供してくれるかどうか、いつも気になってるんだよね。
もし彼らがまだ同じ雇い主(任天堂の可能性大)で働いているなら、まだNDAの下にいるかもしれないね。
元の開発者の中には、20年以上経っても誰かが自分たちの仕事をこんなに詳しく掘り下げていることに驚く人もいるだろうな。
著者がここで書いたことに対して、すごくワクワクしてるのが伝わってきて、めっちゃ楽しんでる!
JMCは最高だよ。彼と一緒に近接ネットプレイのバグを報告したことがあるけど、彼は本当に好奇心旺盛で、何にでも興味を持ってるんだ。
寄付は受け付けてるのかな?ウェブサイトで何も見つからなかったんだけど。
受け付けてないよ: https://forums.dolphin-emu.org/Thread-dolphin-donations?pid=...
ドルフィンの進捗報告を読むのが大好き。どうやって動いてるのかをうまく説明してくれて、分かりやすくまとめてくれるから。
そうだよね。プログラマーになる前から読んでたんだ。プログラムの内部の仕組みについて考えるのに役立ったと思う。
目を引くのは、何が変わったのかだけじゃなく、最初にそれが難しかった理由も説明しているところだね。
ここで重要なことが埋もれてる気がする。ドルフィンが、2016年にサポートをやめた任天堂、セガ、ナムコが共同開発したトライフォースアーケードキャビネットのサポートを再開するんだ。特にF-Zero AX(ゲームキューブのF-Zero GXとは違うよ)やマリオカートアーケードGP 1と2が含まれてる。これはかなり大きいよ! https://dolphin-emu.org/blog/2026/02/16/rise-of-the-triforce...
数週間前にそのスレッドがあったよ: https://news.ycombinator.com/item?id=47040524 でも、記事の最初の段落がそれに専念してて、大きなクリック可能なバナーもあるから、「埋もれたリード」とは言えないかもね、ハハ!
> これ全部、Dolphinが本物のWiiコンソールとオンラインで遊べるようにするためなんだよね。公式サーバーはとっくに死んでるし、代替サーバーの同時接続プレイヤー数も最高で15人しかいないのに。こんなに熱心な人たちがいるって知ると、めっちゃ嬉しくなる。
トライフォースアーケードの互換性についての話で、「ICカード」サポートが実装される必要があるって話が出てるね。それを実装すると、欠けてる機能がたくさん解放されるみたい。これって日本の鉄道の支払いカードのことかな?自販機とかで使えるのは知ってるけど、記事を読む限り、トライフォースの筐体ではゲームの進行状況も保存できるみたいで、アメリカのアーケードでは見たことがない素晴らしい機能だね。
> トライフォースのゲームは、セーブ用に2種類のカードをサポートしてるよ:マグネティックカード(マグカード)とICカード。マグカードは安いけど壊れやすくて、書き込み回数が限られてるんだ。ゲームがプレイヤーの実績を印刷できる面もあって、ちょっとした特典がある。ICカードは昔のクレジットカードみたいな厚めのプラスチックで、印刷はできないけど、ずっと丈夫だよ。写真付きのソースはこちら: https://dolphin-emu.org/blog/2026/02/16/rise-of-the-triforce...
メモリーカードのことを言ってるんだね。これがトライフォースの特徴で、ほとんどのゲームがセーブ用にカードを使ってる。君が考えてるアーケードには、ほぼ間違いなくマリオカートアーケードGPのバージョンがあったと思うよ。もしかしたら、君はそれをプレイしてないだけかも。
Dolphinの進捗報告についてだけど、その執筆者の一人がオープンソースエミュレーターの現状やコミュニティの問題について面白いブログ記事を書いてるよ: https://emucross.com/rethinking-open-source/ TL;DR、コミュニティやアイデンティティ、実績が整う前にハイプに乗せたオープンソースプロジェクトを立ち上げると、要求が多くて無知なユーザーに悩まされるリスクがあるんだ。他の人が中途半端な機能を持ったブランチを使ってリリースしちゃうこともあって、君の功績を奪われることもある。こういうプロジェクトを運営するのは簡単じゃないし、Dolphinチームは多くの人が職場で見ないようなプロフェッショナリズムでやってるから、もっと評価されるべきだよ。この手のプロジェクトに関わる社会的な仕事も軽視されるべきじゃない。
トライフォースのサポートがメインラインに入ったみたいで嬉しいな。前は、遊びたいゲームをサポートするために、複数の互換性のないDolphinのブランチを使ってたんだ。半端なトライフォースのフォークだったかは分からないけど、メインブランチほど洗練されてなかったのは確か。
ありがたくないユーザーに対してモチベーションを維持するのは大変だよね。お金をもらってるだけでも辛いのに、もらってないとなるともっとひどいだろうね。
「...タッチスクリーンのプロトコルがEloのSmartSetデータプロトコルに似ていることを特定しました...」これには大笑いしたわ。アヴァロンの鍵のアーケードキャビネットを作るときに、古い信頼できるものを選んだのは当然だね。
一番面白いのは、エミュレーター開発が進むにつれて、元のゲームが意図的に深く奇妙なことをやっていたことがわかることだね。