目的
スーパーファミコン(日本以外:SNES)の標準コントローラーの信号(本体とコントローラーのやり取り)に関して、20年前の高校生の時にウェブサイトに書いていたが、再び物を作ろうと計画しているので、資料集めがてらに記載することにしました。
図は当時のままのを掲載しています。また、スーパーファミコンクラシックではなく、昔の1990年発売の方になります。
ピンアサイン
上記図はメスコネクタ(本体側)を本体正面から見た図です。
2Pinと3Pinに関しては特に調べていません。
通信プロトコル
本体側からみたIN/OUTとしては、
5Pin:P/S端子:OUT、 6Pin:CLK端子:OUT、 4Pin:DAT端子:IN となります。
信号の割り当て
CLKの回数 | 割り当て信号(ボタン) |
1 | Bボタン |
2 | Yボタン |
3 | SELECTボタン |
4 | STARTボタン |
5 | 上(↑)ボタン |
6 | 下(↓)ボタン |
7 | 左(←)ボタン |
8 | 右(→)ボタン |
9 | Aボタン |
10 | Xボタン |
11 | Lボタン |
12 | Rボタン |
13 | 識別符号1 |
14 | 識別符号2 |
15 | 識別符号3 |
16 | 識別符号4 |
※識別符号は標準コントローラー(SHVC-005)では全てHiで返す。
※負論理のため、ボタンが押された場合Lo,ボタンが押されていない場合Hiとなります。
ちょっとだけ解説
今では珍しくなってしまいまっしたが、当時はマイコンも高価であったため、家庭用ゲーム機のコントローラーと本体の通信にはロジックICが使われる事が多かったです。ファミコン(NES)とスーパーファミコン(SNES)は、「4021」というCMOSのICを使用していました。(カスタムICにしていましたが)
確か、最初に家庭用ゲーム機のコントローラーにマイコンが搭載されたのは初代プレイステーションだったように思います。(もし間違っていたら、ご指摘お願いします)
今はUSB接続やBluetooth(一部、I2C等)が当たり前なので、その頃からすると信じられない世界となっています。
最後に・・・
雑ではありますが、今回のは以上とします。今後、この信号規格を使って物を作ろうと思っているので、お楽しみに・・・。