琵琶湖博物館でも、Windows寡占状態が完成する1990年代後半よりも 以前に整備した小さなシステムが、いくつも現役で動いています。 そのうちの1つに、可搬型バーコードリーダーで読み取った 図書資料現況データをファイル化するシステムというのがあります。 データ転送の中継基地みたいなデバイスにリーダーを載せて、 RS-232Cでパソコンに送信するというわけです。 当然ながら、パソコン側のソフトウェアは ひたすらRS-232C制御を行うことになるわけですが、簡単な処理なので、 自作プログラム(C言語で300行未満)で実装していました。 プラットホームは、時節柄(?)PC-9801上のMS-DOSです。 ただ、データ転送単位も小さく、処理速度を追求する必要が全く無いので、 MS-DOSのVer.3とVer.5(RSDRV.SYSの呼出仕様が異なる)で 共通に動作することを目的に、DOS-Genericに記述しました。
今のところ、このシステムで特に支障は無いのですが、 最近になって、PC-9801が故障したりしたときに代替機が確保できるかとか、 他の業務を行っているWindows機で作業する方が置き場所などの都合として 得策かもしれないとかいう議論が出てくるようになってきました。 当然の結果として、問題のシステムをWindows機上で実現するには どうすれば良いかという話になります。 ところが、元々DOS-Genericに記述してあるわけですから、 PC-9801以外のMS-DOS機でも(未確認だが)動作するハズですし、 WindowsのDOS窓でも動作する可能性が高いだろうというわけで、 とりあえず試してみることになったわけです。
結果としては、PC-9821上のWindows95、そして IBM-PC互換機(FM-V)上のWindowsMeで見事に動作しました。 本来の目的であるバーコードデータ転送のプログラムは リーダーの機種に依存しますから公開しても仕方がありませんが、 試してみる段階で「そもそもRS-232Cポートを使った通信ができるかどうか」 を確かめるために作成した「単なる端末」プログラムは、 他にも色々利用価値があるでしょうし、公開することにしました。 そもそも、実行ファイルのサイズが100バイト未満なんていう 通信ソフトも珍しいと思いますし、その意味でも話題性があるかもしれません。 アーカイブはLHA形式です。
という要領になります。 但し、「RS232C.CFG」というのはファイル名で、内容がADDDRV RS232C.CFG SPEED RS232C-0 9600 B8 PN S1 NONE 通信プログラム DELDRV
という1行(Windows95のDOS窓で動作させる場合)です。 IBM-PC互換機の場合には、DEVICEHIGH=A:\WINDOWS\COMMAND\RSDRV.SYS
という要領です。MODE COM1 96,N,8,1 通信プログラム