VHD I/Fなしでサンダーストームを動かすやつ

VHD I/Fが海外コレクターさんに買い漁られて手に入らないので、I/Fなしでなんとか動かそうとしたものです。

●概要
VHDを事前にビデオキャプチャしてWindows PCで再生できるファイルにしておき、MSXとRS-232Cで接続してVHDプレーヤーの代わりに動画プレーヤーを制御し、Windows PC出力をNTSCにダウンスキャンしてMSXに入れてスーパーインポーズします。
Windows版サンダーストーム入手するほうがよっぽど楽じゃね?とか言わない。

●必要なもの
・サンダーストームのMSX版テープ
・サンダーストームのVHD
・VHDプレーヤー(VHDpc非対応でも可)
・VHDをキャプチャして動画ファイル化できる何か
・動画ファイルをフレーム単位で正確に編集できる何か
・シリアルポートが付いていてVLC media playerがストレスなくフルスクリーンで動くWindows PC
・Windows PCの画像出力をNTSCに変換できる何か
・FDDとスーパーインポーザとRS-232Cが付いているRAM 48KB以上のMSX
・RS-232Cクロスケーブル
・空きFD
MSX用RS-232CはI/Oを直接叩いているので、BIOS互換の別HWのものはおそらく使えないと思います。
MSX本体はHC-95がおすすめです。というかそれでしか動作確認していません。
まあVHD I/F不要といってもこの時点でめちゃくちゃハードル高いですが、VHD I/F買うお金あれば上記全部そろいますね。

●準備1(データ編)
(1)VHDを全部録画して動画ファイル化します。
一応元ソースは(最初のVHDロゴだけ)60iなので、60iで取り込むか60p化して取り込むのがおすすめです。30pでも問題ないと思います。
針飛びなどを考慮してて、A/B面両方を録画します。

(2)録画結果を検証します。
A/B面の録画ファイルを比較して、まったく同じ長さになっていることを確認します。
フレーム指定でシークするため、ずれていると正しくゲームが進行しません。
長さが変わっていた場合、どこかで針飛びしていますので適当に切り貼りや再録画して修正します(結構めんどくさい)。
※最終的に数フレーム程度であればキャプチャ時の誤差の可能性があるので許容範囲です。

(3)VHDファイルの開始を正確に合わせます。
60fpsでキャプチャしていれば、0スタート基準で8136フレーム目からステージ1が始まります。
正確にそのようになるように動画ファイルを編集してください。


(4)添付ファイルからVHD.BIN、LOAD.BIN、DIFF.ASCをFDにコピーします。

(5)MSXをCTRLキーを押しながら起動します。
※サンダーストームは結構プログラムが大きいので、2ドライブモードだとバグります

(6)テープからFDにbasicファイルをコピーします。
CLOAD
MERGE"DIFF.ASC"
SAVE"THUNDER.BAS"

※MERGEしているのは、MSX2用パッチ+RCA端子入力化の差分です(サンダーストームはMSX2では動かないが、IF-C9Cが自動でパッチあてている可能性もあり)。

(7)テープからFDにバイナリファイルをコピーします。
BLOAD"CAS:STORM"
BSAVE"STORM.BIN",&H8700,&HDFFF,&HA083


(8)Windows PCに添付ファイルからthunderstom.exeをコピーします。

(9)VLCの複数インスタンス起動を禁止します。
ツール→設定→「ひとつだけ実行を許可」にチェック。
ついでに、作成した動画ファイルがVLCで再生できることを確認しておきます。


●準備2(接続編)
・Windows PC(ディスプレイ出力)→NTSCコンバーター→MSX(VIDEO IN)
※RGBケーブル経由でのスーパーインポーズは対応してません。

・Windows PC(RS-232C)←クロスケーブル→MSX(RS-232C)
DSUB9←→DSUB25のクロスケーブルという微妙にレアなものが必要になるかもしれません。

・MSX(VIDEO OUT)→NTSCモニター
ここはいつも通り。

●実行のしかた
(1)Windows PCで添付ファイルのthunderstom.exeを実行します。コマンドラインは下記の通りです。
thunderstom.exe <使用するCOMポート> <動画ファイルのフルパス>
(例)thunderstom.exe COM3 "C:\Program Files\VideoLAN\VLC\vlc.exe" D:\THUNDERSTORM.mp4

すると、フルスクリーンでVHDの動画が再生されます。
マルチモニター環境などでMSXにスーパーインポーズさせるべき出力と異なるモニターに再生された場合、手動で正しいモニターに移動してください。

(2)MSXをCTRLキーを押しながら起動します。
※ちなみにHC-95の場合でも、システムメニューでRS-232Cを有効化する必要はありません。

(3)VHD BIOSもどきを読み込みます。
BLOAD"LOAD.BIN",R
※ちなみにVHD.BINをROMに焼いたりしても動くはずです。

(4)BASICをロードします。
LOAD"THUNDER.BAS"

(5)手動でスーパーインポーズモードに切り替えます。
HC-95の場合は、SHIFT+CTRL+F2でRCA入力モードへ変更、その後CTRL+F1でスーパーインポーズモードへ切替られます。
もしくは、
SET VIDEO 2,0,0,1,3,1
でもできるはずです。

(6)実行します。
RUN
スーパーインポーズ画面になり、Windows側で動画再生が自動的に最初から再生しなおされます。

●ファイル一式
thunderstorm.zip [44]



感想、要望、バグ報告、その他何かありましたら、メールもしくは掲示板にてご連絡ください。
裕之  
ホームに戻る