PC-9801Vシリーズに
PC-IN502を
MS-DOSレベルで接続する

國學院大學文学部(当時) 杉原 秀圭
まず……

 前回の「零壱症候群第2号」で、寺田氏の『FM-11とPC-IN502のお話』という記事を紹介いたしました。ここにいたしますところのお話は、言うなれば『PC-9801とPC-IN502のお話』であります。プログラムの主旨等も寺田氏のそれとほぼ同一であります。

 

なんでわざわざ

 FM-11ならともかく、なんでわざわざPC-98用にイメージ取り込み用のプログラムを作らねばならなかったのか。98用であれば、「Z'S STAFF」,「アートマスター」,「花子」,「ART V」,etc. と、各種IN502対応のグラフィックツールが揃っているのに………。答えを先に言いますと、1:既成ソフトでは読み取り範囲が狭く、せいぜいでB6サイズであること。2:読み取ったイメージを横にして表示できないこと。などの制約があるからです。このためB5版サイズのイラスト等を取り込もうとする場合は、一旦縮小コピーをしてかかるか、部分的に読みとってから画面上で圧縮した後つなぎ合わせるかする必要がありました。今回のプログラムはこれを回避するためのものです。(実のところは某T氏の発禁物「裏○○○」を取り込んで編集するためだったのですが……)

 

機能概要

 IN502から送られてきたイメージ情報を横イメージになるようにグラフィック画面上に表示します。読み取り線密度はスキャナ側で任意に設定できますが、180が常値です。データ圧縮は使用していません。

 プログラムではスキャナから送られてきた1280ドットの1ライン分のイメージ情報の末尾80ドット(10バイト)を切り落とし、これを3分の1に圧縮して400ドットのグラフィックデータとしています。さらにこの1ラインのデータを3回分ORを取って画面上の縦1ライン分のグラフィックデータとして表示しています(グラフィックチャージャのRMW[リードモディファイライト]モード使用)。

 読み取り中は黒の部分が白でリアルタイムに表示されていき、読み取りが終了したのち画面を反転します(RMWモードの関係上)。

 

問題点

 遅い!! こればかりはどうにもなりませんでした。寺田氏の話からこの噂は耳にしていたためオールアセンブラで組んだのですが、その効果にも限界がありました。B5サイズの原稿を読み取るのに7分以上かかってしまいます。寺田氏のプログラムはBASIC+6809アセンブラで5分程度なのに……。結局原因はボーレイトでした(PC-9801=9600bps,FM-11=19200pbs)。これを回避するには圧縮モードを使用するか、パラレルインタフェースを作るかしないとどうにもならないと思います(最初から圧縮モードに対応していれば良かったのですが………面倒臭くて)。

 

ソースについて

 プログラムはベタです。これといって何のテクニックも使用していません。また、リストがわかりやすいように、若干修正を加えました。i8251制御まわりは、半分暗号のようなものですが、これもごく一般的な手法を採っています。間違ってもプログラムのお手本になるようなリストではないので、技術的な参考にはなさらないように。


ソースリスト