PC-9800シリーズ
また一年ぐらい空いてしまいましたが何もやってなかったわけではありません!。今回はレトロパソコンにして僕のパソコンの原点であるPC-98のお話です。PC-98は90年代に一世を風靡したNECのパソコンです。現在ではサポート終了でメルカリ、ヤフオクなどの中古市場で取引されておりジワジワ値を上げています。まぁこれを読んでいる人には説明は不要でしょう。僕の最初の愛機はPC-9821Xa/C10W(Pen90MHz)で86音源、PCI-SCSIもありました。DOS時代からWin時代、知識の礎となったPCです。高校入学のお祝いに親から買ってもらった逸品でした。100万程度した気がします。現在は行方不明です(惜しい…)
ところで、このPC-98シリーズのキーボードは結構特殊でマウスはMiniDIN9Pinバスマウスという独自規格。キーボードもMiniDIN8Pin接続の専用キーボードです。ほとんどのPC-98にはPS/2、USBポート搭載機はなく、後期機体(9821V166,V200等)にUSBポートがあってもDOS上では動作しないため、専用キーボートとバスマウスは必須なものとなっているのです。稼働部品で20年以上の骨とう品の為、毎年値が上がり続けています
上の98専門店ではマウスは8000-9000円、キーボードも9000円程度です。現代のキーボードやマウスが安いと1000円程度で買えるのを考えると、まさに破格(高い)です。
PC-9821V166の購入とセットアップ
実機はないにしても、昔のPC98の大量のフロッピーは残っていてデータのリカバリーをしたいと思ってました。オークションやメルカリでPC-9821V166青箱を安くゲットしましたが、セットアップには、なかなか苦労しました。FDDエミュレータ、SSD化、Win2K、Win98、DOS6インストールをして安定させるまで一か月ぐらいかかりました。でも若いときに覚えたことってなかなか覚えているもんですねw。
で、マウスもオークションで買ったものなんですが、まぁ…
バスマウス(ボールマウス?)ってこんなクソみたいな動きでしたっけ?
15年以上触っていなかったんで忘れましたが、とっても動かしにくいです。1万だすならPS/2、USBマウスの変換器を探しましたが
同じくらいの値段しますw。特に急いでもないので自作の道がないかネットを探してみます。
GitHubで作ってる方を発見しました。USBで作るのが最終目的ですが、とりあえずPS/2変換で作ってみてバスマウスの方式や挙動を確認したいと思います。
Arduino NanoでPS/2->バスマウス変換器の作成
上のサイト、おそらくGitHubで公開されているps2busmouse98の作者の方と一緒と思いますが、詳細を書いてくださっているサイトがありました。ほんと、こういう情報は年を追うごとに無くなっているのでありがたいです。感謝です。
[2024-03]すみません。ツイッターで連絡いただきまして、ps2busmouse98の製作者Takahiro Yamada(@tyama50)さんとsuwa-koubou様は別の方だったようで大変失礼いたしました。
必要なものを買うんですが、MiniDin9pinのストレートケーブルがナカナカ売ってません。
AliExpressで上のを購入しました。部品点数を減らすためオスコネクタを変換器に直結でもいいと思います。
※図はコネクタ資料室より引用させていただきました
上のピンアサインをみながら
1 2 3 4 5 6 7 8 9 10 11 |
//PS/2側のピンアサイン #define PS2DATA A4 #define PS2CLK A5 //バスマウス側のピンアサイン #define XA PD2 #define XB PD3 #define YA PD4 #define YB PD5 #define LB PD6 #define RB PD7 |
この定義に沿って結線します。5V、GNDも忘れずに!。電源はPC-98側から供給されますので必要なしです。
完成とコード
最初はps2busmouse98まんまでやってみましたが、アマゾンで買ったエレコムPS/2マウスは動きませんでした。でも家にあったDELLのPS/2マウスでは動きました。動くものと動かないものがあるようです。動作を追ってみると、どうやらPS/2マウスのデータ受信がうまくいってないようです。98側への信号の送出は問題なく行われています。おそらくPS/2のデータ処理に問題があるようです。
原因を追究しようと思いましたが、ArduinoでのPS/2マウスのデータ処理はライブラリ化されて完成されています。
サンプルコードでエレコムPS/2マウスを試してみるとデータが受信できているようです。というわけで、このライブラリを利用してPS/2側のデータ処理を再実装します。以下のサイトが参考となりました。
実際のコードです。98への送信はps2busmouse98のコードを移植しています。ここは自分で調査するのは、しんどそうだったので感謝です。
GitHubにアップしましたのでそちらを見てください
このコードで、手持ちのPS/2マウス(といっても3つw)は順調に動いています。純正マウスより快適に動きます。とくに上のエレコムのPS/2マウスは現在でも販売しているので一つ作っておくと後々便利と思います。手間もかかりますが3000円ぐらいで作れるんでは?
次はPS/2キーボード->98キーボードを紹介する予定です。ブログ追加しました