2026年1月27日火曜日

FM77AV用PS/2キーボード変換器のプチ改良

 FM77AV用PS/2キーボード変換器をAV2とSX両用に改良しました


以前、FM77AV用のPS/2キーボード変換器を作成しました。
「FM77AVにPS/2キーボードを接続する変換器の基板化(2019年7月31日)」
https://flexonsbd.blogspot.com/2019/07/fm77avps2.html
「FM77AV用PS/2キーボード変換器の不具合を修正(2020年1月21日)」
https://flexonsbd.blogspot.com/2020/01/fm77avps2.html

作成した変換器を用いてFM77AV2とFM77AV40SXのそれぞれにPS/2キーボードを接続して使用してきました。SX用の純正キーボードも所有しているのですが、それは大切に保管してあり、もっぱら自作した変換器を用いてPS/2キーボードを使用してきました。
(純正キーボードは矢印キーの位置が遠くて私にとっては使いにくい、、、)

最近はFM-11が2台も増えたこともあり、FM77AV2、FM77AV40SX、FM-11のそれぞれのキーボードと、さらに必要に応じてFM-7までもが机上に現れるので、ただでさえ狭い机の周辺がキーボードで埋まってしまってどうにもならない状態になってしまいました。

ということで、少しでもキーボードの数を減らすために、まずAV2とSXのキーボードを兼用できないかと考えていました。この2機種はコネクタの形が異なるだけでキーボード自体は同じですので、変換器の中で切り替えれば良いはずです。

そんな時に4回路2接点のスライドスイッチが格安で入手できたので、それを契機に実際に製作してみることにしました。

これが格安で入手したスライドスイッチです。何と10個で110円でした!


スライドスイッチ


しかし、ピン配置もピンの太さも標準的なものではないので、KiCad用のフットプリントを自作する必要がありました。
このスライドスイッチとAV2用のRJ9コネクタのフットプリントを現物のサイズを測定しながら作成したのですが、実際にはなかなかうまく合わず、基板を3回も作り直すことになりました。。。

回路図を示します。
以前のものにスライドスイッチを追加しただけです。
tiny85のプログラムも以前のものと同じですので、プログラムを見たい方は上記のブログをご覧ください。


回路図


以前製作した変換器はタカチのSW-50に収まるように作りましたので、今回も無理やりですが何とか同じサイズに収めることができました。


完成したものがこれです。

完成した両用変換器


画像左端がPS/2キーボードコネクタ、上端がFM77AV2用のRJ9コネクタ、下端がFM77AV40SX用のS端子コネクタ、そして右端が切り替えスイッチです。

上記しましたように、基板はタカチのSW-50に収まるサイズにしてあるのですが、側面に4つの取付穴をあける必要がありますので、手作業できれいに仕上げられる自信がないので今回は息子に3Dプリンタでケースを作成してもらいました。

これができあがったケースに収めた様子です。画像は白色ですが黒色でも作ってもらいました。


ケースに収めた様子


現物合わせで作ってもらったので、ぴったり収まって固定する必要もありませんでした。

使用している様子です。
左のカールコードがAV2用で受話器用のクロスケーブルです。右がSX用でS端子ケーブルです。


使用している様子


動作中でもSXとAV2を切り替えることができます。
(しかし、今考えるともう少し大きなケースにして、3つのコネクタを一面に集めた方がすっきりしたかも、、、)

これでとりあえずキーボードの数を一つ減らすことができ、机の周りが多少ですがすっきりしました。


2026年1月24日土曜日

DellのタワーデスクトップECT1250にHDDを増設する

 DellのタワーデスクトップECT1250にHDDを増設しました


今まで使用してきた富士通のデスクトップがWindows11に対応していないということで、やむを得ず更新することにしました。

選択したのはDellのデスクトップで、拡張性を考えて筐体も電源容量も大きめのECT1250にしました。今までドライブDとして使用していた3TBのHDDを内蔵する予定でした。

