「Atari 2600」の版間の差分

削除された内容 追加された内容
Ktjdragon (会話 | 投稿記録)
コントローラ
52行目:
 
===コントローラ===
各種コントローラを接続するため本機には[[D-subminiature|D-sub]] 9ピン(DE-9)状の台形のコネクタが2つ用意されている。コントローラとしては反射型ゲームで用いられパドルコントローラやジョイスティック、12ボタン(横3×縦4)のキーボードなど数種類が用意され、接続に[[D-subminiature|D-sub]] 9ピン状の台形た。このコネクタが使用されたは、様々な仕様のコントローラに対応できるようデジタル入力、デジタル出力、アナログ入力に対応している。ピンアサインは以下の通り<ref>Steve Wright "Stella Programmer's Guide"</ref>
 
{| class="wikitable"
厳密に「規格」として定められていた訳ではないが、日本では[[PC-6000シリーズ|PC-6001]]で2ボタン<ref group="注">但し、[[BASIC]]のコマンドで取得できる入力はATARI仕様の方向+1ボタンである。</ref>と電源ピンを拡張し採用された他、[[日本電気|NEC]]が規格策定の初期に関わっていた[[MSX]]規格が、同一のピンアサインのコネクタを採用している。また、類似したピンアサインを[[シャープ]]の[[X1 (コンピュータ)|X1]]が採用した。但し、X1の実装では[[Programmable Sound Generator|PSG]]の汎用I/Oが直接コネクタに出ているため、GNDの配置は同じものの電源ピンの位置も入出力<ref group="注">そのデータの方向はポート全体で切り替わるものの、入力ポートとしても、出力ポートとしても使用可能である。</ref>信号となっている。ゲーム機としてのMSXなどの普及などにより、[[Windows]]が国内で台頭するまで間、この拡張されたMSX相当のピンアサインのコントローラが国内では[[デファクトスタンダード]]<ref group="注">PC-6001由来でMSX互換のジョイスティックポートは、[[FM-7]]の一部インターフェイスと後継機、[[JR (コンピュータ)#JR-200|JR-200]]、[[MZ-2500]]、[[PC-8800シリーズ|PC-8801mkIISR]]、[[PC-9800シリーズ|PC-9801]]、[[X68000]]などのハードウェアに搭載されている。</ref>となっていた。ゲーム機ではセガの[[SC-3000]]で同様にボタンが追加された仕様のコネクタが使用されており、拡張を重ねながら[[メガドライブ]]まで使用されていたが、上記のPC-6000シリーズや、MSXとは拡張部分のピンアサインは別のものである。下記の様にATARI2600、MSX、X1、セガのゲームコンソールではインターフェイス側に電気的な互換性は無い。また、これらの互換性はLowになったピンの位置と意味が合致することによって維持されているため、実際のコントローラ側の実装ではスイッチが押下されたときに接続されるピンの差異などもあるため、特に電源を併用するようなコントローラでは注意が必要であり正式に製品が対応を謳っているコントローラを用いることが望ましい。尚、直接の互換性は無いものの、ピンを入れ替えるアダプタを用意することで、別の機種に用意されたものを使用するソフトウェア<ref>X68000用[[チェルノブ]]、[[ストリートファイターII#パソコン|ストリートファイターIIダッシュ]]</ref>なども販売されている他、電池ボックス<ref>[[マイコンソフト|電波新聞社]]のXE-1Pro</ref>や、モードスイッチを装備することで、複数のコンソールに対応<ref>XE-1ST/XE-1ST2など。</ref>するジョイスティックも発売された。
|+ ピンアサイン
! Pin No.
| 信号の種類 || Atari Joystick || Atari Paddle || Atari Keyboard<ref>1~4番ピンと5、9、6番ピンとの間でキーマトリクスを構成する</ref>
|-
! 1
| デジタル入力/デジタル出力 || UP#(デジタル入力) || NC || 最上段の読取指定(デジタル出力)
|-
! 2
| デジタル入力/デジタル出力 || DOWN#(デジタル入力) || NC || 2段目の読取指定(デジタル出力)
|-
! 3
| デジタル入力/デジタル出力 || LEFT#(デジタル入力) || BUTTON2#<ref>2台目のパドルのボタン</ref>(デジタル入力) || 3段目の読取指定(デジタル出力)
|-
! 4
| デジタル入力/デジタル出力 || RIGHT#(デジタル入力) || BUTTON1#<ref>1台目のパドルのボタン</ref>(デジタル入力) || 最下段の読取指定(デジタル出力)
|-
! 5
| アナログ入力/デジタル入力 || NC || POT1<ref>1台目のパドルホイール。POTはpotentionmeter(可変抵抗)を意味する</ref>(アナログ入力) || 左列のキー読取(デジタル入力)
|-
! 6
| デジタル入力 || FIRE# || NC || 右列のキー読取
|-
! 7
| VCC(+5V) || NC || VCC || VCC<ref>5、9番ピンをデジタル入力として使う際はプルアップ回路をコントローラ内で構成する必要があり、電源供給が必要</ref>
|-
! 8
| GND || コモン端子 || ボタンのコモン端子 || コモン端子
|-
! 9
| アナログ入力/デジタル入力 || NC || POT2<ref>2台目のパドルホイール</ref>(アナログ入力) || 中央列のキー読取(デジタル入力)
|}
 
デジタル入力の読取は、プルアップされた各入力ピン(1~4、5、6、9番ピン)とGND(8番ピン)との短絡を検出することによって行われる。また、アナログ入力は、各入力ピン(5、9番ピン)とVCC(7番ピン)との間に可変抵抗を設け、その抵抗値を読み取るものである。1~4番ピンのデジタル入力/デジタル出力はピン単位で切り替え可能である一方、5、9番ピンのアナログ入力/デジタル入力の切り替えは両コントローラ用コネクタの全ての入力ピンに対して行われる(コネクタ1をアナログ入力、コネクタ2をデジタル入力とするような設定にはできない)。また、6番ピンは他のピンと同様のオンオフ検出とエッジ検出(一旦オンになったらコントローラ側でオフにしてもオンと検出され続ける)との切り替えが可能である。この切り替えも両コネクタに対して一斉に行われる。
 
厳密に「規格」として定められていた訳ではないが、Atari 2600と部分的に互換性のある(少なくとも1ボタンのジョイスティックがそのまま使用可能な)コントローラ用コネクタが、アタリのみならずコモドール等様々な企業のパソコンやゲーム機に採用されている。日本では[[PC-6000シリーズ|PC-6001]]で2ボタン<ref group="注">但し、[[BASIC]]のコマンドで取得できる入力はATARI仕様Atari 2600のジョイスティックと同一の方向+1ボタンである。</ref>と拡張し電源ピンやGNDピンの位置拡張し変えて採用された<ref>Atari 2600ではGNDだった8番ピンがデータ出力端子となっているが、このピンをLowに設定することでAtari 2600と同様コモン端子として使用可能である</ref>他、[[日本電気|NEC]]が規格策定の初期に関わっていた[[MSX]]規格が、PC-6001と同一のピンアサインのコネクタを採用している。また、類似したピンアサインを[[シャープ]]の[[X1 (コンピュータ)|X1]]が採用した。但し、X1の実装では[[Programmable Sound Generator|PSG]]の汎用I/Oが直接コネクタに出ているため、GNDの配置は同じものの電源ピンの位置も入出力<ref group="注">そのデータの方向はポート全体で切り替わるものの、入力ポートとしても、出力ポートとしても使用可能である。</ref>信号となっている。ゲーム機としてのMSXなどの普及などにより、[[Windows]]が国内で台頭するまで間、この拡張されたMSX相当PC-6001と互換性あるピンアサインのコントローラが国内では[[デファクトスタンダード]]<ref group="注">PC-6001由来でMSX互換のジョイスティックポートは、[[FM-7]]の一部インターフェイスと後継機、[[JR (コンピュータ)#JR-200|JR-200]]、[[SMC-777]]]、[[パソピア]]、[[MZ-2500]]、[[PC-8800シリーズ|PC-8801mkIISR]]、[[PC-9800シリーズ|PC-9801]]、[[X68000]]、[[FM TOWNS]]などのハードウェアに搭載されている。</ref>となっていた。また、類似したピンアサインを[[シャープ]]の[[X1 (コンピュータ)|X1]]が採用した。但し、X1の実装では[[Programmable Sound Generator|PSG]]の汎用I/Oが直接コネクタに出ているため、コモン端子(X1ではAtari 2600と同じくGND)の配置は同じものの、電源ピンが無く8番ピンを除く全てのピンが入出力<ref group="注">そのデータの方向はポート全体で切り替わるものの、入力ポートとしても、出力ポートとしても使用可能である。</ref>端子となっている。ゲーム機ではセガの[[SC-3000]]で同様にボタンが追加された仕様のコネクタが使用されており、拡張を重ねながら[[メガドライブ]]まで使用されていたが、上記のPC-6000シリーズや、MSXとは拡張部分のピンアサインは別のものである。下記の様にATARI2600、MSX、X1、セガのゲームコンソールではインターフェイス側に電気的な互換性は無い。また、これらの互換性はLowになったピンの位置と意味が合致することによって維持されているため、実際のコントローラ側の実装ではスイッチが押下されたときに接続されるピンの差異などもあるため、特に電源を併用するようなコントローラでは注意が必要であり正式に製品が対応を謳っているコントローラを用いることが望ましい。尚、直接の互換性は無いものの、ピンを入れ替えるアダプタを用意することで、別の機種に用意されたものを使用するソフトウェア<ref>X68000用[[チェルノブ]]、[[ストリートファイターII#パソコン|ストリートファイターIIダッシュ]]</ref>なども販売されている他、電池ボックス<ref>[[マイコンソフト|電波新聞社]]のXE-1Pro</ref>や、モードスイッチを装備することで、複数のコンソールに対応<ref>例えばXE-1ST/XE-1ST2などでは端子から電源供給されないX1で連射昨機能を実現するため電池ボックスを内蔵し、電池による電源供給を有効にするためのモードスイッチが設けられている。</ref>するジョイスティックも発売された。
このように、厳密にはピンアサインとしては異なるものの、1ボタンのATARIコントローラが使えることから、これらのインターフェイスは「ATARI仕様準拠」<ref group="注">ATARI仕様、アタリ仕様、アタリ社仕様、アタリ規格、ATARI規格、アタリ社規格などの表記ゆれも見られた。</ref>とカタログに書かれていた。
 
これらの端子は多くが汎用I/Oに接続される形になっていたこともあり、ソフトウェアの制御によって入力デバイス用のコネクタのみではなく、多ボタンの[[入力機器]]、マウス、通信ケーブル、MIDI機器の制御など、他の目的に使われることもあった。しかし、ホスト側の実装そのものは機種によって大きく異なり、制御可能な内容そのものも異なる上、これらの機器はソフトウェア側の対応を必要とするため、アタリ規格ではなく対象機種の専用品として販売されていた。
 
コントローラデバイスの複雑化などにより、1990年代中頃からはゲーム機で採用されなくなった。また、[[Microsoft Windows|Windows]]では[[デバイスドライバ|ドライバ]]も用意されず<ref group="注">FM TOWNSの場合は標準のマウスポートとして使われていることもあり、TOWNSパッドと共にTOWNS版WindowsWindows95では対応している。</ref>多くの場合においてATARI規格相当の端子が使用できなくなったことや、それらでは[[PC/AT互換機]]の[[ゲームポート]]がサポートされておりそちらが使われるようになっていった。更には、そのゲームポートもレガシーデバイスとして排除され、[[ユニバーサル・シリアル・バス|USB]]接続が主流になるとレトロゲーム以外では需要がなくなり次第にその姿を消した。
{| class="wikitable"
|+ ピンアサイン
72 ⟶ 107行目:
|-
! 3
| LEFT# || BUTTON1BUTTON2# || LEFT# || B2 || LEFT# || LEFT# || L
|-
! 4
84 ⟶ 119行目:
|-
! 7
| VCCNC || VCC || B# || TR# || GND || H || L
|-
! 8