ちょっと興味をもつ場所が違かったのよね・・・・

昨日の日記で登場したPCエンジン
現役で持っていたこともあったのですが・・・・

f:id:vfr750f2:20121222111159j:plain
・PCエンジン

どうしても気になるのが、コントローラーとマルチタップ


えっ!(?) 何が気になるって(?)


まずはコントローラー。本体とは8ピンのコネクタで接続するのですが・・・・(?)(?)(?)(?)

f:id:vfr750f2:20121222111202j:plain
・コントローラーの8ピンコネクタ

いやしかし、8ピンだとボタンの数だけでも足りないじゃん・・・・(信号を伝えるためには基準となるマイナス線が必要だったり、連射回路とか積むには電源もいるだろうし・・・・)

(1)Aボタン (2)Bボタン (3)セレクトボタン (4)スタートボタン (5)上 (6)下 (7)左 (8)右 (9)+5V電源 (10)GND じゃないの(?)(?)(?)

とハテナがたくさん。


さらにマルチタップ
コントローラー5つを繋げられるのですが、それぞれのコントローラーとは8ピンのコネクタでつながり、さらに本体との接続はコントローラー1つ分の8ピンコネクタしかない・・・・
どうなっているんだァ~

f:id:vfr750f2:20121222111203j:plain
・マルチタップのコネクタ。コントローラー5個を束ねてコントローラー端子で本体に接続!(?)

そう。当時の私はゲームなんかよりもこのカラクリに興味があったのです。


そして当然、分解して回路を解析
当時のノートにこの辺りが記録してありました。

f:id:vfr750f2:20121222111204j:plain
・コントローラー内部を解析して、回路図を起こしました

解析した結果を回路図にしてありました。
カラクリは・・・・74HC157、4チャンネル2入力マルチプレクサと呼ばれるチップ。この2入力をスイッチでどちらか一つ選択する機能を4つ持っているので、8個のボタンをココに接続し選択して4つの出力。


8ピンのうち、4ピンはデータバスとなっていて、時分割多重にて8つのスイッチ情報を2回に分けて伝送しています。
そのための時分割データ切り替えが1ピン。電源とGNDでそれぞれ1ピン。
さらに連射回路は、この時分割多重信号にきちんと同期して、分周カウンタを使って連射信号を生成していました。きちっとした作りだなぁ~(この信号伝送周期を無視して連射パルスを生成しても無意味だからね。)(もっともソフトウェアがここまで高速にスキャンしているかどうかは不明ですけれど。)


残りの1ピンはチップセレクト信号。はてはて何のために・・・・と思いましたが、その答えはマルチタップに。
コチラは、マルチタップの解析の結果。

f:id:vfr750f2:20121222111205j:plain
・マルチタップを解析して回路図を起こしました

なんと、カスタムチップがドーンと一つあるだけ。これじゃぁわからん!


しかし、オシロスコープで各コントローラーの信号をあたっていくと・・・・

f:id:vfr750f2:20121222111206j:plain
・各コントローラーのチップセレクト信号が順次出力されているわ・・・・

なるほど5本のコントローラーの信号を時分割多重で本体に送っているのね~
この作りだと、例えば早押しクイズゲームとかの場合、厳密に誰が一番早く押したのかはこの時分割多重シリアル伝送のタイミングに左右されちゃって判定できないんじゃなくて(?)(?)(?)


まぁ、たかだかコントローラーが、結構贅沢な回路になっていることに驚きました。


ゲームよりもコッチのほうが楽しい!(爆)というちょっと変わった人でした。
(註:今回もらったやつを分解したのではありませんよ。)