HPD-200 パドル コントローラ
使用I/Oポート
JOY端子からの入力になり、0DCH〜0DDHが使用されます。
ポート0DCH(入力):JOY端子
d7:PDL−2 パドルデータD1
d6:PDL−2 パドルデータD0
d5:PDL−1 PDSEL(データセレクト) 1=上位4ビット、0=下位4ビット
d4:PDL−1 FIREボタン
d3:PDL−1 パドルデータD3
d2:PDL−1 パドルデータD2
d1:PDL−1 パドルデータD1
d0:PDL−1 パドルデータD0
ポート0DDH(入力):JOY端子+その他
d7:本体内のIC9、74LS257の13ピン 1で固定
d6:本体内のIC9、74LS257の10ピン 1で固定
d5:本体内のIC9、74LS257の6ピン 1で固定
d4:拡張端子、ROM、カードのCOM端子 1=接続していない、0=接続している
d3:PDL−2 PDSEL(データセレクト)1=上位4ビットパドルデータ、0=下位4ビットパドルデータ
d2:PDL−2 FIREボタン
d1:PDL−2 パドルデータD3
d0:PDL−2 パドルデータD2
パドル入力
パドルデータは8ビット、トリガーボタンは2つありますが実際には1つで
本来あるトリガー2はPDSELとなり
パドルデータ出力の上位4ビットか下位4ビットかの検知用
MARK IIIのJOY端子が入力しか出来ないので
パドル側から出てくるPDSEL信号を常に切り換えて
MARK III側からタイミングを取る必要があります。
パドルデータの読み方は主に下記の様になります。
1:まずPDSELは一定のタイミングで1,0,1,0...と切り換わります。
2:そこでPDSEL=1になるまで待ち、すぐPDSEL=0になるまで待ちます。
3:PDSEL=0になるまで待ったら、パドルデータ(D3−D0)を読みます。
4:読んだパドルデータは下位4Bitなので上位4Bitを読む為にPDSEL=1になるまでまちます。
5:読んだパドルデータは上位4Bitになるので前に読んだ下位4Bitと繋げて8Bitのパドルデータになります。
6:後はFIREボタンのデータを読みます。
1Pのみだと、もう少し省略出来ます(2の所でPDSEL=0になったら下位データはパドルデータになります)
また、海外のマスターシステムのパドルではJOY端子の一部が
出力ポートとして選択できますので、
マスターシステム側からPDSELを切り換えて
パドルデータの上位、下位4Bitのセレクトをしています。
したがって市販ソフトでは国内用、海外用と別のルーチンがあります。
パドルの認識方法
ソフトによってはパッドとパドルの両対応しているものがあります。
つまり入力デバイスが繋がっているかを判断して振り分ける事ができます。
日本のパドルの場合はPDSELが1,0,1,0...と切り換わるので
PDSELをカウントして判断します
回路図
MARKIIIのコーナへ
Home へ戻る