トレースプレイヤー

  • はじめに
     はるか昔、究極タイガーなるものをやっておりました。やった方はご存知でしょうが 弾の撃ち方までパターンゲーなので、2周目まで行くようになると1周の30分は退屈です (幸いタコミスしても復活は楽なゲーム)。 その時からトレースプレイができないかと考えていました。
     やがて達人王なるものが出回り、これがまたパターンなんですが、4ボスが辛く 5面入って即死。パターン作りたいから、そこまで誰か代りにやってくれんかなぁ。
     この後、源さんによってシンクロ連の原理と技術が持ち込まれ、 さらに私がロムライタを購入したのをきっかけにロムの仕様も判ったので、完成したのです。
    とかいって、今回ロムは使用しなくてもいいんです。

  • 原理と操作方法
     要するに1フレームずつサンプリングすればいいわけで、 基板の複合同期から垂直同期(60Hz)を取り出し、そのタイミングで ジョイスティックの入力をデータにしてしまいます。
    実際にデータをとる時は、普通にゲームをすればいいのです。

  • 仕様
     現在のところ、システムはX68000用のみ。
    プリンタポートを使用しているだけなので、仕様と開発環境があればWinでも 簡単にできるんでしょうけど、今のところその環境がありません。(*1)
     トレースできる入力は1フレームに1バイトを割り当てているので上下左右ABCスタートの計8個。
    さらに、上下左右を同時入力することでコインが入るようにする。 コインがないとうまくトレースできない(コイン→スタート間を一定にするため)。(*2)
     早送り、巻き戻しはできません。スローはもしかしたらできる?(*3)

  • トレース装置(ハード部)
     ジョイスティック>X68000>ハーネス
    入力X68000のジョイスティックポート (アタリ仕様)
    X68000のプリンタポート(基板から同期の取得)
    出力X68000のプリンタポート(基板へ)
     実際は同期分離ICとインバータを必要数使っているだけ。
     ジョイスティックがアタリ仕様のため2ボタンしか対応してませんが、 ジョスティックポート2の入力(すべて)が3ボタン目に対応させてあります。
     同期については、一応チェックルーチンを入れありますが、 データの空送りしないようにしています。
     ま、今まで同期の取りこぼしはしたことがないようです。


    接続された状態の全体写真



    回路の配線図


    コインは上下左右を4入力NANDするか、上下をNANDすれば良いです。
    あ、上下左右の出力のORを取っても良いのよ。
    トレース装置の全体写真
     

  • トレース装置(ソフト部)
    サンプリング周波数:60Hz
    録画ターイム:約145分(バッファ512kbyte.実は4Mロム用)。 128kbyte(36分)、1024kbyte(290分)との選択可能。
    再生途中に参加可能。というか、これが目的。 再生中にジョイスティックの入力があると、録画に移行する。
    シンクロ連射を装備。(30Hzのみ、起動オプションで指定)(*4)
    サンプルデータとして、『V5』。(V5の基板はついておりません)。

  • なぜ、いまさらV5なのか
     持っている基板の中でずれそうにないゲームを選んでみたら、こんなんでました。 遅く、多くバラまかれる弾に数ドットしかない当り判定など時代を先取りぉ。
     あと、達人王は2面のザコラッシュで、トレースがずれる(そこまでは完璧)ので、 あきらめた。V5も3面でずれるが、成功するか失敗するかの2通りなので続けます。 しかし、やりなおせば回避可能だったモヨウ(今更無理だけど)。 鮫3は不可。デンジャラスシード不可。カプコンCP2とか良さそうだけど、 ファイナルファイトはダメっぽい。

  • 再生専用装置
     4Mロムを使用し、最高145分の再生をする。再生を中止すれば、 そこからプレイすることも可能。
    1Mロムを使用することも可能(再生時間、約36分)。
    ロムライタがあれば、524288フレームのコマンドボタンとしても利用可能。


(*1)適当なCコンパイラと、仕様がわかればするかも〜。特にスティックの入力と プリンタポートへの入出力が日本語で書いて(訳して)あるfreeのCコンパイラ希望。
(*2)いわゆる電パ。一般的に電源を入れた後のWarningをボタンで飛ばせるものが良い。
スタートボタンからトレースすれば良さそうなものだが、 東亜プランのゲームですらWarning中のコインからすべて一定にしないとズレてくるようです。
(*3)CPUが68000なら17番ピンがHalt(GNDにすればCPUの一時停止)なので、 ゲームによっては一時停止や、スローが簡単にできる。ちょっと前のゲームならほとんど可能。 ただし、基板に直接配線することになる。トレースは可能かどうか、試していない。
なお、東亜はディップでCボタンがスロー、一時停止などに設定できる。
(*4)速度可変にしようと思ったけど、使いそうにないのでやめた。