写真
まず回路図を作成しました.
ダウンロード (saturn.lzh 3KB 回路図エディタ BSch が必要です)
|
ブレーキ,マスコンの位置は2進データに変換されます.
このデータとボタン5個の接点が SEGA チップに入力されます.
セガサターン版コントローラには SELECT ボタンとSTART ボタンが必要ですが,
Windows 版ではこれらは不要なのでついていません.
SEGA チップがセガサターンとの通信を行いますが,
これについては詳しいことは知りません.
ブレーキレバーをまわすと擦動子が移動し,接点を切り替えます.
ブレーキは解除,1〜8,非常の10段階ですが,
実際には接点は15あります.
8 to 3 Encoder の 74HC148 2つと 74HC00 により,
接点の位置が2進4桁のデータに変換されます.
接点とデータとの対応は下表の通りです.
これらの接点はノンショーティングで切り替わります.
すなわち,たとえばレバーの位置が1と2の中間にあるときは
どちらの接点も導通せず,
2進データは "LLLL" (0) が出力されます.
| 位置 | 赤 | 黄 | 茶 | 橙 | 意味 |
|---|---|---|---|---|---|
| 解除 | L | L | L | H | 1 |
| 1 | L | L | H | L | 2 |
| 2 | L | L | H | H | 3 |
| 3 | L | H | L | L | 4 |
| 4 | L | H | L | H | 5 |
| 5 | L | H | H | L | 6 |
| 6 | L | H | H | H | 7 |
| 7 | H | L | L | L | 8 |
| 8 | H | L | L | H | 9 |
| H | L | H | L | 0Ah | |
| 非 | H | L | H | H | 0Bh |
| H | H | L | L | 0Ch | |
| H | H | L | H | 0Dh | |
| 常 | H | H | H | L | 0Eh |
| H | H | H | H | 0Fh |
マスコンは「切」と「1」〜「5」の6段階なので,
2進データへの変換は 74HC148 1つで行えます.
74HC148 の出力は負論理になっています.
こちらも接点切り替えはノンショーティングですが,
中間位置で出力されるのは (負論理なので) "HHH" になります.
| 位置 | 赤 | 青 | 白 | (1) | (2) |
| 切 | H | H | L | 1 | 6 |
| 1 | H | L | H | 2 | 5 |
| 2 | H | L | L | 3 | 4 |
| 3 | L | H | H | 4 | 3 |
| 4 | L | H | L | 5 | 2 |
| 5 | L | L | H | 6 | 1 |
ここで,(1) は負論理とみた場合のデータをあらわす数字, (2) は正論理とみた場合のデータをあらわす数字です.