Coleco ColecoVision(1982)
- 公開日: 2020/07/19
- 更新日: 2020/07/19
ハードウェア概要
コレコビジョンはZ80をCPUとして採用した据置ゲーム機である。機体前面に拡張コネクタがありそこに"Atari Converter(Expansion Module #1)"というユニットを接続することでATARI 2600のソフトを実行することも可能である。ColecoVisionの資料はColecoVision.dkに非常によくまとめられており、この記事もそこを参考にしている。
コントローラ端子の特徴
本機はアタリ仕様のコントローラ端子を2つ備えている。本機のコントローラ端子の特徴はコモン端子を2つ有していることである。つまり、ピン8の他に、ピン5もコモン端子として使用可能である。具体的にはピン5がH、ピン8がLの場合は他のアタリ仕様端子と同様ピン8がコモン端子となり、ピン5がL、ピン8がHの場合はピン5がコモン端子となる。原則として信号入力ピン(1〜4、6、7、9)は全てプルアップされている。
本機に同梱されるハンドコントローラもこの仕様を活用し、8方向のスティック、2ボタンのトリガに加え、12キーのキーパッドのある非常に高機能なものとなっている。また、ピン7と9はローラーコントローラやステアリング用の端子となっている(ロータリーエンコーダのためのデジタル入力)。ピンアサインは以下の通り。
pin# |
Function |
---|---|
1 |
Digital in |
2 |
Digital in |
3 |
Digital in |
4 |
Digital in |
5 |
VCC/GND |
6 |
Digital in |
7 |
Digital in |
8 |
GND/VCC |
9 |
Digital in |
読み取り方法
Coleco Vision Cart Infoやコレコビジョンの図面によれば、コントローラ関係のI/Oポートは以下の通り。
port# |
Bit7 |
Bit6 |
Bit5 |
Bit4 |
Bit3 |
Bit2 |
Bit1 |
Bit0 |
---|---|---|---|---|---|---|---|---|
80(W) |
Set Keypad mode(pin5=GND, pin8=VCC) |
|||||||
C0(W) |
Set Joystick mode(pin5=VCC, pin8=GND) |
|||||||
FC(R) |
Read Controller #1 |
|||||||
pin9 |
pin6 |
pin7 |
NC |
pin3 |
pin2 |
pin4 |
pin1 |
|
FF(R) |
Read Controller #2 |
|||||||
pin9 |
pin6 |
pin7 |
NC |
pin3 |
pin2 |
pin4 |
pin1 |
Colecovision Programmer's Manualによれば、コントローラの読み取りを行うためのBIOSコールが本体ROMに用意されている。レジスタHで読み取るコントローラ端子を、レジスタLでスティックとキーパッドのどちらを読み取るのかを指定してDECODERというBIOSコールを実行すると、レジスタHにボタン、レジスタLにスティックの方向又はキーパッドの値、レジスタEにホイール又はローラのカウント値が保存されるという仕組みのようだ。