PC-9801でGPIBを使って
機器制御するプログラム

 今でこそ、RS-232Cの規格を利用した何十キロbpsなんて通信が 実用的に使われていますし、 Ethernetを使えばもっと高速で確実な通信ができます。 でも、RS-232Cって本来は上限が9600bpsだったのです。 そんな時代にはRS-232CやEthernetのようなシリアル通信 (一本の信号線で情報を1ビットずつ順に流す通信)では 高速な情報転送は望めず、パラレル通信 (多数の信号線を並べて一斉に情報を流す通信)によって 高速化を図ろうとする流れがありました。

 パラレル通信としては、プリンタケーブルの規格として有名な セントロニクスの規格がありますが、 これは基本的にパソコンからプリンタへ向かう片道の通信です。 強引に双方向通信を行う規格が事実上標準化していますが、 これは本来は反則技ですし、逆方向だと通信速度も落ちます。

 双方向のパラレル通信として最も普及したのはGP-IBでしょう。 元々はヒューレットパッカード社の規格であったHP-IBを発展させて 標準規格(IEEE-488)としたものです。

 かつて日本国内の標準パソコンであったPC-9801にも GP-IBボード(PC-9801-06/PC-9801-19/PC-9801-29)が メーカー純正オプションとして準備され、 N88-Basicで制御することができました。 ところが、インタプリタBasicでは処理が遅いんですよね。 私は、GP-IBを使って画像処理専用機 (当時は、パソコンでまともに画像処理をするなんて処理能力的に無理で、 大型計算機は画面表示能力がまるで無いし、 専用機にパソコンや大型計算機から命令を与えて処理するのが一般的でした) を制御して人工衛星画像を扱っていたのですが、 インタプリタBasicでは画像ファイルの転送が実用的にできませんでした。

 何とかならんかと調べているうちに、GP-IBボード上にROMで載っている インタプリタBasicの下請ルーチンが、外部から簡単に呼出せる形になっていて、 これを利用すればMS-DOSの通常のプログラムで 簡単にGP-IBが使えることが判りました。

 ところが、この情報、世間では意外と知られていなかったようで、 市販の「C言語のサブルーチン集」にGP-IB制御ルーチンが収録される始末。 情報発信手段が無くて「もどかしい思い」をしていたのです。

 今なら、インターネット環境を使って簡単に公開できます。 とはいえ、今どきPC-9801専用のGP-IB使用法なんか 役に立つ人なんて誰も居ないんじゃないかと思って、 公開をしばらく躊躇していました。 でも、腐らせておくのも癪に触りますし、 公開したって誰かが迷惑するわけでもないだろうということで、 思い切って公開してしたところ、 実際にlzhファイルを取得するアクセスが、 明らかにロボットによるものを除いても月間5件を越えるという大盛況。 一体どういう需要があるのか興味のあるところです。




「PC-9801でGP-IBを使って機器制御するプログラム」の ダウンロード


2001年2月15日初稿/2004年4月21日ページ分離/2014年1月23日ホスト移転

戸田孝の雑学資料室へ戻る
Copyright © 2001-2004 by TODA, Takashi