しかし届いたので早速ケースを開けてみましたら、何とHDDを増設するためのトレーのようなものがありませんので、このままでは取り付けできそうもありません。スペースはガラガラといえるほど空いているのですが。。。


筐体内部はガラガラ

ネットで検索してみると増設したいという書き込みが結構ありまして、特に価格.COM中のECT1250の書き込みが大変参考になりました。それによりますと、ドライブはタイロックなどで無理やり固定はできるようですが、電源ケーブルがコネクタの大きさもピン配置も独特で市販の一般品では加工が必要だとのことです。

今まで使用していた富士通のデスクトップESPRIMO D583/HXでは、HDDを増設するためにマザーボードの加工まで行いましたが、今回はあまり手間をかけたくはありません。

「ESPRIMO D583/HXのマザーボードにSATAコネクタを取り付ける(2022年8月24日)」
https://www.blogger.com/blog/post/edit/1662007451717538019/2004678106518154857

増設用と思われる電源コネクタとSATAコネクタはありますし、購入時のオプションにHDDがありましたので増設できるはずです。価格.COMにも純正トレーとケーブルのセットを購入できたとの書き込みがありましたので、Dellのサイトの中を探し回った挙句にようやくオプションの購入のページを見つけて注文することができました。

届いたものがこれです。HDD取り付け用のネジまで付属していました。


届いたトレーとケーブル


HDD取り付け後

これにHDDを取り付けて筐体に収めれば良いはずです。価格.COMには5分で完了と書いてありましたが、一体どこに取り付ければ良いのかさっぱり分かりません、、、

あれこれと悩んだ挙句、ようやく取り付けるべき箇所を見つけましたが、何と、メクラ蓋のようになっている部品を取り外して、そこに収めるようになっているのでした。。。


これを外して取り付ける


何とか無事に取り付けることができ、今までは臨時的に外付けUSBの先に接続して使用していた3TBのHDDを内蔵できて快適に使用できております。
(しかし、今のSSDは本当に小さいですね。最初に筐体を開けてみたときにはSSDを見つけられず、取り付け忘れかと思ってしまったぐらいです、、、)


取り付け後の状態


以上、DellのデスクトップにHDDを内蔵する際に、パーツの入手と取り付けに少し苦労したので、同様なことで困っている方に多少でも参考になればということで報告しました。


2026年1月22日木曜日

FM-11にPS/2キーボードを接続するための変換器の作成

 FM-11用のPS/2キーボード変換器を作成してみました

【1月23日訂正】末尾に訂正があります。

昨年、FM-11AD2(キーボード、ソフト、マニュアル付き)を入手しまして、拡張メモリ、FT-245高速通信カード、RTCカードなどを作成してきました。

その後、さらに実験用のつもりでFM-11AD2の本体のみを追加で入手しました。これは不動品でしたがMPU(68B09)を交換しただけで正常に動作するようになりました。

これは本体のみでキーボードがありませんので、PS/2キーボードを接続するための変換器の作成を始めました。
「FM-11本体インタフェース仕様」によりますと、キーボード用の入力端子はDin8ピンで、
1.CLOCK           (キーボード→本体)
2.DATA              (キーボード→本体)
3.KRESET        (本体→キーボード)
4.GND
5.VCC
6.INSLEDON    (本体→キーボード)
7.STOP              (キーボード→本体)
8.(NC)
とのことです。


純正キーボード


シリアルコードの確認

以前、FM77AV用のPS/2キーボード変換器を作成したことがあります。
「FM77AVにPS/2キーボードを接続する変換器の基板化(2019年7月31日)」
「FM77AV用PS/2キーボード変換器の不具合を修正(2020年1月21日)」

その際にはCLOCK出力やRESET入力というものはありませんでした。しかし、違いがあるにしても何とかなるだろうと甘く考えて始めました。
まず純正のキーボードと本体の間に挿入する画像のようなアダプタを作成し、オシロスコープとロジックアナライザでキーボードから本体に送られているCLOCKとDATA信号を観察しました。


測定用アダプタ



その結果、以下のようになっていることを確認しました。

