misc. > アタリ仕様ジョイスティック研究 > コントローラ側の仕様 > Commodore 64 Game System Joystick

Commodore 64 Game System Joystick

1990年に発売されたCommodore 64ベースのゲーム機、Commodore 64 Game System(C64GS)に付属していたジョイスティック。C64Wikiによれば、回路及びピンアウトは以下の通り。

/static/images/atari/c64gsjoystick.png

pin#

function

1

UP

2

DOWN

3

LEFT

4

RIGHT

5

NC

6

FIRE

7

VCC

8

COMMON

9

2nd Button

第2ボタンの読み取り方法は1350マウス(ジョイスティックモード)の右ボタンとおそらく同じ。つまり、ボタンが押されていない時はVCCとピン9がつながっていないのでPOTXの読み取り値は$FFのような大きい値となる。一方、ボタンが押された状態ではVCCとピン9との間の抵抗値は充分低い値となるので、POTXの読み取り値は$80よりも確実に小さくなる。

他機種での利用(2021/9/11追記)

このジョイスティック、PC-6001/MSX系セガ系でも標準2ボタンジョイスティックとして検出できるのでは?と気づいた。つまり、PC-6001やMSXでは9ピンがGNDなので、第2ボタンを押すと7ピンと9ピンが抵抗を介して短絡し、プルアップされている7ピンは電圧降下によりLレベル(ボタン押下)として検出されうる。一方セガのSG-1000/SC-3000/MkIII では7ピンがGNDなのでボタンを押すと9ピンの電圧降下が発生するという仕組み。

問題は降下後の電圧がLレベルとして判断できるか、ということ。R1をプルアップ抵抗値、R2を7-9ピン間の抵抗値、電源電圧をV0とすると、7ピンと9ピンの短絡後の電圧Vは R2/(R1+R2) = V/V0 となる。このVが信号検出用のICにおいてLと判断される範囲内(調べた限りでは0.8V以下)であれば、第2ボタンはMSXやセガのマシンで使用可能ということになる。R2が最大の330Ωだとしても、R1が1732.5Ω以上であれば大丈夫だろう。

V0は通常5Vで、R2は回路図の通り270-300Ω。各機種のプルアップ抵抗値R1は以下の通り。JR-200とTOWNSとPC-9801については、6ピンと9ピンの間の電流から計算した推定値である(使用したテスタの能力上0.1mA程度の誤差あり)。他の機種についてはリンク先からたどれる回路図を参照した。X68000についてはCocoro BooksのX68000サービスマニュアルに記載の回路図を参照したが、解像度が低く抵抗値を正確に読み取れなかった。SMC-777については回路図未入手の為不明。

機種

R1

PC-6001, MSX, PC-9801, JR-200

10kΩ

PC-8801mkIISR

22kΩ

FM-7, FM TOWNS

3.3kΩ

パソピア

6.8kΩ

MZ-2500, MZ-800, SC-3000, SG-1000, MkIII,

4.7kΩ

X68000

15kΩ?

以上調べた範囲ではどの機種もこのジョイスティックを標準2ボタンコントローラとして使用可能と思われる。ただし、JR-200はその仕様上、第1コントローラ端子、第2コントローラ端子のどちらにつないだとしても双方の第2ボタンの同時押し(+キーボード入力)として検出される。


コメント(0)


Note

本サイトのハイパーリンクの一部は、オリジナルのサイトが閉鎖してしまったため"Internet archive Wayback Machine"へのリンクとなっています。そのようなリンクにはアイコン[archive]を付与しています。

本サイトはCookieを使用しています。本サイトにおけるCookieは以下の三種類のみであり、Cookieの内容に基づいてサイトの表示を変更する以外の用途には用いておりません。