プリンタBIOS
J-3100で対応しているプリンタ
J-3100が発売された頃はプリンタの制御コードは特にこれといってシェアを勝ち取ったものはなく、東芝系、NEC系、エプソン系がしのぎを削っている状態でした。それなんで、OSの方で色々なプリンターに対応させる必要がありました。J-3100は本来なら東芝プリンタ専用としたかったのでしょうが、(実際、パソピア1600は東芝プリンタ専用でした)J-3100では東芝プリンタの他に、NEC
PR201系プリンタ、ESC/Pプリンタに対応していました。
しかし、DOS/Vができた頃には制御コードはほぼESC/Pで固まっており、そのためDOS/VではESC/Pのみの対応となっています。
J-3100用にはNECPRT.SYSやEPSONPRT.SYSが用意されていましたが、これをVEMモードや東芝DOS/Vで使おうとすると、 イメージ印字等バイナリコードを送る際にシフトJIS→JISコード変換が働いてしまって 正常に印字する事ができませんでした。これはJ-3100用ドライバーにはJISコード変換無効という機能があり、アプリ側でバイナリコードを送る前には変換無効を指定していたのですが、DOS/Vではバイナリコードかテキストかをドライバー側で判断して切り替える必要があったためです。
そのため、VGAモードでNECや東芝プリンターを使う時には、このサイトで公開しているプリンタードライバーを組み込む必要があります。
しかし、DOS/Vができた頃には制御コードはほぼESC/Pで固まっており、そのためDOS/VではESC/Pのみの対応となっています。
J-3100用にはNECPRT.SYSやEPSONPRT.SYSが用意されていましたが、これをVEMモードや東芝DOS/Vで使おうとすると、 イメージ印字等バイナリコードを送る際にシフトJIS→JISコード変換が働いてしまって 正常に印字する事ができませんでした。これはJ-3100用ドライバーにはJISコード変換無効という機能があり、アプリ側でバイナリコードを送る前には変換無効を指定していたのですが、DOS/Vではバイナリコードかテキストかをドライバー側で判断して切り替える必要があったためです。
そのため、VGAモードでNECや東芝プリンターを使う時には、このサイトで公開しているプリンタードライバーを組み込む必要があります。
プリンタ割り込み (INT 17H)
本来のプリンタBIOSでは、AH00、AH01、AH02、のみが対応しており、その他の機能は J-3100用ドライバーが独自に拡張したものです。
拡張機能を使うためには、DCGAモードではJ-3100用のプリンタドライバを、 VGAモードでは、このサイトで公開しているプリンタードライバーを組み込む必要があります。
以下、拡張機能には☆マークがついています。 ☆マークのついた機能は、DOS/Vに通常含まれるプリンタドライバでは使う事ができません。
以下、拡張機能には☆マークがついています。 ☆マークのついた機能は、DOS/Vに通常含まれるプリンタドライバでは使う事ができません。
AH=00H 1バイト印字
ALレジスタにセットしたコードを、DXレジスタの示すプリンタ(通常は0)に出力します。エラーコードはAHレジスタに返ります。また、シフトJISコードを受信すると、自動的に [漢字ON] JISコード [漢字OFF] に変換します。
DOS/V用プリンタードライバー集では、イメージ印字のコマンドや、外字登録コマンド、ダウンロード文字定義コマンドなど直接16進数を扱うコマンドがきたら、データーとして必要なバイト数分だけはJISコードに変換をしません。したがって、DOS/V版の一太郎Dashなどで罫線を印字しても正常に印字されます。
ALレジスタにセットしたコードを、DXレジスタの示すプリンタ(通常は0)に出力します。エラーコードはAHレジスタに返ります。また、シフトJISコードを受信すると、自動的に [漢字ON] JISコード [漢字OFF] に変換します。
DOS/V用プリンタードライバー集では、イメージ印字のコマンドや、外字登録コマンド、ダウンロード文字定義コマンドなど直接16進数を扱うコマンドがきたら、データーとして必要なバイト数分だけはJISコードに変換をしません。したがって、DOS/V版の一太郎Dashなどで罫線を印字しても正常に印字されます。
例) NEC系のイメージ印字コマンドをNPRINTER.SYSで送る場合 ESC J n1 n2 n3 n4 データー(n1n2n3n4バイト) ↑この部分が透過モードになります。 |
どのコマンドが来たらどれだけ透過にするかは、プリンターのメーカーごとに異なりますが、その辺は自動的に判断します。
ただし、LIPS-IIIとESC/Pageはコマンドが多すぎるため、透過の判断をしません。レーザープリンターでイメージ印字をする場合、AH=85Hでまず漢字変換を無効にしてから送ってください。
ただし、LIPS-IIIとESC/Pageはコマンドが多すぎるため、透過の判断をしません。レーザープリンターでイメージ印字をする場合、AH=85Hでまず漢字変換を無効にしてから送ってください。
入力 | 出力 |
---|---|
AH 00H AL 出力する文字 DX 装置番号 |
AH ステータス |
AH=01H 初期化 プリンターに初期化信号を送ります。
AH=02H ステータスチェック プリンターの現在の状態をAHレジスタに返します。
|
![]() |
AH=03H 文字列プリント☆
ES:BXレジスタの示す文字列を、CXレジスタに入れた数だけ、DXレジスタの示すプリンタに出力します。このモードでは、漢字変換は行われません。ただし、「じぇいさん」動作中は、「じぇいさん」内の独自ルーチンで漢字変換が行われます。
このページの先頭へ
ES:BXレジスタの示す文字列を、CXレジスタに入れた数だけ、DXレジスタの示すプリンタに出力します。このモードでは、漢字変換は行われません。ただし、「じぇいさん」動作中は、「じぇいさん」内の独自ルーチンで漢字変換が行われます。
入力 | 出力 |
---|---|
AH 03H CX 文字列の長さ ES:BX 文字列 DX 装置番号 |
AH ステータス |
AH=84H 1バイト印字☆
ALレジスタにセットしたコードを、DXレジスタの示すプリンタ(通常は0)に出力します。エラーコードはAHレジスタに返ります。JISコードには変換しません。セットするレジスタは、AH=0と同じです。
ALレジスタにセットしたコードを、DXレジスタの示すプリンタ(通常は0)に出力します。エラーコードはAHレジスタに返ります。JISコードには変換しません。セットするレジスタは、AH=0と同じです。
AH=85H 漢字変換指定☆
ALレジスタに漢字変換の有効/無効を指定します。0で有効、-1で無効になります。ハードコピードライバーもこの機能を利用しています。
ALレジスタに漢字変換の有効/無効を指定します。0で有効、-1で無効になります。ハードコピードライバーもこの機能を利用しています。
入力 | 出力 |
---|---|
AH 85H AL 0 漢字変換有効 FFH 漢字変換無効 |
なし |
なお、ナツメ社のJ-3100ハンドブックに記載されている、AH=F0HとAH=F1Hには対応していません。J-3100のテクニカルマニュアルにも記載されていないので、おそらくAH=84HとAH=85Hの間違いではないかと思います。
AH=10H プリンタードライバーのエントリーアドレスを求める☆
プリンタードライバーのエントリーアドレスを返します。これは、このサイトで公開しているDOS/V用プリンタードライバー集専用の機能です。
ALレジスターに20Hが返ることで、この機能が有効であることが示します。また、DX:BXレジスタにエントリーアドレス、ドライバー名、バージョン等が返ってきます。この機能は、PRDRV [ON OFF]で利用しています。
プリンタードライバーのエントリーアドレスを返します。これは、このサイトで公開しているDOS/V用プリンタードライバー集専用の機能です。
ALレジスターに20Hが返ることで、この機能が有効であることが示します。また、DX:BXレジスタにエントリーアドレス、ドライバー名、バージョン等が返ってきます。この機能は、PRDRV [ON OFF]で利用しています。
入力 | 出力 |
---|---|
AH 10H DX 装置番号 |
AL=20H この機能のサポートあり AL≠20H この機能のサポートなし (AL=20Hの場合) DX:BX プリンタードライバーのエントリーアドレス DX:BX+3 ドライバー名 DX:BX+11 バージョン DX:BX+16 一時停止フラグ (0:稼働中 1:停止中) |
ハードコピー割り込み (INT 5H)
特に設定する必要のあるレジスタはありません。ハードコピーを実行したい所で、INT
5を呼んで下さい。ただし、プリンターのタイムアウトなどの監視はしていませんので、あらかじめINT
5を呼び出す前にプリンターのレディをチェックする必要があります。
ハードコピー実行後、プリンターは以下の設定になります。
・両方向印字モード
・改行単位=1/6インチ
ハードコピー実行後、プリンターは以下の設定になります。
・両方向印字モード
・改行単位=1/6インチ
参考文献
『J-3100解析ハンドブック』 1989年 土屋勝著 ナツメ社
『DOS/Vテクニカル・リファレンス・マニュアル』 1993年 芦達剛著 ソフトバンク
『J-3100シリーズ・テクニカルマニュアル』 1994年 南部武彦著 ソフトバンク
『ATOK読本』 1994年 山田祥平 ジャストシステム
『東芝パソコンハンドブック94年版』 平成6年3月1日
『J-3100解析ハンドブック』 1989年 土屋勝著 ナツメ社
『DOS/Vテクニカル・リファレンス・マニュアル』 1993年 芦達剛著 ソフトバンク
『J-3100シリーズ・テクニカルマニュアル』 1994年 南部武彦著 ソフトバンク
『ATOK読本』 1994年 山田祥平 ジャストシステム
『東芝パソコンハンドブック94年版』 平成6年3月1日

広告