[1]起動(リセット)時にまずキーボードが接続されていることを認識する。
起動(リセット)直後に本体からキーボードにリセット信号が送られ、その後の数msの間にキーボードから本体に’P’のブレークコードを送り、それが本体に受信されることでキーボードが正常に接続されていると認識する。
[2]キーボードから本体へクロックに同期してキーコードが9ビットのシリアルデータで送信される。
[3]シリアルデータはアスキーコード的な8ビットコードで、それを反転したものに第9ビットとして、通常キーでは0、特殊キーでは1を追加した形式。
[4]送信手順
(1)最初に20us幅のスタートビット(アクティブH、CLOCKとDATAも同様)
(2)その後26us間隔で14us幅のクロックが8個続き、それに同期してデータバイトのLSBからMSBの順に8ビットが送られる。
(3)最後に130us幅のクロックに同期して第9ビットが送られる。
(4)クロック終了後に約77usの間第9ビットが続き、その後0になって終了。
(以上のクロックやデータ幅はおよその値で結構変化します。)

プログラムの作成

これらの結果をもとにしてプログラムを作成しました。
回路は以前のFM77AV用の変換回路を流用し、CLOCKとSTOPの2ビットのみを追加した回路としましたので、PS/2キーボードからのキーコードの読み込みはFM77AV用のものをそのまま使うことができました。
しかし、使用したATtiny85ではピン数が足りず、リセット信号をどうするか悩みましたが、とりあえずtiny85のリセット端子に直結して本体と同時にリセットするようにしてみましたら、リセット後の数ms後に’P'のブレークコードを送ることでキーボードとして無事に認識されました。



試作変換回路


FM-11とFM77AVとの違い

プログラムの基本はFM77AV用と同様で、PS/2キーボードから入力されたコードでPS/2キーボードのスキャンコード表を検索して一致するコードの位置を見つけ、FM-11用のキーコード表の対応する位置のコードを取り出すというものです。
FM77AVでは40ビットのシリアルデータのうちの4バイトを表にしていましたが、FM-11ではアスキーコードが基本なので各コードそれぞれ1バイトの表を用意しました。
(ただし、STOPキーのみは扱いが別になっており、シリアルデータとして送信されるのではなく、Din8ピンの7番ピンを直接Lowに落とすことで本体に伝えています。)

これで、通常のキーやファンクションキーについては正常に入力ができるようになったのですが、シフトキーやコントロールキーについてはうまくいきません。
かなり悩みましたが、FM-11とFM77AVとではキーボードの役割が異なっていることにようやく気付きました。
FM77AVでのキーボードの役割は全てのキーの40ビットのシリアルデータを本体に送り込むだけで、シフトキーやコントロールキーの処理は本体側で行っているのに対して、FM-11ではキーボード内で必要な処理を行った結果のアスキー的なコードを本体に送っているのです。(アスキー的なコードをキーボードが送っていることからすぐに気付くべきでしたが、、、結構な時間を浪費することになってしまいました。)

ということで、シフトキーやコントロールキーが押された時の処理も必要になりましたのでNORMAL, SHIFT, CONTRLの3バイトの表に拡張することで、主なキーについては正常に入力することができました。

まだ対応できていないキーなど

ほとんどのキーについては正常に入力できるようになりましたが、現在のところきちんと対応できていないキーとしてカナキーとGRAPHキーの2つがあります。
これらのキーについては、自分的にはまず使用することがないので対応する必要性を感じないので、とりあえずこのままで良いかなとも思っています。。。

もう一つですが、現在のところオートリピートに対応できていません。
以前発表した、FM77AV用のUSBキーボード変換器でも同様なのですが、オートリピートに対応する手法を私が分かっていないためです。この機能は必要なので何とかしたいのですが、、、
【1月23日訂正】私の勘違いがありましたのでプログラムを修正しました。その結果、オートリピートが実現できました。

最後に

しばらく使用しながら不具合の有無を確認し、その間に回路のプリント基板を作成し、最終的に完成しましたら回路図とプログラムを公開する予定です。