ファミコン版ジョイボールの回路
- 公開日: 2021/07/23(金) 20:13[JST]
- 更新日: 2022/07/20(水) 08:01[JST]
Youtube動画『メーカーの公称値に全く届かない連射機能付きコントローラーたちの真相「ホリ電機の嘘つき!1秒間に40発なんて出来ないぞ!」』にて、ジョイボール[1]が秒間250射という超高速な連射速度を出していることが報告されている。この計測はファミコンのコントローラをUSB変換アダプタを介してPCにつなぎ、Shwatch++というソフトで測定した結果で、同作者の他のYoutube動画によればファミコン本体での計測ではぴったり秒間15射とのこと。
通常、連射機能は発振回路によって行うが、誤作動のリスクが大きいため秒間30射の数倍のオーダーで発振させているとは考えにくい[2]。ファミコンの場合、コントローラからのデータはシリアル送信で行われる。このため、コントローラ入力の読み取りを行う度に本体側からパルスを出力している 。このパルスをカウントして、2回パルスを受信する度にボタンのオンオフを切り替えるような仕組みになっていれば、ファミコン本体では秒間15射、PC接続においてはサンプリングレートに応じた連射速度になる。この推測が正しいかどうかを確認するため、実際にジョイボールを入手して確認した次第。
なお、ジョイボールには色違いのMSX版もあるが、こちらは(コントローラ側で本体がいつ読み取りを行っているかを判別できないため)おそらく発振回路で連射させているものと思われる。
多くのゲームではコントローラ操作で自機を移動させたり、メニュー操作を行う。つまりコントローラ操作に応じて画面を書き換えるものであり、画面書き換えのタイミングよりも速い間隔でコントローラの読み取りを行う動機がない。日本のテレビのアナログビデオ信号は1/60秒で1画面の描画を行うものであり、一画面ごとにスイッチのオン・オフを切り替えたとしても連射速度は秒間30射であり、これ以上の速度となることはない。したがってコントローラ側でそれ以上の速度で連射させることは無意味であるばかりか、連射しなかったりボタン入力そのものを検出しないおそれがある。