アタリ仕様ジョイスティックとは
アタリ仕様ジョイスティック、あるいはアタリ規格ジョイスティックとは、ゲーム機であるATARI VCS(後にATARI 2600と改称)向けのジョイスティックと互換性を持つコントローラー、またはその接続端子を指す通称です。この規格は広く普及し、特に日本ではNECのPC-6001で一部の端子の機能が変更され、その後PC-6001シリーズや
MSXでも採用されたジョイスティック端子や、それに接続する2ボタンジョイスティックの意味でしばしば用いられました。
概要
接続端子としては、D-sub 9ピン(DE-9)と呼ばれるコネクタと同一形状のものが使用されます。一般的に、コンピューターやゲーム機本体側にはオス端子が、コントローラー側にはメス端子が取り付けられています。コントローラー側のメス端子は、機器側のコネクタ周辺のケース形状に合わせて、ネジ止めのためのフランジ部がないスリムな形状であることが多いです。そのため、本体によってはフランジのあるケーブルを接続しようとするとケースと干渉してしまう場合があります。
ATARI 2600の純正ジョイスティックでは、レバーの上下左右方向とトリガーボタンのそれぞれが、端子の特定のピン(ピン1~4、ピン6)と共通のピン(ピン8)とを接続するスイッチとして機能します。アタリ仕様と呼ばれる他の機種向けのジョイスティックやゲームパッドも、連射機能などが付加されていない限り、この基本的なピン配置を踏襲しています。
機器側では、通常、信号検出を行うピン(ピン1~4、ピン6)を高い電位(Hレベル)に保つプルアップ状態とし、共通ピン(ピン8)を低い電位(Lレベル)に設定しています。ジョイスティックのレバーを倒したりボタンを押したりして信号検出ピンと共通ピンが短絡すると、対応する信号検出ピンの電位がLレベルに変化します。機器側はこのLレベルへの変化を検出することで入力操作を認識します。
歴史と互換性
ATARI 2600用のコントローラー端子は、後に
Atari 8ビット・コンピュータ(1979年)にも採用されました。さらに、他のメーカーからも部分的に互換性のある端子を持つ機種が登場しました。例えば、コモドールの
VIC-1001/VIC-20(1981年)や
コモドール64(1982年)、コレコのコレコビジョン(1982年)、スペクトラビデオのSV-318/328(1983年)、アムストラッドのCPCシリーズ(1984年)などがあります。16ビットパソコン世代に入っても、
Atari ST(1985年)やコモドールの
Amiga(1985年)に同種のコントローラー端子が採用されました。
日本国内では、NECのPC-6001が一部ピンの機能を変更した仕様を採用し、これが
MSXでも引き継がれたことから、この仕様に合わせた2ボタンジョイスティックが広く普及しました。このジョイスティックが接続可能な端子は、多くの国産パソコンに搭載されるようになります。具体的には、
富士通の
FM-7シリーズ(FM音源カードや
FM-77L2以降)、
FM TOWNS、
シャープの
MZ-2500、
X68000、
MZ-800(
MZ-700の海外後継機)、NECのPC-8801mkIISR以降や
PC-9800シリーズの一部FM音源カードなどが該当します。
MSX登場以前の機種でも、
シャープのX1(1982年)、松下通信工業のJR-200、東芝の
パソピア7(1983年、要アダプタ)などが
MSX仕様の2ボタンジョイスティックに対応していました。
ただし、国内パソコン向けのジョイスティックで第2トリガーに割り当てられているピン7は、ATARI 2600をはじめとする海外の機種では電源供給(Vcc)に割り当てられていることが多い点に注意が必要です。国内向けのコントローラーを海外の機種に接続し、第2トリガーを押すと、電源供給ラインがショートしてしまい、コントローラーや機器が故障する可能性があります。
セガのパソコン
SC-3000(1983年)や、ゲーム機の
SG-1000(1983年)、マークIII(1985年)、マスターシステム(1987年)、
メガドライブ/GENESIS(1988年)も同種のジョイスティック端子を採用しています。これらの機種では、第2ボタンなどの追加入力をピン7ではなくピン9に割り当てています。
その他、システムズフォーミュレイトのBUBCOM80(1981年)、ソニーの
SMC-777(1983年)、エプソンのQC-11(1985年)なども同種のジョイスティック端子を持ちますが、これらは1ボタンのコントローラーのみに対応している場合があります。
電気的な実装例
1980年代から1990年代初頭にかけてのパソコンでは、ゼネラル・インスツルメント社のAY-3-8910/8912や、その上位互換である
ヤマハの
YM2203/
YM2608といったPSG/FM音源チップが広く採用されました。これらの音源チップは、複数の8ビットI/Oポートを備えており、ジョイスティック端子はこのI/Oポートを利用して実装されることが一般的でした。
PC-6001シリーズ、MSX、PC-9801、FM-7など: AY-3-8910や
YM2203/2608を使用し、PortAを入力専用、PortBを出力専用として割り当てています。PortAでジョイスティックの方向・ボタン入力を読み取り、PortBで信号出力や複数のジョイスティック端子を切り替えるための信号制御を行います。
X1: AY-3-8910を使用し、PortAとPortBそれぞれにジョイスティック端子1と2のピンを割り当てています。各ポートは入力または出力のどちらかに設定可能です。
PC-8801mkIISRシリーズ: YM2203または
YM2608を使用し、PortAに方向入力(ピン1~4)、PortBにボタン入力(ピン6, 7)を割り当てています。これらのグループごとに入力と出力を切り替えることができます。
SV-318/328: AY-3-8910を使用し、PortAに方向入力(ピン1~4)を割り当てています。その他の入力ピンは、
インテルのI/Oコントローラーi8255のポートに割り当てられています。
*
CPCシリーズ: AY-3-8912を使用し、PortAにジョイスティックのピン1~7を割り当てています。このPortAはキーボード入力にも使用されるため、入力専用として利用されています。
これらのチップ以外でも、I/Oポートを介さずにジョイスティック端子を実装しているハードウェアも存在します。
多機種対応コントローラー
様々なピン配置や仕様が存在したことから、複数の機種に対応するジョイスティックも開発されました。例えば、電波新聞社のXE-1Proは、ピン5に電源供給(Vcc)がないX1シリーズでも連射機能を使用できるよう、乾電池ボックスを内蔵していました。
MSXなどピン5からVccが出力される機種では電池を必要としないため、XE-1Proには電池使用を切り替えるスイッチが搭載されています。
また、
セガのSJ-300Mや、電波新聞社のXE-1ST、XE-1APといったジョイスティックは、第2ボタンのピン割り当てが異なる
MSX系(ピン7)と
セガ系(ピン9)の両方に対応できるよう、スイッチで仕様を切り替えられる機能を備えていました。
マウス
アタリ仕様ジョイスティック端子は、マウスの接続にも利用されました。1980年代から1990年代にかけて一般的だったボール式マウスは、内部のロータリーエンコーダーでボールの回転方向と回転数を検出していました。
Amigaや
Atari STに接続されるマウスは、このロータリーエンコーダーの出力(相)をジョイスティック端子のピン1~4から直接出力していました。コンピューター側では、マウスの移動量や方向を正確に検出するために、ピン1~4の状態を非常に短い間隔(マウスの分解能や移動速度に応じて)で継続的に読み取る(ポーリングする)必要がありました。
これに対し、
MSX用のマウスは、ロータリーエンコーダーの出力をマウス内部で処理し、移動量や方向の情報を演算してからコンピューターに送信する方式でした。これによりコンピューター側の処理負担は軽減されますが、マウス自体の価格は
Amigaや
Atari ST用のものに比べて高価になる傾向がありました。また、
MSXマウスは、左ボタンを押しながら電源を入れるとジョイスティックモードとなり、マウスの移動方向に応じてジョイスティックの方向信号(ピン1~4)を出力する機能を持つものもありました。
国内パソコンでは、
富士通のFM77AV20/40が登場した際、
MSX仕様のマウスが純正オプション「インテリジェントマウス」としてジョイスティックポートに接続する形で提供されました。これ以前は、専用のインターフェースカードを介して接続するタイプのマウスが一般的でした。
FM TOWNSシリーズでも、
MSX仕様のマウスが標準マウスとして採用されています。
コモドール64および128用のマウスには、マウスの移動方向のみを検出するジョイスティックモードに対応したものと、マウスの位置をアナログ値として検出するプロポーショナルモードに対応したものがありました。コモドール純正品では、1350マウスがジョイスティックモード、1351マウスがプロポーショナルモードに対応しています。プロポーショナルモードでは、マウスは自身のXY座標値を64で割った余りを、約512マイクロ秒ごとに6ビットのアナログ値として出力します。パソコン側は、このアナログ値を周期的に(例えば画面描画のブランキング期間ごとに)読み取り、前回の値と比較することでマウスの移動方向と移動量を検出します。なお、1351マウスは右ボタンを押しながら電源を入れるとジョイスティックモードに切り替わります。