アタリ仕様ジョイスティック

アタリ仕様ジョイスティックあるいはアタリ規格ジョイスティックとは、ATARI2600用のジョイスティックと互換性のあるジョイスティック或いはジョイスティック端子を示す俗称である。特に日本では、PC-6001にて一部ピンの機能が変更され、後にPC-6001やMSXでも採用された仕様のジョイスティック端子や、その2ボタンジョイスティックの意味でしばしば用いられる[[SBクリエイティブシャープのサイバースティックや[[マイコンソフトX68000サービスマニュアルにはジョイステック端子の説明として「アタリ社規格準拠」との記載がある。}

1. 概要
-----

端子としてはD-sub 9ピンと同一形状のコネクタが用いられる。パソコンやゲーム機側がオス、コントローラ側がメス端子である。コントローラ側の端子は、ネジ止めのためのフランジ部のないスリムな形状が多く、また機器側のコネクタ周辺のケース形状もしばしばこの形状の端子に合わせたものとなっている。そのため、機器によってはケースと干渉してフランジのあるケーブルを接続することができない。

Atari 2600用の純正ジョイスティックでは、スティックの上下左右とトリガボタンのそれぞれが端子のピン1 - 4、6とピン8とを短絡するスイッチとなっており、アタリ仕様と呼ばれる他の機種用のジョイスティックやパッドも、連射機能等を追加したものでない限り同様のピン配置となっている。

一般に、機器側ではアタリ純正ジョイスティックでは信号検出ピンのピン1 - 4、ピン6をHレベルにプルアップし、コモンピンをLレベルにしている。スティックを倒したりトリガボタンを押したりして信号検出ピンとコモンピンが短絡すると、対応する信号検出ピンがLになり、これを以て入力を検出する。

2. 歴史
-----

Atari 2600用のコントローラ端子は、Atari 8ビット・コンピュータに採用された他、部分的に互換性のある端子が他企業であるコモドールのVIC-1001/VIC-20やコモドール64、コレコのコレコビジョン、スペクトラビデオのSV-318/328、アムストラッドのCPCにも採用された。16ビットのパソコンであるAtari STやコモドールのAmigaにも同種のコントローラ端子が採用されている。

特に日本では一部ピンの機能が変更されたNECのPC-6001の仕様がMSXでも採用されたことから、この仕様に合わせた2ボタンのジョイスティックが広く普及し、このジョイスティックが接続可能な端子が多くのパソコンで採用された。具体的には、富士通のFM-7シリーズおよびFM TOWNS、シャープのMZ-2500、X68000およびMZ-800、日本電気のPC-8801mkIISR及び後継機種およびPC-9800シリーズが該当する。また、MSX登場前の機種でも、シャープのX1、松下通信工業のJR-200、東芝のパソピア7もMSX仕様の2ボタンジョイスティックを使用可能である。

なお、国内パソコン向けジョイスティックの第2トリガに割り当てられたピン7は、Atari 2600等海外の機器では電源入力に割り当てられている場合が多い。国内向けのコントローラを海外の機種に接続する場合、第2トリガを押すと電源入力のショートが発生し、コントローラや機器の故障を引き起こす可能性がある。

セガのパソコンSC-3000や、ゲーム機であるSG-1000、マークIII、マスターシステム、メガドライブ/GENESISも同種のジョイスティック端子を採用している。これらの機種では、追加の入力をピン7ではなくピン9に割り当てている。

また、システムズフォーミュレイトのBUBCOM80、ソニーのSMC-777、エプソンのQC-11も同種のジョイスティック端子を採用している。なお、1ボタンのコントローラのみの対応となっている。

3. 電気的特性
--------

3.1. 機器側
--------



3.1.1. AY-3-8910との関係
--------------------

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、AY-3-8912では1ch備えており、ジョイスティック端子はこのI/Oポートを用いて実装されることが多かった。

PC-6001シリーズ、MSX、PC-9801、FM-7 : PortAを入力、PortBを出力に固定した上で、PortAにピン1 - 4、6、7の読み取り、PortBにピン6 - 8への信号出力及びPortAでどちらのジョイスティック端子を読み取るのかを切り替える信号出力を割り当てている。 X1 : PortA、Bのそれぞれにジョイスティック端子1、2のピン1 - 7、9を割り当てており、全ピンが入力のみか出力のみとなるようジョイスティック端子ごとに設定可能である。 PC-8801mkIISRシリーズ : PortAがピン1 - 4、PortBがピン6、7に割り当てられており、ピン1 - 4のグループとピン6、7のグループ毎に入力と出力を切り替えることが可能である。 SV-318/328 : PortAにピン1 - 4を割り当てている。残りの入力ピンについてはインテルのパラレルI/Oコントローラであるi8255のPortAに割り当てられている。 CPC : PortAにピン1 - 7を割り当てている。PortAはキーボードの入力にも使用されているため入力のみの利用となっている。上記以外にも同チップを用いた実装はあるが、それらのハードウェアでは音源のI/Oポートを介さない実装となっている。

3.2. コントローラ側
------------



3.2.1. 多機種対応ジョイスティック
--------------------

電波新聞社のジョイスティックXE-1Proは、Vccピンの無いX1シリーズでも連射機能を使用できるよう乾電池ボックスを内蔵している。MSX等ピン5にVccが出力されている他機種では電池を必要としないため、XE-1Proには電池使用のオンオフを切り替えるためのスイッチが設けられている。

また、セガのジョイスティックSJ-300Mや、電波新聞社のジョイスティックXE-1ST及びXE-1APでは、第二ボタンのピンアサインの異なるMSX系とセガ系の双方に対応できるようになっており、スイッチで両仕様を切り替えられる。

3.2.2. マウス
----------

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シリーズ用マウスも使える。

コモドール64及び128用のマウスは、マウスの移動方向のみを検出するジョイスティックモードに対応したものと、マウスの位置をアナログ値として検出するプロポーショナルモードに対応したものがある。コモドール純正品では、1350マウスがジョイスティックモード対応マウスであり、1351マウスがプロポーショナルモード対応マウスである。プロポーショナルモードにおいては、マウスが自身のXY座標値それぞれを64で割った剰余を、512マイクロ秒ごとに6ビットのアナログ値として出力する。パソコン側では周期的にジョイスティックのピン5、9の値を検出し、それを前回検出時の値と比較することでマウスの移動方向及び移動量を検出する。なお、1351マウスは右ボタンを押しながら通電することでジョイスティックモードとなる。

4. 脚注
-----

4.1. 注釈
-------

4.2. 出典
-------