JOY-80C
(MZ-80K/Cシリーズ用ジョイスティック)
ゲームセンターに置いてあるインベーダーを始めとするビデオゲーム機は、それぞれ専用のコントローラー、多くはスティックとトリガーボタンの組み合わせを備えています。翻ってパソコンの黎明期はプログラム入力用のキーボードしかなく、スティック+トリガー=ジョイスティックをオプションなどでサポートする機種は希でした(一応スティックもポインティングデバイスのひとつで、グラフィック端末といわれる機器には付属することもあったんですが)。
そんな頃、秋葉原の無線ショップからパソコンとその関連機器の販売まで手を広げた九十九電機が、オリジナルブランド「JOYシリーズ」によるジョイスティックの開発・販売を始めます。雑誌には1981年7月号あたりの広告が最初で、翌8月号にはこのような内容で詳しく宣伝されました。
AppleII/PC-8001/VIC-1001/MZ-80の4機種に対応するジョイスティックですが、AppleII以外には専用のI/Fが必要とあります。ていうかなんでAppleIIには不要なの?
実は、AppleIIには標準でパドルコントローラが2つ付属していて、このパドルを接続するための端子というかソケットに、パドルの代わりに接続するジョイスティックを販売するサードパーティーがいくつか存在したのです。九十九電機もそのひとつというわけですね。まずAppleII用のジョイスティック(AMP-99)があり、これを他の機種でも使えるようにしたということです。
AppleII用のジョイスティックについては「快適appleII計画 joy」というページが実態をよく説明しておられます。要は2軸・2ボタンのアナログジョイスティックで、スティックの傾きをX軸・Y軸の入力電圧で検知するということですね。もちろんAppleII以外にアナログ入力できるポートを持つ機種などありませんから、I/Fによってこれをなんとかデジタル化していたわけです。
VIC-1001用JOY-100は元々サポートされているジョイスティックに準拠。でもPC-8001にはジョイスティックポートなんてありません。ではPC-8001用JOY-99はどうするのか…というと、スティックを倒したりトリガーを押すとそれぞれに割り当てられたキーが押されたように振る舞わせるのです。「キーボードマトリクス並列型」と書かれているように、マトリクスとして並べられているキーボードのどのキーを押されたのかをスキャンする仕組みに寄生して、キーが押されたのと同じように信号を発生される仕組みです。ソフトからはキーボードが操作されたようにしか見えませんから既存ゲームでも使えるというわけですね。ではMZ-80用はというと…。
I/Oボックス(MZ-80I/O)に挿入して使う多目的I/Oボードが必要とあります。外付けの周辺機器を使うには真っ当な方法ではありましょうが…ハードルが高い上に既存のどのゲームでも対応していないという問題が…。
さすがにこれではまずいと思ったか…いや、もしかするとどんな方法でもいいからとにかくMZ-80用ジョイスティックを発売するのが目的で買いやすさは二の次だったのかもしれませんが、1年ほど経ってようやくリーズナブルな製品が登場しました。
下から2行目にあるJOY-80Cという製品、説明には「ジャンパーでほとんどのキーに対応」とありますが、なまじマトリクス状の配列なだけに自機移動に使う十字(上下左右)の組み合わせが選び放題なので、ソフトによってまちまちである…という状況に対応するには必須の仕様です。
ではここから、手元にあるJOY-80Cを紹介していきましょう。あらかじめお断りしておきますが、本来セットであるジョイスティック本体とI/Fを別々の機会に入手しており、もしかすると何か実際の製品と異なるところがあるかもしれません(構成上そんなことはないと思うのだけど)。
まずはジョイスティック本体。広告写真でもスティックが倒れた状態になっていますが、バネで勝手に中央位置に戻る(復帰する)ようにはできていません。
それと本来のAMP-99という型番は印刷されないようになっていますね。多機種展開するにあたって特定機種向け(ということになっている)型番を書くのはトラブルの元ですしね。
中身はこんな感じ。丸い穴の中に丸くなった金属線というか金属の板みたいなのがありますが、これがスティックの内部の構造物。それぞれの軸がどのような状態でももう片方の軸の可変抵抗器(ボリューム)を回せるようにするための仕組みです。アナログスティックならたいていこういう構造になっていますね。
下に並ぶ4つの白い物は半固定抵抗です。これを調整することで、スティックを動かした時の出力電圧の変化の範囲を変えることができます。
基板左端にはジョイスティック自体の型番である「AMP-99」と、隣にカッコイイ筆記体の単語があります…これ「Laboelectron」と書いてありますね。
詳細は不明ですがラボエレクトロンは東京にある会社らしく、おそらくジョイスティックの設計・製造を九十九電機から請け負ったのでしょうね。今調べてみると世田谷に「株式会社ラボエレクトロン」という会社があるらしいのですが、そこなのかな…?
ケーブルの先はなんとICのような足の生えた特殊な形状…これはAppleIIのゲームソケットが普通のICソケットなので、こうなってるわけです。さすがに今は見ないよな…。
一方こちらはI/F。アナログなジョイスティックをデジタル的に使えるようにするための回路が搭載されています。
赤と黒のICクリップは電源です。キーボードのコネクタには電源がありませんので、近所のICから電源をもらってくる必要があるのです。
I/F基板。パターンで「JOY-80C」「TSUKUMO」とありますが、下の「SAKAI LAB」ってなんなんでしょうね。先ほどのラボエレクトロン同様、開発委託先でしょうか?
3本並んでいる抵抗のうち真ん中のものの雰囲気が違いますが、これは後で紹介する動画のための調整をこちらでもいじったという痕跡です。本来は一番上の抵抗と似た感じで(まぁ当時1/8W抵抗とか見なかったしなぁ)、下2本が交換されています。その辺りの事情は後ほど。
広告画像で「ジャンパーで」とありましたが、そのジャンパーがあるのがコネクタの側にある赤い線がうねうねしているパーツ。「プラットホーム」と呼んだような気がするんですが正式名称は何ですかね?
ここを適切に配線することで、ジョイスティックの操作でプログラムに送られるキーを設定することができます。2つ並んでいて、カバーがついてます。左側のカバーを外したところになります。
ざっくり説明すると、左側のジャンパーが出力、右側が入力を選択するようになっています。
このジャンパー部品はソケット実装になっているので、取り外し可能です。ゲームによって使用するキーがまちまちだからこそジャンパー設定するようになってるわけですが、まさか別のゲームをするたびにこのジャンパーをハンダ付けしなおすわけにもいきませんので…○○ゲーム用のジャンパーという感じであらかじめ作っておいて、ゲームをロードするたびに交換するということを想定しているのではないかと思います(マニュアルないので推測)。
キーボードコネクタ部分。この上側のコネクタに、キーボードから伸びているケーブルの先にあるコネクタを差し込みます。
こちらはキーボードコネクタの裏側。こちらのコネクタをメイン基板のキーボードコネクタの先に差し込みます。キーボードコネクタの端子数は18、ただし逆挿し防止のため1本だけ抜けているので合わせると19本、でもそうそう都合良く19端子コネクタなんて入手できるわけもなく…ということで20端子コネクタの一番端の端子を抜いてあります。うっかりずれた状態で差し込みやすい…(キーが入力できなくなるので壊れたかと焦ってしまう)。
なんかこの裏側のコネクタの背が低くてちゃんと取り付けられるのか心配になりますが、一応十分な奥行きがあるようですね。
こちらがジョイスティックからのケーブルの先のコネクタを受け止める部分。はい、普通のICソケットです。
ソケット基板の裏側にはクッションが貼り付けてあって、さらに両面テープが貼ってありこれでMZ本体に取り付けるようになっています。
次に取り付けについて。
キーボードから来ているケーブルのコネクタを引っこ抜き、メイン基板のキーボードコネクタにI/Fを取り付け、I/Fのコネクタにキーボードのケーブルを差し込みます。
ICクリップを、それぞれ適当なICの5V(赤)とGND(黒)の端子に引っかけます。またソケット基板は電源の方からMZの外にぶら下がるように伸ばしておきます。
ソケット基板の両面テープをめくり、下キャビネットの側面に貼り付けます。上キャビネットが下キャビネットに乗っかっている箇所は限定的で、このあたりならケーブルがキャビネットに噛み込まれた状態になったりはしません。
ソケット基板のソケットに、ジョイスティックのケーブルを差し込んだら完成。ソケット基板はMZ本体の右側ではなく左側に出してもいいのですが、ケーブルがこの向きに取り付きますので、やっぱり右側の方がいいんじゃないかな…。
せっかくなので…というよりマニュアルがないので動かすには回路を見てなんとかするしかない、というわけで回路図を描いてみました。クリックすると大きなサイズでご覧になれます。
右側にあるのがキーボードコネクタです。回路図上は上下どちらのコネクタも同じになってますが…片方がメイン基板側、もう片方がキーボード側ですね。これらは素直に1対1で結ばれています。
キーボードコネクタの左にあるのがジャンパー部品です。上側が先ほどの写真で左側(カバーを取っていた方)、下側がもう片方です。キーボードの信号は、9番から18番の信号に対して順(プログラムによっては限定的)に'L'が送られ、そのタイミングで1番から8番までのうち押されたキーに対応する信号に'L'が返るというもので、目的のキーがある列(9~18)と行(1~8)を選んでジャンパーを飛ばすというのが設定になるわけです。その行と列とはこんな並びになっています。
ジャンパー部品の左には74125が6つ並んでいます。いわゆる3ステートバッファで、制御入力に'H'が入るとバッファの入力状態が出力に伝わり、'L'だと遮断されて出力がハイインピーダンス状態になります。ハイインピーダンス状態とはつまり電気的には何も接続されてないのと同じですから、その状態なら元々のキー操作に何も悪さをすることはありません。
ちなみに9~18番のキーストローブ信号は、'L'が送られてない状態ではこちらもハイインピーダンスになっています。つまりその時は74125の入力もハイインピーダンス=何も接続されてないわけですから、本当はプルアップ抵抗で'H'状態にしておくべきなのですが…。なお74125を含むTTL(NMOSロジックIC)の入力端子が解放された時、内部的には'H'が入力されているのと同じ状態になります。従って、制御入力がオンになってもストローブに'L'が来ていない状態では'H'が送られることになります(もちろんMZ本体としてはキーが押されていないことになります)。
6つある74125のうち、下2つはトリガー用でジョイスティックコネクタからの信号が直接制御入力に入りますが、その他4つはその左のOPアンプから制御されることになります。このOPアンプはコンパレータとして動作しており、左端にある抵抗分割されたHi側・Lo側の電圧を閾値として、スティックの傾きがX軸・Y軸それぞれHi側より高いか・Lo側より低いかを判別し、超えれば'H'を出力して対応する74125の出力をオンにします。
回路図が描けたのでジャンパーを設定し、いざ動くかと試したのですが特にスティックの動きに対して入力できない方向があり…ジョイスティックの半固定抵抗をいろいろ調整したもののどうにも解決できず…オシロでOPアンプの入出力を確認してみるとLo側電圧が低すぎて閾値を超えられないようで、I/Fの抵抗のR2を82kΩ、R3を22kΩに交換することで調整の難しさを緩和することにしました(回路図は交換前のもの)。それでも多少調整は必要でしたがなんとか安定して入力できるようになりました。
ということで、キー設定をZEPLISに合わせて実際に遊んでみました。まず最初にスティックの操作やトリガーボタンを押すことで文字が入力される様子があり、さらにゲームがスタートしてキーボードではなくジョイスティックで操作して遊んでいるという動画です。
そもそもの形状として遊びやすくなっているわけではないことに加えて、スティックが本来はアナログゆえに倒す角度の大きさが冗長なので、お世辞にも遊びやすいとは言えない…いやすぐやられた言い訳ではなくてですね…。
ところで…。
このJOY-80C、ジョイスティック本体とI/Fは別々に入手したと書きましたが、そのジョイスティック本体はヤフオクにて「JOY-700」だとして出品されたものをゲットしたやつでして…届いてからコネクタが全く違うことにひっくり返ってしまいました(箱と取説がJOY-700のものだったので、出品者がそうだと思ったのですね)…。JOY-700はAKDさんの「ツクモのジョイスティック」でご覧になれますが、コネクタどころかジョイスティック本体も違うものだったという…。後にI/Fだけ入手できたのはラッキーでした。こちらも本来はジョイスティック本体とセットだったはずのものですからね。
九十九電機やその他黎明期のジョイスティックについては、サイボーグMSXさんのnote「ゲーム少年の相棒・変態ジョイスティック特集①」も参照してください。特に後日談はそちらの方がしっかりフォローされています。