ぴゅう太のパッド型コントローラの代わりにMSXジョイスティックを接続するアダプタの三作目、
PYUUTAJOY3を作りました。

2023-02-02 21.10.47

 前作 PYUUTAJOY2 と同等の機能で2本のMSXジョイスティックが接続可能、SL/SRのトリガボタンを入れ替えることができます。
 PYUUTAJOY2は基板1枚を1P/2P兼用の設計にして上下に合体させるしくみが自分でも気に入っているのですが、部品点数が多くなり組み立てるのが面倒でした。これを部品削減とコネクタを垂直に取り付けることにより同一面積で同じ機能を実現したのがPYUUTAJOY3です。

その1:Dsubコネクタの垂直取り付けフットプリント
 KiCad(5)にはDsubコネクタを垂直に取り付けるためのフットプリント DSUB-9_Male_Vertical_P2.77x2.84mm というのがありますがどうみても端子の穴が小さいので自前のフットプリントライブラリにコピーして編集。1番ピンの四角いパターンは円に変更し、デフォルトでぎりぎり端子間に配線が通るよう穴を拡大。
DSUB9VLH

 サイズは2.1mm、穴は1.6mmでOK
DSUB9VLHpad

実際に挿入してみるとDsubコネクタ両端は6mmスペーサが適合、もう少し押し込めることができるくらい。ハンダ付けは端子間の内側からするとよい感じ。
2023-02-03 23.51.47

その2:ダイオード削減
 ぴゅう太のコントローラは6個のダイオードを内蔵しておりPYUUTAJOY2でも合計12個のダイオードを使用していた。が、回路図を見てみると減らせそうな感じがする。

ここからは回路図 ぴゅう太 (TP1000) キーボード、コントローラまわり を参照。
キーマトリクスはJ2、コントローラはJ3のコネクタ。

キースキャン出力はLS138のY0~Y7出力がダイオードを介してJ2-1,2,3,4,5,6,7,8に対応。どれか1つだけが"L"になりその他はダイオードのおかげでオープン。キーマトリクスを通ってJ2-9,10,11,12,13,14,15,16がLS251の入力D0~D7に対応。LS251のセレクト端子A,B,Cでどれか1bitを選択して読み取る。
コントローラはコモン端子がLS138のY4,Y5でそれぞれJ3-1,J3-2に対応。J3-3,4,5,6,7,8はキーボードマトリックスのJ2-11,12,13,14,15,16に対応し、それぞれがコントローラのSL,SR,Down,Left,Up,Rightボタンに対応する。これらはキーボードマトリックスの
[Oラ] [Pセ] [Lリ] [;レ] [.ル] [,ネ]
[¥ヘ] [@ヲ] [:ケ] [ ム] [/メ] [ ロ]
に対応する。なのでコントローラを接続しなくても対応するキーを押したら反応するはず。

LS138からの出力はダイオードを介しているので複数キーを同時に押しても"L"と"H"がショートしないようになっている。しかしコントローラのコモン端子はなぜかLS138の出力が直接出ている。このためコントローラ内の6個のボタンそれぞれにダイオードが挿入されているのだが、LS138の出力もLS251の入力も同時に1bitずつしか行わないのでコモン端子をダイオードの先から出していればコントローラにダイオードはいらなかったはず。ということでPYUUTAJOY2を改造し、コモン端子側にダイオードを挿入し本来ダイオードを入れるべき箇所をすべてショートしてみたら問題なく動作した。

PYUUTAJOY3回路図
PYUUTAJOY3V01L01-sch
※ダイオードが並列になっているのは貫通部品と表面実装部品を選択するためで実質1本

PYUUTAJOY3V01L01-pcb

 組み立てると高さがあり送料が高くなりそうなので今回はキットで配布する予定です。設計データなども公開予定。