もう一つの研究

PlayStation2用ゲームパッドの自動制御

1.0 研究目的

今まで格闘ゲームを余りやった事が無い。やったとしてもVFぐらいである。
だいぶ前からゲームパッドを自動制御できないものかと考えていた。
高校1年時にシャープのポケコンと実験実習で作成した8255基盤を用いて、セガサターンPパッドの自動制御は成功した。
しかし、当時はまだINPUTの制御がポケコンのキーボード側でしかできなかった。

そこで、以前出来なかったPADに付いているスイッチ一つで必殺技が出せるようなシステムを目指す。
また、現在持っている資産は出来るだけ壊したり、改造したりしない事も同時に行う。

滅茶苦茶強い後輩に勝つ。
これを実現するためにも、ゲームパッド自動制御装置(以下本システム)を開発する事で、1%未満と言う勝率を改善させる事が出来ると考える。
本システムを用いて、後輩を撃破する事を本研究の目的とする。
2.0 実験システム
実験システムは現在、Ver0.3である。
Ver0.1からVer0.2は大きくハードウェアが変っている。

Ver0.1 ハードウェア構成図
Ver0.2 ハードウェア構成図



Ver0.1では今まで使用していたPADを改造してしまうリスクがあったので、使い心地の良いUSBゲームパッドをそのまま使用が可能なVer0.2が 完成した。
Ver0.2はWindowsPCとH8マイコンとの連携で高度な処理が可能となった。
しかし、Windowsが立ち上がっていなければ使用できないと言う制約が付き、手軽さが失われた。

Ver0.3はVer0.2とさほどハードウェアは変わらない。
プログラムに大きな変更点がある。
Ver0.3 ハードウェア構成図


Ver03プログラムの仕様

通常のPAD操作
・10msごとに割り込みをかけ、PADの状態を読み込む。
・PADの状態が変化した場合、十字キーの情報・各ボタンの情報をシリアルポート経由でH8/3069に出力する。
・出力する際の文字コードは最大3文字とする。
・出力は以下の通りである。シリアルポートに送る際、文字コードにするので全てに0x30を足す。
-------------------------------------------------------------------------------------
1文字目:十字キー情報
左・0x1、下・0x2、右・0x4、上・0x8 同時に押された場合は、二つの和をとる。
2文字目:各ボタン情報
1番・0x1、2番・0x2、3番・0x4、4番・0x8、5番・0x10、6番・0x20、7番・0x40、8番・0x80
同時に押された場合は、全ての和をとる。
3文字目:改行コード
\r
-------------------------------------------------------------------------------------
・H8/3069側では文字が入力されたと同時に一文字ずつ配列に入れられる。
・配列の数は16とする。
・改行コード\rが入力されると割り込みがかかり、待ち受けから処理に移る。
・十字キー情報を配列から取り出し、文字コードからデータに直す為に0x30を引く。
・取り出したデータをポートAに出力する。
・各ボタン情報を配列から取り出し、文字コードからデータに直す為に0x30を引く。
・取り出したデータをポートBに出力する。
・その後、待ち受けに入る。