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

アタリ仕様ジョイスティックあるいはアタリ規格ジョイスティックとは、ATARI VCS(後にATARI2600に名称変更)用のジョイスティックと互換性のあるジョイスティック或いはジョイスティック端子を示す俗称である。特に日本では、PC-6001にて一部ピンの機能が変更され、後にPC-6001やMSXでも採用された仕様のジョイスティック端子や、その2ボタンジョイスティックの意味でしばしば用いられる。 端子としては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マウスは右ボタンを押しながら通電することでジョイスティックモードとなる。 [脚注の使い方] ^ 日本ソフトバンクのOh!FM1989年5月号には「TOWNSパッドは一見アタリ規格のものに見えますが、A,B2つのトリガのほかにRUNとSELECTというボタンが追加されています。この点でアタリ規格のパッドやジョイスティックと完全な互換性はありません」との記載がある。 ^ シャープのサイバースティック(CZ-8NJ2)や電波新聞社のXE-1AP(いずれもアナログジョイスティック)の取扱説明書には「アタリ仕様ジョイスティックポート」「アタリ仕様ジョイスティックインターフェース」「アタリ仕様ジョイスティック・ポート」といった記載がある。 ^ X68000サービスマニュアルにはジョイステック端子の説明として「アタリ社規格準拠」との記載がある。 ^ a b デジタル入力として使用する場合はコントローラ内にプルアップ回路を設ける必要あり。 ^ a b ピン5とピン8は必ず異なる信号レベルとなる。ピン5がHの時はピン8はL。 ^ port1のピン6として検出する。 ^ a b ピン8がLの時は必ずピン9はHとなり、ピン9がLの時は必ずピン8はHとなる。ピン8、9が共にHとなる場合もある。CPCのジョイスティックコネクタは1つのみだが、例えば一方のコネクタがストレート結線、他方のコネクタがピン8とピン9を入れ替えたクロス結線となるようなＹ字ケーブルを用いることにより、2つのコントローラを接続することが可能である。 ^ a b c d e 端子1、2のピン1 - 4、ピン6、計10ピンのいずれか1つのみがLとなるか、全てのピンがHとなるよう制御されている。 ^ ジョイスティック1、2のいずれかがLとなるか、双方がHとなるよう制御されている。 ^ ジョイスティック1は本体直結。 ^ a b c d この出力がLの時にピン5,6,9で対応するボタンの検出を行う。 ^ a b c d 1つの端子に2つのパドルを接続できる。 ^ a b Vccであるピン6と、GNDであるピン8との間でプルダウン回路を構成する。レバー入力とは逆にトリガが押されると信号レベルがLからHに変わる。このジョイスティックをATARI2600に接続した時等ピン6がデジタル入力に設定されている場合は左右どちらのトリガを押してもトリガ入力(ピン6がLになる)として検出される。 ^ a b このピンとピン7の間に1MΩの可変抵抗を設ける。 ^ ピン5, 9をプルアップするための電源供給。 ^ a b c d SELECTボタンはピン1, 2の同時出力。 ^ ピン1 - 4への入力値が入力されたキー、トリガに応じた4ビットのデータとなる。キーやトリガの同時押しには対応していない。また、第3, 4トリガはコレコビジョン標準のコントローラには無い。 ^ a b c d RUNボタンはピン3、4の同時出力。 ^ a b ホイールはコレコビジョン標準のコントローラには無い。 ^ a b SELECTはピン1, 2の同時出力(XE-1APのみ。サイバースティックでは検出不可)。 ^ a b c d e ピン8にL信号を出力するとピン1～4を用いた4ビットパラレル信号11回で構成される44ビットのデータを6回入力する。44ビットのデータには、スティック及びスロットルの位置を示す各8ビットの情報、及び10つのトリガの情報が含まれる。 ^ a b STARTはピン3, 4の同時出力(XE-1APのみ。サイバースティックでは検出不可)。 ^ ピン1 - 4でデータを送る際、新しいデータを送る度に交互にLとHを出力する。 ^ ピン1 - 4でのデータ読み取りが可能な時にLが入力される。 ^ マウスはPort0に接続する。 ^ a b c d ピン1 - 4を4ビットのデジタルデータとして、これを4回出力することにより前後・左右方向の移動量(各8ビット)を得る。 ^ a b c d V、VQは前後方向のマウス移動を検出するロータリーエンコーダの出力。H、HQは左右方向のマウス移動を検出するロータリーエンコーダの出力。 ^ a b c d XA、XBは左右方向のマウス移動を検出するロータリーエンコーダの出力。YA、YBは前後方向のマウス移動を検出するロータリーエンコーダの出力。 ^ データ要求信号。H、Lを切り替える度にピン1 - 4にデータが入力される。 ^ ボタンのオンオフをアナログ値として取得する。 ^ PC-6001用タッチパネル。分解能は256×!256。 ^ SV-318/328用のグラフィックタブレット(タッチパネル)。SV-105はPC-6051と同様の外観。 ^ a b パネルにタッチしているとCSに同期してLが出力される。 ^ a b タッチパネルのA/Dコンバータに与えるクロック信号。 ^ a b A/D変換が完了するとHが入力される。 ^ a b X軸を読み取るときはLを、Y軸を読み取るときはHを出力する。 ^ a b シリアルA/D変換されたデータ。 ^ a b タブレットを使用するときはLを出力する。 ^ a b c SMC-777ハードウェア解説書 ^ Steve Wright "Stella Programmer's Guide" ^ ATARI800回路図 ^ ATARI POKEY CHIP仕様書 ^ VIC-20回路図 ^ Commodore 64回路図 ^ Amiga Developer CD v2.1 ^ a b CPC 464回路図 ^ a b Service Technical Manual SVI 3x8 ^ MZ-800 SERVICE MANUAL ^ FM77AV回路図 ^ アスキー出版局テクライト「PC-9800シリーズ テクニカルデータブック」アスキー出版局 ^ a b X68000サービスマニュアル ^ 「MZ-2500テクニカルマニュアル」工学社 ^ 千葉憲昭「FM TOWNSテクニカルデータブック」アスキー出版局 ^ X1回路図 ^ メガドライブ回路図 ^ a b c d ATARI VCS Accesories回路図 ^ Oh!FM TOWNS 1994年12月号 ^ a b アナログジョイスティックドライバ for X68000 簡易説明書 ^ a b Commodore 1351 Mouse User's Manual ^ 工学社 I/O 1982年11月号 ^ SVI-105回路図 ^ セガハード大百科 SC/SG対応各種コントローラ ^ a b 『Oh!FM TOWNS』1993年9月号、75頁。