パラレル入出力ポートとしての
プリンタポートとマウスポート


制御・計測分野では,外部機器とディジタル信号のやり取りをするのには,市販のパラレル入出力ボードを使用するのが一般的です.しかし用途にもよりますが,信号ラインの数が少ない場合には,PC-98本体が標準で備えている入出力ポートを利用することも可能です.代表的なものがプリンタポートとマウスポートです(いずれもノーマルモード時).外部機器にトリガー信号を送ったり,外部機器の発生する信号の時間的なパターンを調べる際などに便利です.

プリンタとマウスのI/Oポートの詳細については,UNDOCUMENTED 9801/9821 Vol.2 - メモリ・I/Oポート編 --> io_prn.txt と io_mouse.txt を参照して下さい.

■プリンタポート
PC本体のプリンタ用コネクタは,PC-9821As2/Ap2以前のPC-98デスクトップ機,およびすべてのエプソン98互換デスクトップ機では,アンフェノール(セントロニクス)フルピッチ14ピンメスコネクタであり,PC-9821As2/Ap2以降のPC-98デスクトップ機,およびPC-9801NS/A以降のPC-98ノート機ではアンフェノールハーフピッチ36ピンメスコネクタです(注1・2・3).また,PC-9821Ne以前のPC-98ノート・ラップトップ機,およびすべてのエプソン98互換ノート機ではアンフェノールハーフピッチ20ピンメスコネクタです.下にそれぞれのコネクタのピンアサインを示します.14ピンと36ピンのものは,アスキーテクライト(編) (1993). 改訂版 PC-9800シリーズ テクニカルデータブック HARDWARE編 アスキー の記述に従っていますが,Electrelic --> コネクタ資料集 --> DDK 57シリーズコネクタ --> 57シリーズ 14ピン コネクタ / 57シリーズ 36ピン コネクタ --> 【コネクタ】 プリンタ (36ピン) や JE1VUJ HOME PAGE --> PC98資料館 --> コネクタピンアサイン --> プリンタ&RS-232Cコネクタ / PC88資料館 --> コネクタピンアサイン にも資料があります.また20ピンのものは,筆者がサンワサプライ製のプリンタケーブルであるPKPU-98LV2Kの結線図に基づいて推定したものであり(注4・5),一部のNCピンは実際にはGNDピンである可能性があります.
 注1:後者は双方向通信に対応していますが,ここではそれについては考えません.なお後者の18ピンの信号名は+5Vですが,+5Vが出力されていることを意味するものではありません.これはプリンタの状態を読み取る信号の一つです.
 注2:ハイレゾボード(PC-9821A-E02)が装着されたMATE-Aでは,ノーマルモード/ハイレゾモードのどちらでも,ハイレゾボード上のプリンタI/F(コネクタはハーフピッチ36ピン)が有効となり,PC本体のプリンタI/Fは無効となります(注2.1).ハーフピッチ36ピンI/Fとしてのすべての機能は,ハイレゾモード時にのみ有効となります(ノーマルモード時には,14ピンI/F相当の信号のみが有効).
     注2.1:PC-H98シリーズのプリンタコネクタ(アンフェノールハーフピッチ36ピンメス)のピンアサインは,JE1VUJ HOME PAGE --> PC98資料館 --> コネクタピンアサイン --> PC-H98系コネクタ に掲載されています.
 注3:いずれのコネクタに嵌合するオスコネクタも新品が入手できると思いますが,プリンタケーブルのものを使用することもできます(注3.1).また下に挙げるプリンタケーブル用変換コネクタからもハーフピッチ36ピンオスコネクタが取れます.ハーフピッチ36ピンコネクタはパラレルクロスケーブル[クロスケーブル(LANケーブル以外)の結線 を参照]などを作成する際にも利用できます.これらは地方のハードオフなどでは今でも見かけることがあり,今時こういったものを買う人もそうはいないだろうということで,筆者は安く売られているものに遭遇した場合には買っておくようにしています.
   注3.1:筆者は実際には,アンフェノールフルピッチ36ピンメスコネクタにコードをハンダづけしたものを,プリンタケーブルのプリンタ側アンフェノールフルピッチ36ピンオスコネクタ(これのピン番号は,下に挙げるアンフェノールハーフピッチ36ピンメスコネクタのものを左右反転させたものに一致します.プリンタケーブルの結線図も参照)に接続して使用していました.フルピッチ36ピンメスコネクタも新品が入手できますが,プリンタ切替機をはじめ,このコネクタが使用されている機器は多く,ジャンク品などから外して使うこともできます.
 注4:PC-9801NS/Tで外部機器の制御を行った際に調べたものです.事務機としての役目を遥か以前に終え,廃棄を待つばかりの機体でしたので,このデータを基にプリンタコネクタに繋がるマザーボードの部分から信号ラインを直接外部に引き出しました.
 注5:ヤフーオークションに出品されたエレコム製CPC-98N15Cのケースの台紙の画像にある結線図では,ハーフ20ピンオスコネクタの1-16ピンまでの結線は本資料のものと一致していました.画像が切れていたため17ピン以降の結線については不明です.




