ATARI仕様ジョイスティックに関するメモ

ピン形状とピン配置

  • D-sub 9ピン (機器側がオス、ジョイスティック側がメス)
  • ピン配置は微妙に亜種あり。
  • 特に日本ではPC-6001で採用された2ボタン式の仕様が、MSXをはじめ FM-7, FM77AV, FM TOWNS, MZ-2500, X68000, PC-8801mkIISR, PC-9800シリーズでも採用されたので、日本でATARI仕様というとこの仕様をさすことも多い。この記事では仮に日本式ATARI仕様と呼ぶことにする。(ただしセガはまた微妙に異なる。)
ピン 日本式(MSX等) ATARI VCS
1 Up Up
2 Down Down
3 Left Left
4 Right Right
5 VCC(+5V) Paddle B
6 Button 1 (Trigger 1) Trigger
7 Button 2 (Trigger 2) VCC(+5V)
8 Common GND
9 GND Paddle A
  • ピン番号はメスの穴をのぞいたときに右上が1番

【参考】

PC-8801ジョイスティック仕様

  • 旧機種であるPC-8801mkII と、PC-8801mkIISR以降とではジョイスティックの仕様 (ピン配置とI/Oアドレス) が全く異なる。(形状は同じD-sub 9ピン)
  • +5VとGNDのピン配置すら逆なので、誤って接続すると破損のおそれがある。
  • PC-8801mkIIのジョイスティック仕様の詳細については、こちらこちらを参照。
  • PC-8801mkIISR以降は、前述の日本式ATARI仕様である。
  • 旧機種(PC-8801無印およびmkII)も、サウンドボードを増設すれば日本式ATARI仕様のジョイスティックを使用できる。
PC-8801mkIISR以降のジョイスティックのI/O仕様
  • コモン出力(8番ピン)は、I/Oアドレス40hで制御する。
  • 各入力(1~4番および6~7番ピン)は、OPN(FM音源)のアドレス0Ehおよび0Fhで読み取る。
  • 各入力ピンは、最初にOPN(FM音源)のアドレス07hで入力に設定する。
  • OPNのI/Oアドレスは44h(OPNのアドレス)および45h(OPNのデータ)である。
; ジョイスティックの初期化
PadInit:
    ld          a,7                     ; OPNの07hを読み取り
    out         ($44),a
    in          a,($45)
    and         %00111111               ; bit[7:6]を0にして書き込み
    out         ($45),a                 ; (I/O Port A/Bを入力に設定)
    ret

; ジョイスティックの読み取り
PadRead:
    ld          a,$0E                   ; OPNの0Ehを読み取り
    out         ($44),a
    in          a,($45)
    cpl                                 ; 論理反転(回路は負論理なので)
    and         %00001111               ; bit[3:0]のみにマスク
    ld          (Pad),a                 ; 変数Padに格納

    ld          a,$0F                   ; OPNの0Fhを読み取り
    out         ($44),a
    in          a,($45)
    cpl                                 ; 論理反転(回路は負論理なので)
    and         %00000011               ; bit[1:0]のみにマスク
    ld          (Button),a              ; 変数Buttonに格納
    ret
I/Oアドレス R/W 説明
40h W bit 6 : ジョイスティックポート出力(8番ピン)
44h R/W FM音源(OPN)のアドレス
45h R/W FM音源(OPN)のデータ

上記44hと45hを介して下記にアクセス

OPNレジスタアドレス R/W 説明
07h W bit 6 : I/OポートAの入出力
bit 7 : I/OポートBの入出力
(0 : 入力, 1 : 出力)
ジョイスティック使用時はともに入力に設定
0Eh R bit 0 : Up
bit 1 : Down
bit 2 : Left
bit 3 : Right
0Fh R bit 0 : Button 1
bit 1 : Button 2

【参考】

マイコンソフト(電波新聞社) XE-1シリーズ

型式 発売年 対応機種 備考
XE-1 1984 日本式ATARI仕様 X1版とFM-7ゼビウスに同梱。
XE-1b 1986年 日本式ATARI仕様 MZ-2500版とX68000ゼビウスに同梱。
XE-1PRO 1987年 日本式ATARI仕様 以降の機種の原形。連射機能あり。
XE-1ST 1988年 日本式/セガATARI仕様 PROの廉価版。連射機能なし。セガ式との切替SWあり。
初期型はPROと金型共通で連射部が青い板でカバー。
XE-1PRO HE 1988年 PCエンジン PROのPCエンジン版。
XE-1PRO FC 1988年 ファミコン PROのファミコン版。
XE-1ST2 1991年 日本式/セガATARI仕様 STの後継機。ボタン3つ。
XE-1SFC 1991年 スーパーファミコン ボタン数多く、外観も異なる。

【参考】