MS-DOS版N88BASIC(Ver1.0) PC-9801-19用拡張機能 GPIB.EXE で使える機能一覧 ※実機・マニュアル未所持につき未検証 |
CMD DELIM CMD DELIM=[0-3] デリミタ指定 0 : CR+LF 1 : CR 2 : LF 3 : EOI (※) ※PRINT@,RBYTE,WBYTEでは最後に@を付加しないとEOIはTRUEにならない 例 CMD DELIM=3 CMD PPR (スレーブ) CMD PPR=[0-2] スレーブモード下でパラレルポートに対する応答モード指定 0 : 無応答 1 : 応答 2 : SRQ送信時に応答 例 CMD PPR=1 CMD TIMEOUT CMD TIMEOUT=[0-255] タイムアウト時間指定 IEEEステートメント開始から何秒でバスエラーとするかを0 - 255で指定 0はタイムアウトチェック無し 例 CMD TIMEOUT=30 INPUT@ (マスタ) INPUT@[アドレス] (, [リスナアドレス]); 変数, 変数 ... 指定したトーカから送信されるデータを受信し、変数へ代入 マスタモードでは頭のスペースと終わりのスペースは無視され、 255バイトを超えると次の文字変数へ代入される。 例 INPUT@1, 3; A$, B$, C$ INPUT@ (スレーブ) INPUT@ ; 変数, 変数 ... IRESET REN (マスタ) リモートイネーブル(REN)をFALSEで送出。 ISET IFC (マスタ) ISET IFC, [整数] インタフェースクリア(IFC)を送出 送出時間は[整数]×100マイクロ秒でデフォルトは1。 ISET REN (マスタ) リモートイネーブル(REN)をTRUEで送出。 ISET SRQ (スレーブ) ISET SRQ[@] [N] SRQを送出。 @ : デバイスステータス送出と同時にEOIがTRUE N : 省略の場合はシリアルポールされるまで待つ LINE INPUT@ (マスタ) LINE INPUT@[アドレス] (, [リスナアドレス]); 文字変数 指定したトーカから送信される文字列データを受信し、文字変数へ代入 LINE INPUT@ (スレーブ) LINE INPUT@ ; 文字変数 ON SRQ GOSUB (コントローラ) ON SRQ GOSUB 行番号 STQの受信による割込発生時に分岐する処理ルーチンを指定 処理ルーチンにはPOLLが含まれている必要がある 行番号が0で割込禁止。再度定義することで割込許可となる (関連: SRQ) POLL (コントローラ) POLL [アドレス],数値変数 (; [アドレス], 数値変数) シリアルポールイネーブル(SPE)を送出し、 相手からデバイスステータスを受信し数値変数に代入 PPOLL (マスタ) PPOLL (PPU) (,[リスナアドレス1], [PPE1/PPD]) (,[リスナアドレス2], [PPE2/PPD]) パラレルポートの応答出力用ラインの割付 PPU : パラレルポールアンコンフィギュアを送出する PRINT@ (マスタ) PRINT@[リスナアドレス] (, [リスナアドレス]); [データ] (,[データ] ...) [@] データをASCII文字列として送出 @ : EOIを有効 PRINT@ (スレーブ) PRINT@ ; [データ] (,データ ...) [@] RBYTE (マスタ) RBYTE [コマンド] (, [コマンド] ...); [数値変数] (,[数値変数] ...) [@] マルチラインメッセージを送出後、バイナリデータを受信 コマンドは0 - 255 (&H00 - &HFF)までのバイナリHEXで指定 @ : EOIを有効 (類似: WBYTE) RBYTE (スレーブ) RBYTE ; [数値変数] (,[数値変数] ...) [@] SRQ (マスタ) SRQ [ON/OFF/STOP] サービスリクエスト(SRQ)の受信による割込の許可・禁止・停止 例 SRQ ON WBYTE (マスタ) WBYTE [コマンド] (, [コマンド] ...); [データ] (,[データ] ...) [@] マルチラインメッセージを送出後、バイナリデータを送出 コマンドは0 - 255 (&H00 - &HFF)までのバイナリHEXで指定 @ : EOIを有効 WBYTE (スレーブ) WBYTE ; [データ] (,[データ] ...) [@] ★関数 IEEE IEEE(n) GP-IBの状態を調べる関数。n=0-2,4-7 IEEE(0) : CMD DELIMの設定値 IEEE(1) : 初期状態 MSBより 7 - 6 : INT 5 : 0=マスタ, 1=スレーブ 4 - 0 : マイアドレス ※本体8連DIPで設定した値をそのまま表示している SW1 1 - 2 : INT; ON-ON:0, ON-OFF:4, OFF-ON:5 OFF-OFF:6 3 : 1=スレーブ 0=マスタ 4 - 8 : 4をMSB, 8をLSBとするマイアドレス ON=0, OFF=1 ちなみにABCジャンパはABショートでROM有効、BCショートでROM無効 ※29Kは10連DIPで-19の8連DIP1-8は29Kの10連DIP3-10に読み替える。 1 - 2 : DMA; ON-ON:0 OFF-OFF:3 (ON-OFF, OFF-ONは不明) IEEE(2) : トーカ・リスナの状態および受信したインタフェースメッセージ MSBより 7 : 1=LLO受信 6 : 1=GTL受信 5 : 1=DCL or SDC受信 4 : 1=GET受信 3 : 1=EOI受信 2 : 1=SPE受信 1 : 1=リスナがアドレスされている 0 : 1=トーカがアドレスされている IEEE(4) : シリアルポール時にSRQ送出中の装置のデバイスステータス IEEE(5) : シリアルポール時にSRQ送出中の装置のトーカアドレス IEEE(6) : シリアルポール中に応答しない装置があった場合、そのトーカアドレス IEEE(7) : パラレルポールを行い、得たデータバイト STATUS スレーブモード下でシリアルポールが行われたときに送出するデバイスステータス MSBより、 7 : 拡張用汎用ビット 6 : 1=SRQ発信中; ISET SRQによりセット、シリアルポールを受けるとリセット 5 : 0=異常状態 4 : 0=動作中 3 - 0: 汎用ビット |