アーケード版『デイトナUSA』がPCネイティブ化へ。Model 2を“エミュなし”で動かす静的再コンパイル公開

アーケード版『デイトナUSA』がPCネイティブ化へ。Model 2を“エミュなし”で動かす静的再コンパイル公開

セガのアーケード用基板「Model 2」で稼働していた『デイトナUSA』を、WindowsやmacOS、Linux上でネイティブ動作させるプロジェクト「daytona-arcade-recomp」が公開されています。

先日当サイトで紹介した、セガサターン版『デイトナUSA』の要素を『Virtua Racing Deluxe』のエンジンを利用してスーパー32Xへ移植するプロジェクトとは、まったくの別物です。今回対象となっているのはModel 2向けのアーケード版で、しかも一般的なエミュレーターとは大きく異なる方法でPC上での動作を実現しています。

●daytona-arcade-recomp
https://github.com/alphanu1/daytona-arcade-recomp

アーケード版『デイトナUSA』をC++へ静的再コンパイル

「daytona-arcade-recomp」の最大の特徴は、Model 2というハードウェア全体をPC上で再現するエミュレーターではないことです。

本プロジェクトでは、『デイトナUSA』で使用されているIntel i960のゲームプログラムを解析し、PC上でコンパイル可能なC++コードへ静的再コンパイルしています。さらに、i960からアップロードされて動作するFujitsu TGPのプログラムについても同様にC++へ変換し、実行時にはインタープリターを使用せず、ネイティブコードとして処理する仕組みになっています。

簡単にいえば、Model 2のCPUをPC上で逐一再現して『デイトナUSA』のプログラムを読み取らせるのではなく、ゲームのプログラムをあらかじめPCで動かせる形へ変換してしまうというものです。

描画やサウンドなど、Model 2側の機能についてもPC向けのランタイムとして実装されており、リポジトリのREADMEでは「No interpreter, no emulation core」と明記されています。MAMEも利用されていますが、ゲーム実行用のエミュレーションコアではなく、開発した処理が本来の挙動と一致しているか検証するための比較対象として使われています。

すでにゲームパッドなどを使ってプレイ可能

プロジェクトはまだ開発中ではありますが、単なる技術デモという段階からはかなり進んでいます。

現在は専用ランチャーが用意されており、キーボードのほかゲームパッドにも対応しています。ステアリングをアナログスティック、アクセルとブレーキを左右トリガーへ割り当てることができ、ギアや視点変更ボタンなど、アーケード版に存在する操作も設定可能です。

さらに、オリジナルの4:3表示だけではなく、16:10、16:9、21:9のワイドスクリーン表示もオプションとして実装されています。単純に画面を横へ引き伸ばすのではなく、左右の描画範囲を広げる方式が採用されており、HUDを画面端へ移動させる実験的なオプションや、背景オブジェクトの描画距離を変更する機能なども追加されています。

サウンドについても、Model 1系サウンドボードで使用されている68000のプログラムを静的再コンパイルしています。YM3438と2基のMultiPCMを組み合わせた音声処理がネイティブ実装され、SDL経由で出力される仕組みになっています。

遊ぶには自分でROMデータを用意する必要あり

もちろん、このプロジェクト自体に『デイトナUSA』のゲームデータは含まれていません。

利用するにはユーザー自身で「daytona93」と呼ばれるROMセットを用意する必要があり、対応しているのはMAMEで「Daytona USA Deluxe ’93」として扱われている特定のセットのみです。単に別バージョンの『デイトナUSA』のROMファイル名を変更しただけでは利用できず、プログラム内容までチェックされます。

環境については、64bit版Windows 10/11、macOS、主要なLinuxディストリビューション向けのセットアップ方法が公開されています。ROMを指定してセットアップスクリプトを実行すると、そのROMからゲームコードを再コンパイルして実行ファイルを生成する仕組みです。

現時点では、macOSのApple Silicon環境で実際にビルドとプレイが確認されています。一方、WindowsとLinuxについても同じコードとセットアップ環境が用意されていますが、READMEではmacOSと比較してテスト量が少ないとされているため、環境によっては問題が発生する可能性がある点には注意が必要です。

スーパー32X版『デイトナUSA』とはまったく別のプロジェクト

『デイトナUSA』関連では、当サイトでも10月1日にスーパー32X向け非公式移植プロジェクトを紹介したばかりです。

こちらはセガサターン版『デイトナUSA』のデータなどを参考にしつつ、スーパー32X版『Virtua Racing Deluxe』のエンジンを利用して32X上でゲームを再現しようというものでした。つまり、「別のハードウェア向けに『デイトナUSA』を作り直す」というアプローチです。

一方の「daytona-arcade-recomp」は、Model 2版『デイトナUSA』のプログラム自体を解析し、静的再コンパイルによって現代のPC上でネイティブ実行しようというものです。同じ『デイトナUSA』を扱った非公式プロジェクトではありますが、その目的も技術も大きく異なっています。

Model 2作品を丸ごと対応させるエミュレーターではない

注意しておきたいのは、「daytona-arcade-recomp」がModel 2エミュレーターの代替を目指したプロジェクトではないという点です。

設計資料では、現時点で『デイトナUSA』以外のModel 2タイトルへの対応は第1段階の目標には含まれていません。再コンパイラーそのものには汎用性を持たせながらも、ハードウェア側のランタイムは、まず『デイトナUSA』で使用される処理を中心に実装していく方針となっています。

今後の課題としては、3D描画部分のGPUラスタライザー化や、ステアリングホイールへの対応、解像度設定などが挙げられています。また、PS Vita向けフロントエンドもコードには取り込まれていますが、実機でのビルドについてはまだ未検証とされています。

30年以上前のアーケードゲームを保存・再現する手段としては、これまではエミュレーションが中心でした。それに対して、ゲームの機械語そのものを現代の環境向けに変換し、ネイティブアプリケーションとして蘇らせるという「daytona-arcade-recomp」のアプローチは、かなりユニークです。

すでに実際に遊べるところまで進んでいるだけに、今後どこまでオリジナルのModel 2版に近づき、同時に現代のPCならではの機能を追加していくのかにも注目したいところです。

via.Time Extension

ABOUT US
アバター画像
retrogamer