2026年2月18日水曜日

必要に迫られて自作したツールソフトの紹介(第5回)

 最近修正したソフトなどをいくつか紹介します


[1]クロスアセンブラ

以前公開した6809用のクロスアセンブラですが、使っていただいた方からcmpa #'z+1のアセンブル結果がCMPA #'Z+1のバイナリになってしまうというご指摘を受けました。

私はソースを常に大文字で書いていたので全く気付いていませんでした。ソースが小文字の場合は大文字に変換するようにプログラムしてあったのですが、大文字にすべきでない箇所も変換してしまっていました。

ということで、それを修正したクロスアセンブラ4種を公開します。他のMPU用のものにも同様の修正を加えました。

(1)6809AsmWin.exe Ver2.5
(2)6800AsmWin.exe Ver2.3
(3)6801AsmWin.exe Ver2.0
(4)6303AsmWin.exe Ver2.0

例として6809AsmWin.exeの動作画面を示します


6809AsmWin.exe


[2]FT-245カード他を使用する通信ソフト

FM-7, FM77, FM-11機に装着されたFT245通信カード、オプションまたは標準の8251A使用のCOMカード、68B50使用の拡張COMカードの3通信経路を使用して、FM機とWindows機との間で2D, 2DD, 2HDディスクイメージを転送するソフトです。

(1)Windows側

            ft245drv.exe Ver2.5

以前のものに通信経路を追加しただけでなく、対応機種にFM-11を加え、扱えるディスクにも2HDを追加しました。

動作画面です

Windows機上でのft245drv.exe

(2)FM-7/77/11側

   F-Basicでのメインプログラムと機械語サブルーチンのセットです

        1.FT245F, FTDRV22F    FT-245カード用です
        2.FT245C, FTDRV22C    オプションカードまたは標準のCOM(8251A使用) 用です       
        3.FT245E, FTDRV22E    68B50使用のExCOMカード用です

最初は上記3つの通信経路用を一つのプログラムにまとめて、動作中に切り替えることができるように作成したのですが、それぞれ専用のプログラムの方が使い勝手が良いということで別々のプログラムも作成しました。

  4.FT245A, FTDRV22A 上記1~3を統一したプログラムです

例としてFT245Aの動作画面を示します


FM機上でのFM245A

なお、転送速度ですが

FM機からWindows機への読み込みでは、およその値で
 2Dでは1が1分、2,3が5分、2HDでは1が2分、2,3が13分20秒
Windows機からFM機への書き込みでは、およその値で
 2Dでは1が1分、2,3が5分、2HDでは1が11分30秒、2,3が13分20秒
で、現在のバージョンでは2HDの書き込みに時間がかかりすぎています。


(3)動作確認した機種、F-BASICのバージョン、メディア

        ・FM-7、FM77AV2、FM77AV40SX
        ・F-BASIC V3.0、V3.3、V3.4
        ・2D、2DD、2HDディスク

以上紹介したソフトをOneDriveに置いておきますので、使用した結果、不都合が生じても私は責任は負わないということを承知していただいたうえで自由にご使用ください。


2026年2月1日日曜日

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

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

先日報告しましたFM-11用PS/2キーボード変換器ですが、https://www.blogger.com/blog/post/edit/1662007451717538019/3111393154708868825

オートリピート機能も実現できたということでしばらく使用してみました。回路的には問題がなく、また、プログラムの方もGRAPHキーやカナキーなどの特殊キーの入力に純正のキーボードとの多少の違いがあったりしますが頻繁に使用するものでもなく、その他特に大きな不具合もないので、一応、これで完成ということにしようと思います。

純正キーボードとの機能の違いですが、PS/2キーボードにはINSモードを示すLEDがありませんので、当然、本体からのINSLEDON信号は無視されています。


変換器が完成


基板が届きましたので早速組み立ててみました。

基板と完成品

FM77AV用変換器と同様、タカチのケースSW-50にちょうど収まるサイズにしてありますが、試しに同一サイズの有り合わせのケースに収めてみたらFM-11側のケーブル用のコネクタがはみ出てしまいました。

ケースに収めてみた


8ピンのピンヘッダとコネクタを使わなければケースに収まるはずということで、直接ケーブルを基板にハンダ付けしたものも作ってみました。

ケーブルを直結


回路図です


FM77AV用PS/2キーボード変換器とほとんど同じですが、CLOCK信号を追加したのとKRESET信号をATtiny85のRESET端子に直結している点が異なります。本体へは8芯ケーブルで接続します。

回路図

基板を起こしましたが、手配線でも十分作成できるほどの簡単な回路です。


プログラムリストです


メインプログラムcnvps2fm.cを示します。

【2月12日修正】先頭のコメント中の一部を修正しました。
(PORTBのoutputにbit3を追加、special keys中のBREAKキーの機能の訂正)


この他にヘッダファイルcnvps2fm.hとスキャンコード変換テーブルscancodes_fm11.hがあればビルドできます。私は以前のFM77AV用変換器のコードを変更しながら作成しましたので、MPLAB X IDE (v6.25) 上の XC8 (v3.10) でビルドしました。


最後に


以上の3つのソースファイルとビルドで作成されたHEXファイルをOneDriveに上げておきますので、そんなことはないとは思いますが商用使用は禁止という条件を守っていただく限り自由に使用してくださって結構です。
HEXファイルをATtiny85に書き込んでFuse bitを正しく設定すれば動作します。ただし、所詮アマチュアの製作品ですので使用した結果、FM-11本体やキーボードに不具合が生じたとしても責任は負いませんのであらかじめご承知おきください。