このエントリーをはてなブックマークに追加
スポンサーリンク

コミニュケーションBIOS

コミュニケーションBIOSとは

RS-232Cポートを使って通信を行うためのBIOSで、INT 14Hで発行します。RS-232Cポートは「シリアルポート」や「COMポート」とも呼ばれますが、この章では以下COMポートと呼ぶ事にします。
同期方式 調歩同期方式(非同期)
キャラクター長 7ビット/8ビット
ストップビット 1ビット/2ビット
スタートビット 1ビット
通信方式 半二重/全二重 (注)
通信速度 110/150/300/600/
1200/2400/4800/9600
パリティーチェック 偶数/奇数/なし
パリティビット 0ビット/1ビット
(注)半二重はDCGAのみです。

J-3100本体のCOMポートは調歩同期方式で最大9600BPSです。そのため、同期通信モデムを外付けした場合そのままではモデム-モデム間の通信速度にモデム-本体間の転送がついていきません。なので、J-3100では別途「同期通信用内蔵カード」を増設する必要があります。

現在のWindowsXPなどで使われているPCに同期通信用モデムを接続して同期通信を行うシステムもありますが、現在のPCのCOMポートは十分高速(115200BPS)なため、同期通信を行ったとしてもモデム-本体間の転送速度がモデム-モデム間の転送速度についてこないという事はないです。

J-3100のコミニュケーションBIOSは、標準のPC/AT互換機のものにいくつかのファンクションが拡張されています。

コミュニケーション割り込み INT 14H

J-3100で独自に拡張したファンクションは、DCGAでしか使えません。その場合、「これはDCGA専用です」と注釈を入れています。
AH=00H 初期設定
入力 出力
AH 00H
AL 初期設定パラメーター
DX チャンネル番号
AH ラインステータス
AL モデムステータス
初期設定パラメーター
ALレジスタの8ビットを4つのブロックに分けて設定します。



ボーレート
 000 110bps
 001 150bps
 010 300bps
 011 600bps
 100 1200bps
 101 2400bps
 110 4800bps
 111 9600bps

パリティービット
 00 なし
 10 なし
 01 奇数
 11 偶数

ストップビット
 0 1ビット
 1 2ビット

データー長
 10 7ビット
 11 8ビット

ラインステータス
AHレジスターの8ビットがそれぞれ別の意味があります。
ビット 意味
7 TMO(タイムアウト)
6 TEMT(送信用シフトレジスタ空=送信完了)
5 THRE(送信完了)
4 RBI(ブレーク信号検出)
3 RFE(フレーミングエラー)
2 RPE(パリティーエラー)
1 ROE(受信バッファオーバーラン)
0 RDR(受信データー有り)
モデムステータス
ALレジスターの8ビットがそれぞれ別の意味があります
ビット 意味
7 CD(受信キャリア検出)
6 CI(被呼表示)
5 DSR(データセットレディ)
4 CTS(送信可)
3 DCD(CD信号が変化した)
2 DCI(CI信号が変化した)
1 DDSR(DSR信号が変化した)
0 DCTS(CTS信号が変化した)
AH=01H データ送信
入力 出力
AH 01H
AL 送信データ
DX チャンネル番号
AH ラインステータス
AH=02H データ受信
入力 出力
AH 02H
DX チャンネル番号
AH ラインステータス
AL 受信データ
AH=03H ステータスリード
入力 出力
AH 03H
DX チャンネル番号
AH ラインステータス
AL モデムステータス
ラインステータス、モデムステータスは、AH=00と同じです。

AH=04H 割り込み使用コマンド
入力 出力
AH 04H
AL 割り込みの種類
CX:BX 割り込みジャンプ先
DX チャンネル番号
AH エラーステータス
 ビット7
  0:正常
  1:未接続チャンネルが指定された
このファンクションはDCGA専用です。割り込みの種類で指定した状態が発生した時に、CX:BXで指定したルーチンに割り込み処理を行います。終了はRTIで行います。エラーが発生した時に割り込み処理が効くので重宝しましたが、残念ながらDCGA専用です。

割り込みの種類
 ビット0 : データ受信割り込み
 ビット1 : 送信可割り込み
 ビット2 : ラインステータス割り込み(受信バッファオーバーラン、パリティエラー、フレーミングエラー、ブレーク信号受信)
 ビット3 : モデムステータスの変化による割り込み

AH=05H EOIセット
入力 出力
AH 05H
DX チャンネル番号
AH エラーステータス
 ビット7
  0:正常
  1:未接続チャンネルが指定された
このファンクションはDCGA専用です。割り込みコントローラーをEOIにします。本来は割り込みコントローラーのI/Oポートに対してコマンドを送出しなければならないところを、BIOSでやってくれるという便利な機能ですが、残念ながらDCGA専用です。

AH=06H 割り込み禁止
入力 出力
AH 06H
DX チャンネル番号
AH エラーステータス
 ビット7
  0:正常
  1:未接続チャンネルが指定された
このファンクションはDCGA専用です。AH=04Hで設定した割り込みを禁止にします。
AH=80H 半二重セット
入力 出力
AH 80H
DX チャンネル番号
AH エラーステータス
 ビット7
  0:正常
  1:未接続チャンネルが指定された
このファンクションはDCGA専用です。
AH=81H 全二重セット
入力 出力
AH 81H
DX チャンネル番号
AH エラーステータス
 ビット7
  0:正常
  1:未接続チャンネルが指定された
このファンクションはDCGA専用です。
AH=82H ブレーク信号送出
入力 出力
AH 82H
AL 通信状態
DX チャンネル番号
AH エラーステータス
 ビット7
  0:正常
  1:未接続チャンネルが指定された
このファンクションはDCGA専用です。

通信状態
 00H マーク状態(ブレーク信号送信停止)
 01H スペース状態(ブレーク信号送信開始) 
AH=84H DTRコマンド送出
入力 出力
AH 84H
AL DTR信号
 00H オフ
 01H オン
DX チャンネル番号
AH エラーステータス
 ビット7
  0:正常
  1:未接続チャンネルが指定された
このファンクションはDCGA専用です。
AH=85H RTSコマンド送出
入力 出力
AH 85H
AL RTS信号
 00H オフ
 01H オン
DX チャンネル番号
AH エラーステータス
 ビット7
  0:正常
  1:未接続チャンネルが指定された
このファンクションはDCGA専用です。
AH=87H 割り込みステータスリード
入力 出力
AH 87H
DX チャンネル番号
AH 割り込みテータス
 01H 割り込み要因がない
 06H ラインステータスが変化した
 04H データを受信した
 02H 送信レジスタが空になった
 00H モデムステータスが変化した 
このファンクションはDCGA専用です。
AH=F0H タイマーセット
入力 出力
AH F0H
AL タイマー値(*1200msec)
DX チャンネル番号
 
このファンクションはDCGA専用です。受信時のタイムアウト時間を1200msec単位で設定します。

参考文献
『J-3100解析ハンドブック』 1989年 土屋勝著 ナツメ社
『DOS/Vテクニカル・リファレンス・マニュアル』 1993年 芦達剛著 ソフトバンク
『J-3100シリーズ・テクニカルマニュアル』 1994年 南部武彦著 ソフトバンク
『ATOK読本』 1994年 山田祥平 ジャストシステム
『東芝パソコンハンドブック94年版』 平成6年3月1日
スポンサーリンク