アタリ仕様ジョイスティック
アタリ仕様ジョイスティックあるいはアタリ規格ジョイスティックとは、Atari 2600用のジョイスティックと互換性のあるジョイスティック或いはジョイスティック端子を示す俗称である。特に日本では、PC-6001にて一部ピンの機能が変更され、後にMSXでも採用された仕様のジョイスティック端子や、MSXで規定された2ボタンジョイスティックの意味でしばしば用いられる日本ソフトバンクのOh!FM1989年5月号には「TOWNSパッドは一見アタリ規格のものに見えますが、A,B2つのトリガのほかにRUNとSELECTというボタンが追加されています。この点でアタリ規格のパッドやジョイスティックと完全な互換性はありません」との記載がある。シャープのサイバースティック(CZ-8NJ2)や電波新聞社のXE-1AP(いずれもアナログジョイスティック)の取扱説明書には「アタリ仕様ジョイスティックポート」「アタリ仕様ジョイスティックインターフェース」「アタリ仕様ジョイスティック・ポート」といった記載がある。X68000サービスマニュアルにはジョイステック端子の説明として「アタリ社規格準拠」との記載がある。。
端子としてはD-sub 9ピン(DE-9)と同一形状のコネクタが用いられる。パソコンやゲーム機側がオス、コントローラ側がメス端子である。コントローラ側の端子は、ネジ止めのためのフランジ部のないスリムな形状が多く、また機器側のコネクタ周辺のケース形状もしばしばこの形状の端子に合わせたものとなっている。そのため、機器によってはケースと干渉してフランジのあるケーブルを接続することができない。
Atari 2600用の純正ジョイスティックでは、スティックの上下左右とトリガボタンのそれぞれが端子のピン1 - 4、6とピン8とを短絡するスイッチとなっており、アタリ仕様と呼ばれる他の機種用のジョイスティックやパッドも、連射機能等を追加したものでない限り同様のピン配置となっている。
一般に、機器側ではアタリ純正ジョイスティックでは信号検出ピンのピン1 - 4、ピン6をHレベルにプルアップし、コモンピン(ピン8)を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、FM77AVシリーズ)およびFM TOWNS、シャープのMZ-2500、X68000およびMZ-800(MZ-700の海外向け後継機)、日本電気のPC-8801mkIISR及び後継機種およびPC-9800シリーズ(FM音源カードPC-9801-26、PC-9801-26K、PC-9801-73、PC-9801-86)が該当する。また、MSX登場前の機種でも、シャープのX1(1982)、松下通信工業のJR-200、東芝のパソピア7(1983、ジョイスティックアダプタ JOY PAC2を使用)もMSX仕様の2ボタンジョイスティックを使用可能である。
なお、国内パソコン向けジョイスティックの第2トリガに割り当てられたピン7は、Atari 2600等海外の機器では電源入力(Vcc)に割り当てられている場合が多い。国内向けのコントローラを海外の機種に接続する場合、第2トリガを押すと電源入力のショートが発生し、コントローラや機器の故障を引き起こす可能性がある。
セガのパソコンSC-3000(1983)や、ゲーム機であるSG-1000(1983)、マークIII(1985)、マスターシステム(1987)、メガドライブ/GENESIS(1988)も同種のジョイスティック端子を採用している。これらの機種では、追加の入力をピン7ではなくピン9に割り当てている。
また、システムズフォーミュレイトのBUBCOM80(1981)、ソニーのSMC-777(1983)、エプソンのQC-11(1985、日本国外での名称はQX-11)も同種のジョイスティック端子を採用している。なお、1ボタンのコントローラのみの対応となっている。
80年代から90年代初頭のパソコンの音源としてGI社のProgrammable Sound Generator音源チップであるAY-3-8910やAY-3-8912、およびAY-3-8910上位互換のFM音源チップであるヤマハのYM2203やYM2608が広く採用された。AY-3-8910及びFM音源コントローラは8ビットのI/Oポートを2ch(PortA及びPortB)、AY-3-8912では1ch(PortA)備えており、ジョイスティック端子はこのI/Oポートを用いて実装されることが多かった。
PC-6001シリーズ(AY-3-8910またはYM2203)、MSX(AY-3-8910)、PC-9801(YM2203またはYM2608)、FM-7(YM2203) : PortAを入力、PortBを出力に固定した上で、PortAにピン1 - 4、6、7の読み取り、PortBにピン6 - 8への信号出力及びPortAでどちらのジョイスティック端子を読み取るのかを切り替える信号出力を割り当てている。
X1(AY-3-8910) : PortA、Bのそれぞれにジョイスティック端子1、2のピン1 - 7、9を割り当てており、全ピンが入力のみか出力のみとなるようジョイスティック端子ごとに設定可能である。
PC-8801mkIISRシリーズ(YM2203又はYM2608) : PortAがピン1 - 4、PortBがピン6、7に割り当てられており、ピン1 - 4のグループとピン6、7のグループ毎に入力と出力を切り替えることが可能である。
SV-318/328(AY-3-8910) : PortAにピン1 - 4を割り当てている。残りの入力ピンについてはインテルのパラレルI/Oコントローラであるi8255のPortA(Read Only)に割り当てられている。
CPC(AY-3-8912) : PortAにピン1 - 7を割り当てている。PortAはキーボードの入力にも使用されているため入力のみの利用となっている。
上記以外にも同チップを用いた実装はあるが、それらのハードウェアでは音源のI/Oポートを介さない実装となっている。
電波新聞社のジョイスティックXE-1Proは、Vccピンの無いX1シリーズでも連射機能を使用できるよう乾電池ボックスを内蔵している。MSX等ピン5にVccが出力されている他機種では電池を必要としないため、XE-1Proには電池使用のオンオフを切り替えるためのスイッチが設けられている。
また、セガのジョイスティックSJ-300Mや、電波新聞社のジョイスティックXE-1ST及びXE-1APでは、第二ボタンのピンアサインの異なるMSX系とセガ系の双方に対応できるようになっており、スイッチで両仕様を切り替えられる。
1980 - 1990年代にかけて一般的だったボール式マウスは、ボールに密着する2つのローラと、各ローラの回転数・回転方向を検出するロータリーエンコーダによってマウスの移動方向を検出している。AmigaやAtari STでは、このロータリーエンコーダの出力をピン1 - 4に出力している。マウスの移動量及び方向を検出するためには、PC側でマウスの分解能及び移動速度に対して十分に短い間隔でピン1 - 4のポーリングを行う必要がある。
これに対してMSXマウスでは、ロータリーエンコーダの出力からマウスの移動量・移動方向を演算する処理をマウス内で行っているためPC側での負担が少なくなる一方、AmigaやAtari ST用のマウスと比べてマウスの価格は高価なものとなっていた。また、左ボタンを押しながら通電するとジョイスティックモードとなり、マウスの移動方向によりピン1 - 4に方向信号が出力される。
富士通のFM77AV20/40の登場時には、MSX仕様のマウスが、ジョイスティックポートに接続する純正オプションの「インテリジェントマウス」として用意された。それまでは専用のインターフェースカードを介して接続するタイプのマウスが用意されていた。
FM TOWNSシリーズでも、MSX仕様のマウスが標準のマウスとして採用されている。なお、その他にもキーボード経由で接続するFMRシリーズ用マウス(通称「Rマウス」、基本的にはバスマウス)も使える。
コモドール64及び128用のマウスは、マウスの移動方向のみを検出するジョイスティックモードに対応したものと、マウスの位置をアナログ値として検出するプロポーショナルモードに対応したものがある。コモドール純正品では、1350マウスがジョイスティックモード対応マウスであり、1351マウスがプロポーショナルモード対応マウスである。プロポーショナルモードにおいては、マウスが自身のXY座標値それぞれを64で割った剰余を、512マイクロ秒ごとに6ビットのアナログ値として出力する。パソコン側では周期的(例えばモニタ描画のブランキング期間ごと)にジョイスティックのピン5、9の値を検出し、それを前回検出時の値と比較することでマウスの移動方向及び移動量を検出する。なお、1351マウスは右ボタンを押しながら通電することでジョイスティックモードとなる。