目次
X68KにPS/2マウスを繋ぐ
うちのトラックボール付きマウスですが、ボールが割れることもなく、見た目は大丈夫なのですが、左ボタンが効かないのと、動きが非常に悪いのでPC用のマウスを繋げることにしました。因みに分解清掃しようとしたもののネジがうまく回らなくてケースを開けることが出来なかったので諦めました。
USB→X68コンバータはあるものの、価格がちょっと高いです。使用場面が少ないのでこの投資は痛い気がします。他に検索するとPS/2マウスを繋げておられる方がいました。PICマイコンを使って信号の変換を行っており、PICのファームまで公開して下さってました。とても感謝です。この記事通りに作成してあっさり動きました。
X68000用PS/2マウス変換アダプタ作りかけ(2) | 雑記
部品の入手
今回もほとんどマルツオンラインで購入。マウス延長ケーブルが安く手に入ったのでトータルで1000円程度です。(+ネコポス送料)
PICマイコンへのファーム書き込みツールはラズパイで済ませてます。
部品 | 入手先 |
PS/2マウス延長ケーブル | メルカリ |
PICマイコン PIC12F1822 | マルツオンライン |
ICソケットDIP 8ピン | マルツオンライン |
ミニDINプラグ 5P | マルツオンライン |
ポリスイッチ 0.20A | マルツオンライン |
抵抗330Ω | 手持ち |
抵抗100Ω | 手持ち |
0.1uFセラミックコンデンサ | 手持ち |
PICマイコンのファーム書き込み
一般的にはPICライタ PICkit3というのを使って書き込むのですが、5K円もします。。。こういうのは互換品があるだろうと思って検索するとやはり存在し2K円程度。でも、今の時代(SCSIをエミュレートしちゃう人がいるぐらいなのだから...)ラズパイでも書き込めたりするのではないだろうかと。。。と思って「ラズパイ PICライタ」で検索すると、出てきました。pickle、picberryがヒットしました。前者は別途9V電源(ラズパイの3.3Vより高ければよい)が必要で、後者だとラズパイとの接続のみで完結するとの事でこちらを選択(その代わり書き込めるPIC種が少ないようだ)。ということをPICの注文前に調べてました。PICkit買わなくてよかった。
大変参考にさせていただいたakimasaさんのページ。この方がPIC12F1822への書き込みに追加対応されたようです。感謝です。
PICマイコンを焼いてみた – blog.akimasa.jp
picberryの入手とコンパイル
GitHub - WallaceIT/picberry: PIC Programmer using GPIO connector
ここからClone or Download ボタンでpicberry-master.zipを入手
ラズパイのホームdirへゲットしたファイルを置く
unzip picberry-master.zip cd picberry-master/ make raspberrypi2
ラズパイとPICマイコンの接続
またもやpicberryの記事を書かれた方のblogを参考にさせていただきました。
Raspberry PiでPICマイコンを焼く – blog.akimasa.jp
GPIO番号で記載されているので結線は注意。GPIO番号とピン番号の対応表は以下のサイトが便利です。
第22回 Raspberry PiのGPIO概要│ツール・ラボ
という事で以下の様に結線します。
for the Raspberry Pi: ICSPCLK PGC <-> GPIO23(pin16) ICSPDAT PGD <-> GPIO24(pin18) MCLR <-> GPIO18(pin12)
PIC12F1822データシート(端子確認)
http://ww1.microchip.com/downloads/en/DeviceDoc/41390D.pdf
PICの書き込み操作
akimasaさんのblogに記載されているのですが、少しオプション指定に迷ったので記載します。
まずブランクチェックですが、
sudo ./picberry -f pic10f322 -b
PIC12F1822だが -fで指定するのは上記でOKです。 pic12にするとだめなので注意。blogには
「3/20追記:今ではpic10f322と指定するだけでデバイスIDから自動検出するようになりました。」
と記載があります。
という事で、PIC12では以下の様になり無事ブランクチェックが通りました。
pi@raspberrypi:~/picberry-master $ sudo ./picberry -f pic10f322 -b picberry PIC Programmer v0.2 Device Name: PIC12F1822 Device ID: 0x00000138 Revision: 0x00000009 Blank check...chip is blank. Press ENTER to exit program mode...
次にファームの入手です。
先ほど紹介したPS/2マウス→X68マウス変換アダプタを作成された方のblogから
ps2ms_x68.20190706.zip
を入手します。
unzip ps2ms_x68.20190706.zip
ps2ms_x68.20190706.hex が出来ます。
そして書き込みです。
sudo ./picberry -f pic10f322 -w ps2ms_x68.20190706.hex picberry PIC Programmer v0.2 Device Name: PIC12F1822 Device ID: 0x00000138 Revision: 0x00000009 Writing chip..DONE! Press ENTER to exit program mode...
以上で、PICへのファーム書き込みが終了です。
PS/2マウス→X68マウス変換アダプタの作成
ユニバーサル基板に作りこむ前に一度、ブレッドボードで仮作成しています。本当にPICマイコンに書けてるのかどうか不安だったので。。。
・PS/2延長ケーブルのオス側は不要なのでメス端子側15cmほどでカットします。
・更に購入したミニDINプラグ 5Pへ繋ぐため、PS/2延長ケーブルの残りの部分から20cmほど切り出して、ミニDINプラグ用ケーブルとして利用します(PS/2は6ピンなので残った1pinは使いません)。
ミニDINプラグの分解方法ですが、ソケットになっており掴んで引っ張るだけでケースがスポっとぬけます。ぱっと見、どうすれば端子を剥きだせるのか悩みます。内側のプラソケットと金属シールドは単に嵌っているだけなので、引っ張ればとれます。
▼ミニDIN分解図とケーブルを仮通し
▼ミニDIN5ピンへケーブルはんだ付け。シールドは使いませんので最終的に短く切って他のピンにショートしないようにします。
ミニDIN5ピンの端子並びは以下です。wikiの図にピン番号の記載がなかったです。X68Kの端子に並びは以下になります。
コードの色は以下の様に割り当てました。
X68端子 | 色 | |
1 | 橙 | VCC(Out) |
2 | 赤 | MSCTL(Out) |
3 | 黒 | MSDATA(In) |
4 | 黄 | GND |
5 | 茶 | GND |
PS/2マウスの端子並びは以下のwikiページを参考にしました。
ja.wikipedia.org
私が購入した延長ケーブルのコードの色とピン番号の対応は以下の様になってました。
PS/2色対応 | 色 | |
1 | 茶 | DATA |
2 | 赤 | open |
3 | 橙 | GND |
4 | 黄 | VCC |
5 | 緑 | CLK |
6 | 黒 | open |
私の購入したミニDIN5ピンプラグは、ケースをしっかりはめると、X68への差し込みが甘くなり、きちんとコンタクトがとれません。仕方がないので、写真の様に少しだけ緩めた状態でとめます。本当は内側のプラスチックカバーと外側のプラスチックカバーは一致します(写真の様に段になりません)。こうすることで奥までX68側にピンが刺さってコンタクトがとれます。このような中途半端な位置でとめてても幸いスカスカにはなりませんでした。
▼ミニDIN5ピンのカバー
後は、特に悩むところないので、いきなり
▼完成図
PICマイコンは後でファームウェアのバージョンアップが可能なようにソケット経由で実装しています。
PS/2マウスで動作しました
無事動作しました。
意外に難所だったのはPS/2マウスの確保です。PS/2マウスからUSBマウスへの過渡期のUSBマウスにはUSB→PS/2の変換器が付いてましたが、この変換器を捨てずに持っていたのですが、なんとこれが使用できなかったです。webで調べるとマウス側が対応していなければならず、過渡期は対応しているマウスが多く存在したようです。現在のUSBマウスはほとんどPS/2への変換は対応していないと思われます。手元にあった3個のマウスを試しましたが全滅でした。。。
写真の赤いLED付きのでかいドングルは、押し入れから発掘した無線マウスのものです。やっとPS/2マウスを見つけました。しかし昔のはドングルが大きいなぁ。。。現在でもPS/2マウスは売ってますが、有線しか手に入らないのではないでしょうか?
▼動作中
ちゃんとしたケースに入れたいですが、現在は厚手の紙でカバーを作成したのみです。あまりこれ以上手をかける気になれないです。
では、今日はココまでです。
また何か進捗がありましたら記事を書きます。