追記:小高輝真 (1992). きみにもできる? 周辺工作入門. 98バリバリチューン, pp.56-63, アスキー. の59ページに,アンフェノールハーフピッチ20ピンメスコネクタのピンアサインが掲載されているのを見つけました.それを下に示します.13ピンがNCで20ピンがGNDとなっています(他のピンの信号アサインは直上の図と一致).GNDピンの位置が筆者の調べたものと異なりますが,この形状のプリンタコネクタに何かを接続する場合には,13ピンと20ピンをGNDに接続すれば問題ないでしょう.


アンフェノールハーフピッチ36ピンメスコネクタをフルピッチ14ピンメスコネクタに変換するコネクタも存在しました.メーカー・型番とも不明な変換コネクタの結線を下に示します.ピン番号は,ハーフピッチ36ピンオスコネクタ-----フルピッチ14ピンメスコネクタ の順です.


I/Oポートアドレスは入力と出力で異なります(注).入力用のアドレスは0042hで,bit 2がBUSY信号データ(1の時データ受信不可能,0の時データ受信可能)です.また出力用のアドレスは0040hで,bit 0-7がパラレル出力データです.従ってプリンタポートは,入力1ビット・出力8ビットの入出力ポートとして利用できます.
 注:インターフェースLSIはμPD8255Aで,起動時にモード0で初期化されていますので,初期化手続きは不要です.I/Oポート 0042hはPORT B,0040hはPORT Aです.なおマウスポートのインターフェースLSIもμPD8255Aで,同様に起動時にモード0で初期化済みです(PORT A).

※PC-98用プリンタケーブルの結線です.それぞれ 本体接続用オスコネクタ-----プリンタ接続用アンフェノール36ピンフルピッチコネクタ の順です.


  両端のコネクタのプラスチック部分に "Sumitomo Wiring" の文字列の浮き出たフルピッチ14ピンオス-フルピッチ36ピンオスのケーブル(ジャンク品として単品で入手したもので,PC-98用のプリンタケーブルとして使用できました)では,1-9ピンと11ピンの結線は上図右のものと同じでしたが,他のピンでは 10-NC,12-NC,13-17・19,14-17・19 となっており,フルピッチ14ピンオスコネクタ内で13・14ピンが短絡され(13,14ピンのそれぞれにコードが接続されてもいました),フレーム(SHELL)同士も結線されていました.このケーブルではGNDとFGが短絡されています.筆者はこれ以上調べる予定はありませんが,他の二つのタイプのケーブルでも,GND端子やNC端子の接続先が上の図のものと一部異なる製品がある可能性があります.ケーブルのタイプ毎のそれらの差異は,プリンタケーブルとして使用する場合には気にする必要はありませんが,ケーブルを切断してコネクタ部分を他の目的で再利用する場合には,テスターなどを使って結線状態(一個のコネクタ内での端子間の導通の有無についても)を予め調べておいた方がよいでしょう.

追記:PC-386Gのプリンタコネクタと,PC-386GS/GE用のハイレゾボードPCHRLB,PC-486GR/GF用のハイレゾボードPCHRLB2のプリンタコネクタ(Dサブ36ピンメスコネクタ)のピンアサインが判明しましたので掲載します.下の表は 吉野敏也(監) 株式会社テクノメディア(編) (1993). EPSON PC システムガイド ――100万人EPSONユーザーのためのオフィシャル・データブック―― クリエイト・クルーズ に基づきます.


18ピンの信号名は+5Vですが,+5Vが出力されていることを意味するものではありません.これはプリンタの状態を読み取る信号の一つです.ハイレゾモード時のI/Oポート42h(リード)のbit 4がこの信号で,これが0にセットされているとプリンタの電源ONと判定されます.

