- Hyper Neo Geo 64 は、SNKが1997年から1999年までの2年間運用した 3Dアーケードシステム で、合計7本のゲームのみが発売された後に短命に終わった、2Dから3Dへ移行する過渡期の実験的プラットフォーム
- MAME開発者のDavid Haywoodが2004年から 21年間続けてきたエミュレーション作業 が最近完成段階に到達し、グラフィックスや入力はもちろん、サウンドエミュレーションまで正常に動作
- この1か月ほどで、R. BelmontをはじめとするMAMEコントリビューターたちが サウンド合成とフィルタ処理の仕組みを解決 し、急速な改善を実現。10月リリース予定のMAME 0.282で 完全なオーディオサポート を提供
- エミュレーション開発の過程では、I/OマイクロコントローラのダンプやV53 CPUコアの改善など、周辺技術の進歩が重要な突破口 となり、シンセサイザーエミュレーション作業との思いがけない相乗効果も貢献
- この事例は エミュレーション開発の特性 をよく示しており、長年にわたる目に見えない作業と忍耐、そしてさまざまな技術要素が一つずつ噛み合って完成していく協業プロセスの重要性を示唆
Hyper Neo Geo 64エミュレーションの長い旅
- David "MameHaze" Haywoodが 2004年にHyper Neo Geo 64のエミュレーション作業を開始 した当時、MAMEは3Dゲーム対応がほとんどなく、MIPS CPUコアも初期段階で、I/Oマイクロコントローラのダンプすらない状況
- 当時のPCメモリは、2Dグラフィックスを読み込んでデコードするだけでも不足する水準
- YouTube以前の時代で、参考資料を入手すること自体が非常に困難な環境
- 現在このプラットフォームのエミュレーションに関心を持つ若い成人の多くは、作業が始まった当時まだ生まれてもいなかった
- 数週間前にHaywoodはこのシステムをMAMEで 「動作」状態に昇格 させたが、これはやや形式的な措置だった
- 適切なサウンドエミュレーションは依然として欠けており、Haywood自身も2023年以降はコア作業をしていなかった
- 人々は長い間無音でもゲームを楽しんできたため、「動作」ラベルを付けてもよいと判断
- これが他のMAMEコントリビューターたちがサウンド改善に乗り出すきっかけとなった
Hyper Neo Geo 64システム概要
- 1997年から1999年まで わずか2年間だけアーケードで稼働 し、合計7本のゲームがリリースされた
- Road's Edge
- Samurai Shodown 64
- Xtreme Rally
- Beat Busters: Second Nightmare
- Samurai Shodown 64: Warriors Rage
- Fatal Fury: Wild Ambition
- Buriki One
- これらのゲーム単体ではエミュレーションへの強い動機にはなりにくかったが、あらゆるアーケードシステムをリバースエンジニアリングして保存しようとするMAMEチームの情熱 がプロジェクトを継続させた
- CapcomのCPS3基板が解読された後に素早く対応が追加されたケースとは異なり、Hyper Neo Geo 64には21年間にわたる断続的で骨の折れる作業 が必要だった
エミュレーション開発の見えない努力
- Haywoodは「人々がエミュレーションについて本当に理解していないのは、まったく前向きな結果が得られない作業に投入しなければならない時間の多さ だ」と指摘
- Hyper Neo Geo 64ドライバに何度も取り組み、何週間も費やしながら まったく進展がなかった経験 が繰り返された
- すべてを理解しようと努めた末に、結局「そういう動作ではない」という結論しか得られなかったという挫折感
- 数年前に I/Oマイクロコントローラがダンプされ、HaywoodがそれをエミュレートするCPUコアを書いたことで実質的な進展を達成
- 多くのゲームで入力が動作し始め、さらにビデオ改善作業を進められる ようになった
- 別のシステム向けに開発されたV53 CPUサポートが、のちに サウンドDSPを駆動するうえで決定的な役割 を果たした
サウンドエミュレーションの急速な進展
- Haywoodがこのプラットフォームを「動作」状態としてマークしたことで、R. BelmontをはじめとするMAMEコントリビューターの関心 を引くことになった
- Belmont、Happy、O. Galibertらが この1か月でゲームが正しく鳴るようにする作業 を進めた
- Happyが書いた サウンドCPUプログラムの詳細な逆アセンブル が非常に有用だった
- BelmontとGalibertはMAMEで シンセサイザー対応作業 も進めており、Hyper Neo Geo 64のサウンドチップがシンセサイザーにも使われていたため、都合のよい専門分野の重なり が生まれた
- 現在のMAMEリリース0.281には、BelmontがYouTube動画で記録した 一連の迅速な改善 が含まれている
- 基本的なサンプル開始・停止が正しい方法で動作するよう修正
- ボリュームエンベロープへの予備的サポートを追加し、オーディオバランスを改善
- ボイスごとのローパスフィルタを追加し、高周波ノイズが整理されて音がよりクリア になった
MAME 0.282の主な改善点
- 10月リリース予定のMAME 0.282では、Xtreme Rallyのオーディオ問題を解決 し、全体的な品質も向上する予定
- Olivier Galibertが 12ビットのダイナミックレンジを8ビットに圧縮する方式 を突き止め、より適切なChamberlinフィルタに置き換えることで、はるかに鮮明で高忠実度なサウンド を実現
- ループサンプルの実際の動作を解明し、最終ミックスダウンで歪みが発生しないよう修正 したほか、フィルタエンベロープも修正して、Beast Busters Second Nightmareのイントロを劇的に改善 した
- Xtreme Rally固有のコード問題も解決
- このゲームには サウンドコマンドを可能な限り高速でサウンドCPUへ送信 しようとする独特のコードがあり、その結果コマンドの3分の2が失われる問題が発生していた
- すべてのコマンドが確実に届くよう修正し、Xtreme Rallyはいまや非常に良い音で動作 する
- MAME 0.282がリリースされれば、Hyper Neo Geo 64は 真に「動作」ラベルにふさわしい状態 になる
協業プロジェクトの完璧な例
- GalibertはRedditで、シンセサイザーエミュレーションへの関心から生まれた貢献 だったが、「面白いことにシンセサイザーそのもの(MPC3000)はまだまったく動作していない」と述べた
- シンセサイザーの一部はいまなおダンプも文書化もされていないが、手元にある断片のひとつがまったく別のパズルにはまることがある
- Haywoodは「これはただ 長くて遅いプロセス だった」と振り返り、「何年にもわたって少しずつ進歩し、MAMEの周辺コードがより良く、より有能になっていくにつれて、段階的にさらに多くの進展 を実現できた」と語った
3件のコメント
わずか7本のゲームしか対応していないコンソールのために、ここまで努力するなんて、本当に素晴らしいですね。
エミュを削る老人…すごい
Hacker Newsのコメント
本当にすごい努力だが、Byuuの文章や最近のDolphin devlogが懐かしくなる。Shonumiの開発ブログもぜひ勧めたい。このブログではGameboyやGBAの珍しい、あるいはエミュレーションが難しい周辺機器、たとえば赤外線モデムからソナー式の魚群探知機まで扱っている Shonumi devlog
Byuuは本当に偉大な人だった。彼が登場してエミュレーターの互換性改善に大きく貢献していた頃を覚えている。Byuuがこの世にもたらした前向きな変化は、今でもたびたび思い返す
Dolphinにも、Factor 5のゲームを動かすためにどれほど多くの努力が注がれたかについての非常に興味深い記事がある。固定されたハードウェア環境では性能を最大限引き出すために本当に驚くようなトリックが使われる。こうしたものは、何年も経ってから誰かがエミュレーターでそのソフトウェアを動かそうとした時にはじめて真価が分かる
Soundblasterエミュレーション経由でマイク入力をきちんとサポートしてくれるPCエミュレーターを知っている人がいるのか気になる。archive.orgで1994年ごろに公開した自分の最初のアプリを見つけたのだが、音楽ビジュアライザーでオーディオ入力が必要なんだ
Shonumi devlogのBattle Chip Gateに関する記事を読んで子どもの頃の思い出がよみがえった。子どもの頃はGBAのBattle Networkのファンで、Mega Manフォーラムに参加するためにGameWinners.comでオンラインコミュニティ活動を始めた。最初のハンドルネームもMMBN2の新機能から取ったものだった。Battle Networkというゲームのおかげで古いゲーム保存に関心を持つようになったし、ゲームのAIやサイバーワールドの設定には驚くほど未来を先取りした感じがある。インターネットに直接つながったPC、それぞれに合わせたAI、デジタル世界の複雑さを案内してくれるAIエージェント、サイバー犯罪やハッカー、そして時代を超えて残るデジタル脆弱性や環境制御システムのハッキングまで、本当に驚くような未来像を見せていた。MMBN2のおかげで英語も学び、プログラマーにもなった。今でも当時を思い出して楽しく振り返ることがある
MAMEプロジェクトが28年以上たっても本質がほとんど変わらないまま活発に開発されているのは驚きだ。おそらく非常に献身的な開発コミュニティのおかげだろう
C++コードベースにC++コードを生成するコード、ビルドプロセスをさらに生成するビルドプロセス、そして毎年ファイル名を片っ端から変える人のこだわりまで加わると、本当に洞窟の修道士みたいな雰囲気がある
正確にはforkではないが、かつてMESSという別プロジェクトが存在していて、非アーケードシステムへと対象範囲を広げようとしたあと再統合された
Final Burn Alpha/Neoのような人気forkもある
偶然知って本当に興味深かったのは、SGI/IRIXまでエミュレーションしていることだ
実際にはいくつものforkが存在するが、本当に「重要な」forkに当たるかはよく分からない。そして、熱心なmame開発者たちが外部コードを非常に厳しく評価することも実感した
こういう記事は本当に好きだ。ゲームエミュレーションが多くの著者の深い技術力を育ててきたことを実感する。Xbox One Xなどで見られる、極度に難解でハードウェアの奥深くに埋め込まれたDRMが、将来は文化財展示の大きな空白になってしまうのではないかと心配になる。DRMには、社会として私たちが十分に認識していない大きな代償が確かにある
10本にも満たないゲームのためにここまで努力するエミュレーション開発者たちの情熱は本当にすごい
ゲーム数の少ないプラットフォームでも、誰かが特定の1本に強く惹かれて熱心に解析することがある。自分もT-Mekのファンで、問題のある筐体を納屋に置いている。たった2本のゲームしかないシステムだが、誰かが関心と技術、機材まで備えて名乗り出なければ、MAMEで正しく動かせるように保護を破ることはできない
かつて、すでにコンパイル済みのHabbo DCRを独立したデスクトップアプリとして動かす方法を見つけた人たちがいたからこそ、Habbo Originsも今なお存在している。これを見たSulakeの社員も実際に試していたが、その人はもともとHabbo Retro/Emulatorシーンの出身だった。リバースエンジニアリングのシーンは本当に面白いコミュニティだ
アーケードハードウェアの中には、たった1本のゲームのためだけに作られた完全カスタム基板や、一度も再利用されなかったチップまで存在する。MAMEの使命は明確だが、SNKとSamurai Shodown、Fatal Furyまで含めて、HNG64は常に注目を集めてきた
過去を記録し保存する作業はとても意義深い行為だ
こういう時はpassionate(情熱的)という言葉がいちばんしっくりくる気がする
28年たった今でも、MAMEのあちこちでなお興味深い変化が起き続けている。単なるアーケードマシンにとどまらず、あまり知られていない家庭用ゲーム機、ビンテージコンピューター、さまざまなハードウェアへと広がっている。最近では、伝説的なYamaha MUシリーズのような業務用音楽シンセサイザーのエミュレーション進捗が興味深い Yamaha MU-series ウィキ。80年代後半にはPCゲームがMIDIサウンドトラックをサポートし始めたが、ほとんどのゲーマーは制約の多いPCサウンドカードで、変質した音楽をどうにか聴いていた。十分な資金があればRoland Sound Canvasのような外部MIDIモジュールで生き生きとした音を楽しめたが、本当の最高峰は64-voice Yamaha MU80だった。MU80の音を初めて聴いた時、自分が何を聞き逃していたのかを思い知らされた MU80 Demo Song。今ではMAMEのおかげで、ソフトウェアエミュレーションだけでこの高価なプロ用ハードウェアを思う存分体験できる
Packard Bell Pentium 166に付属していたMIDI音楽がすごく妙でいまひとつだったのを覚えている。当時すでにこうした高性能機器が存在していたとは知らなかった。YouTubeでSound BlasterとMU80の比較動画を見つけたが、本当にすごい 比較動画
AIに、90年代ノスタルジーに浸れるファンタジーゲームを再創造してくれと頼める日はいつ来るのだろう
この方式が、CAPCOMが昔のアーケードシステムで使っていた奇妙なバッテリーDRM方式に似ているのか気になる。電源が切れるとCAPCOMに再プログラムを依頼しなければならない方式があった
それとは違う方式だと思う。CPS、特に有名なCPS2基板のことを言っているのだろう。この基板ではバッテリーがコピー防止機構を動かしていて、バッテリー電圧が一定以下に落ちるとセキュリティキーをメモリから消してしまう。だからROMは暗号化されたまま残る。筐体の電源を入れたり切ったりすること自体は何の問題もなかった。むしろCPS2のバッテリーは重要部品を壊しがちで、「自殺バッテリー」と呼ばれることもあった。今ではいくつもの方法で保護を解除できる。復号済みのPhoenix ROMを使ったり、Infinikey PCBをはんだ付けしてROM内のキーを基板への給電で解決したりといった方法がある。一方でHNG64は、単にハードウェアがより難解で解析が進んでいなかっただけのようだ
この方式は2段階になっている。プログラムROMとCPUの間に独自のデクリプタチップがあり、そのチップは小さなSRAMに保存されたテーブルを使っていて、そのSRAMはバッテリーで給電されていた。電力を失うと(バッテリー切れやハッキングの試みで)、復号キーも消えてしまう。偶然、FC1ピンがデクリプタチップに接続されていることが発見され、実際に暗号化されていたのはプログラムROMだけだった。68000 CPUが命令を要求する時に特定の信号を送り、デクリプタが復号するかどうかを決めていた。ところがPC-relativeアドレッシングも同じ信号を出すため、これを使って暗号化された命令を取り出せた。さらに別の保護機構のせいか、チップはしばらくすると動作を止めることもあった。後になって、CPS基板ベースの家庭用ゲーム機やSF Zeroのようなゲームのコンソール移植版に、チップが待っていた奇妙なアドレスを読む命令が混ざっていることが分かった。特定アドレスへのアクセスがないと、チップが復号を止めていたのだ。この秘密はコンソール移植のおかげで知られるようになり、その後はPC-relativeとこのアクセスを巧みに組み合わせてROMを正常にダンプできるようになった。 68000プロセッサ参考資料
こういう方式は今でもギャンブル機器などで見られる。最新のスロットマシンには多くの保護機構やバッテリー、耐ドリル機能などが入っているが、今では著作権保護よりも脱税防止の目的のほうが大きい
記事でLaserActiveに触れられていた。子どもの頃、叔父の家で初めて見たが、そんなものが存在すること自体知らなかった LaserActive ウィキ。ほとんどGenesisのゲームしか遊んでいなかった記憶がある
VajraとVajra 2が、Data Westという会社が作ったLaserActive専用シューティングゲームだと知って驚いた。Data Eastと名前が似ていて、どちらも日本企業だが、Data Eastのスピンオフではないようだ。わざと名前を似せて人を混乱させようとしたのではないかと気になる Data West 企業情報
記事冒頭の写真にある値札を思わず拡大して見てしまった。Battle Toad in Battlemaniacは53900円、Akumajou Dracula XXは27500円、The King of Dragonsは39800円だった
GalagaとGalaga Fast Shootでは、キー入力とゲームの反応の間に100msを超える遅延がずっと発生しているので、いつかこの問題が完全に解決されてほしい