i8255の記憶 | 絶対領域

i8255の記憶

i8255 技術回顧録

 1980年代、ジョイスティック端子(D-Sub 9pin)が汎用I/Oとして自然に使われていた時代があった。

 SHARP X68000 シリーズにおいて、その制御を担っていたのが Intel i8255 である。
ジョイスティック端子は2系統用意されていたが、i8255は1チップでそれをまかなえるだけのポート幅を持っており、当時としては非常に合理的な構成だった。

 当時一般的だったジョイスティックやジョイパッドの構成は、

  • 上下左右:4bit(入力)
  • ボタン:2bit(入出力)
  • 電源・GND

 という極めて単純なものだった。
 この割り当てを見たとき、

この端子は、入力専用にしておくには惜しいのではないか

という考えが自然に浮かんだ。

 上下左右を入力、ボタン線をI/Oとして扱えば、理論上は双方向通信が可能なはずである。
実際にいくつか試してはみたものの、当時の知識と環境では、安定した通信を実現するには至らなかった。

 後年、Oh!X 誌の1991年4月号に掲載されていた記事の中で、
8bit A/Dコンバータをジョイスティック端子に接続し、デジタル電圧計をつくる という実例を目にした。

 それを追試してみると、確かに動作する。

i8255は「ジョイスティック制御IC」ではなく、
本質的には汎用I/Oデバイスなのだ

という事実を、そこでようやく実感した。

 その認識を決定づけたのが、アフターバーナーⅡ の X68000 版移植である。
 この際、SHARP と マイコンソフト(電波新聞社) から サイバースティック が発売され、アナログ入力を含む本格的なI/Oデバイスとして運用されることになった。

 結果として、

ジョイスティック端子は「ゲーム専用端子」ではなく、
i8255を介した汎用I/Oポートだった

という位置づけが、後付けではあるが明確になったように思う。

 i8255は、使い方次第で“遊び”にも“計測”にもなり得る、余白の大きいデバイスだった。

コメント

タイトルとURLをコピーしました