PCHRLBが装着されたPC-386GS/GEとPCHRLB2が装着されたPC-486GR/GFでは,ノーマルモードでもハイレゾボード上のプリンタI/Fが有効となり,PC本体のプリンタI/Fは無効となります(PC-9821A-E02が装着されたMATE-Aの場合と同様).ノーマルモードでは,ハイレゾボード上のプリンタI/Fは,PC本体の14ピンI/F相当の信号のみが有効となるはずです.これはPC-386G本体とPRO-486本体のプリンタI/FやPC-486HA/HX/HG用のハイレゾボードPCHRLB2のプリンタコネクタ(Dサブ36ピンコネクタ)でも同じなはずです.PC-98XL/XL^2/RL本体のプリンタI/F(Dサブ36ピンコネクタ)でも同じでしょう.DB0-7やBUSY信号は,Dサブ36ピンコネクタでもフルピッチ14ピンコネクタでも同じ番号のピンに割り当てられています.


■マウスポート
PC-98のマウス用コネクタは,PC-9821As2/Ap2以前の機種ではDサブ9ピンメスコネク,以降の機種ではミニDIN9ピンメスコネクタです.下にそれぞれのコネクタのピンアサインを示します.これらは,アスキーテクライト(編) (1993). 改訂版 PC-9800シリーズ テクニカルデータブック HARDWARE編 アスキー,および 菅原尚伸 (1994). PC98のマウス端子を使ったカウンタ回路の実験 トランジスタ技術, 1994年2月号, 348-350. の記述に従っています.なお,マウス用の Dサブ9ピン <--> ミニDIN9ピン 変換ケーブルの結線については,マウスコネクタ(丸型←→角形)変換ケーブルの結線 を参照して下さい.


I/Oポートアドレスは7FD9hで,bit 7が左ボタン信号,bit 5が右ボタン信号です.一部の機種[マウスコネクタ(丸型←→角形)変換ケーブルの結線 を参照]では中ボタン信号(bit 6)も有効です.これらはいずれも入力ビットとして利用できます.負論理である点に注意して下さい.

ただし,入力信号の周波数が高い(入力するパルスの間隔が短い)場合には追従できません.これはチャタリングによる誤動作防止用の積分回路がPC本体内部にあるためです(マウスボタンのチャタリングへの対処 を参照).筆者がPC-9801VXでテスト(入力の検出には機械語ルーチンを使用)したところでは,デューティ比0.5の矩形波パルス列の立ち上がり検出では,パルス列の周波数が333.3Hzまでは追従が確認できましたが,500Hzでは取りこぼしが見られました(どるこむの過去ログ,[8561] 旧98のマウスポートの処理速度について を参照).少なくとも3ms以上の信号間隔であれば,各信号の立ち上がりを確実に検出できるようです.もっとも,上述の積分回路を経由するため,入力信号の検出には幾分かの遅れが出ます.これが問題となるかかどうかは測定の目的によるでしょう.

マウスポートを使用して,非常に高い周波数のディジタル信号をカウントする方法もあります.マウスの軸カウンタを利用するもので,詳しくは 菅原尚伸 (1994). PC98のマウス端子を使ったカウンタ回路の実験 トランジスタ技術, 1994年2月号, 348-350. を参照して下さい.

なおDサブ9ピンコネクタ・ミニDIN9ピンコネクタとも,新品の入手も可能かもしれませんが,確認していません.マウス変換コネクタ[マウスコネクタ(丸型←→角形)変換ケーブルの結線 を参照]のメスコネクタのピンにケーブルを接続しても使用できます.筆者は,バラのピンを適当な枠(使用済みのペンの軸を輪切りにしたものではなかったかと思います)に入れて模型用のパテかコニシボンド(G17)で固めたものをミニDIN9ピンオスコネクタの代用としたこともあります.


PC-98本体が標準で備えている入出力ポートでパラレルポートとして利用できるものとしては,他に,PC-9801E/F/Mのみが備えていた2D(320KB) FDD I/Fがよく知られています.このポートはμPD8255Aに直接接続されており,データの双方向入出力が可能です.ただし筆者は実際に使用したことはなく,また古い設備などでこのI/Fがこの目的で実際に利用されているのを見たこともありません.下にコネクタのピンアサインを示します.これも アスキーテクライト(編) (1993). 改訂版 PC-9800シリーズ テクニカルデータブック HARDWARE編 アスキー の記述に従っていますが,Electrelic --> コネクタ資料集 --> DDK 57シリーズコネクタ --> 57シリーズ 50ピン コネクタ --> 【コネクタ】 FDD (PC-8801等 2D) にも資料があります.I/Oポートの詳細についてはUNDOCUMENTED 9801/9821 Vol.2 - メモリ・I/Oポート編 --> io_2d.txt を参照して下さい.



トップページ