USB 印刷サポートを用いてレガシーなパラレルポート双方向通信を行うプログラムをWinwdows Vistaで動かす

自分が昔(10年前!)に作ったプログラムを発掘したので、
そのプログラムを動かすためのメモ。
実機もないPC/AT互換機用コードを書いてちゃんと動かしていた当時の自分、やるな。


アプリケーションの中身は、
パラレルポートに接続した機器との双方向データ転送。
自前でSTROBEの制御をしていて、
(確か普通はレベルトリガなんだけど、相手の機器がエッジトリガだった)
データ受信は標準とは異なりステータスビットを使っている。
(たぶんACK, BUSY, PAPER, ONLINEかな)
元のアプリケーションでは、
LPTx相当のポート(0x0408 + x * 2)に対して直にI/Oを行っていた。
(Windowsで0x0408系に触る方法は Warmcat を参考に)



いろいろ調べた結果、どうやら敗北のようだ。
深追いすればなんとかイケるのかもしれないが、そんな勢いはもうないぞ。

方針

  • パラレルポートを叩くレガシーなプログラムがある
  • すでにパラレルポートのないパソコンを使っている
  • USBプリンタケーブルを活用して状況を打破

USB 印刷サポートの利用方法や、同等のドライバ

お役立ち情報

これを読んで白旗を挙げることにした。


確かに、データシートのベンダ固有命令のところが適当すぎる。
ここらへんもうちょっと情報があるとピン毎の制御・情報取得が出来てよいのだが…


上記ブログにあるようにパラレルポートを増設するPCカードを買うべきか。
日本では以下のページで売っている。

こんどはよくよく調査して、LPTxに直にマップしてくれる機器を買わねばなるまい。
なんとか安く手に入れてやるぜ。
giveioも入れないといけない。


しかし、他のエントリから浮きすぎた。今は反省している