ファミコン互換機
- 公開日: 2020/08/05
- 更新日: 2022/07/20
特にアジア各国で生産されている、任天堂の正規ライセンス[1]を取得していないファミコンの互換機[2]には、アタリ仕様ジョイスティックと同じくDサブDE-9相当のコントローラ端子が使用されている。ただし、その仕様はアタリ仕様とは全く異なる[3]。NesDev wikiによればピンアウトは以下の通り。
pin# |
Controller 1 |
Controller 2 |
---|---|---|
1 |
NC |
Digital in(D3) |
2 |
Digital in(D0) |
|
3 |
Digital out(OUT0) |
|
4 |
Digital out(CLK) |
|
5 |
NC |
Digital in(D4) |
6 |
VCC |
|
7 |
NC |
|
8 |
GND |
|
9 |
NC |
NesDev Wikiの標準コントローラのページによれば、標準コントローラについては以下の手順で読み取りを行う。
アドレス$4016のビット0に1を書き込む。すると、両コントローラのピン3からHレベルの信号が出力される。これによって、各コントローラはコントローラ入力の検出を繰り返し行う
アドレス$4016のビット0に0を書き込む。すると、両コントローラはコントローラ入力の検出を停止する。この状態でコントローラは各ボタンの入力内容を本体側に送信できるようになる
コントローラ1ならアドレス$4016、コントローラ2ならアドレス$4017を8回読み出す。読み出す度にピン4からクロック信号が出力され、これに同期してピン2(各アドレスのビット0)に入力内容を出力する。
8回読み出したビット0とコントローラのボタンとの対応は以下の通り。なお、ボタンが押されている時は1、押されていない時は0が出力される。
Order |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
---|---|---|---|---|---|---|---|---|
Button |
A |
B |
Select |
Start |
Up |
Down |
Left |
Right |
ピン1と5はそれぞれアドレス$4017のビット3と4に対応しており、光線銃で利用される。NesDev Wikiの光線銃のページによれば、光センサ検出がピン1、トリガボタンがピン5である。