IBM-PCのシリアル・パラレルポートの変遷

PC用シリアルマウスのプロトコルを調べていく過程で、初期(1980年代)のPCのシリアルポート・パラレルポートの仕様か割とコロコロ変わっていることが分かったのでまとめてみる。なお、特に記載のない限り、参照した資料はJeff Parsons氏のPCjs Explorerに掲載されているものを使用した。

無印IBM PC(Model 5150)

1981年8月版のTechnical Referenceによれば、パラレルポートの仕様は以下の通り。

  • パラレルポートはモノクロディスプレイアダプタ(MDA)1に実装されていたものと、単独のパラレルポートインターフェースカード(Parallel Printer Adapter)の2種類がある。

  • コネクタはDサブ25ピン(DB-25)メス。

  • MDA付属のものはI/Oアドレス$3BC-$3BEを使用

  • 単独のパラレルポートインターフェースカードにアサインされているI/Oアドレスは$378-$37B。

  • いずれのカードも使用可能なIRQは7。有効にするかどうかをアドレス$3BE又は$37Aのビット4で指定する。

一方、シリアルポートインターフェースカード(Asynchronous Communication Adapter)の仕様は以下の通り

  • INS8250コントローラを使用。通信速度は50-9600ボー。

  • ポート数は1つ。

  • コネクタはDB-25オス。

  • I/Oアドレスは$3F8-$3FF、IRQは4に固定。

  • 基板上に取り付けられたシャント抵抗器の向きを変えることで、信号伝送方式を電圧変化と電流オン/オフ(カレントループ)の間で切り換えることが可能。

1

80x25の白黒テキストを表示可能。一文字当たり9x14(フォント自体は7x9)で画面の解像度は720x350相当。この画面モードは現在のPC用ビデオカードにも残されている。モニタ接続用のコネクタはDサブ9ピン(DE-9)メス。

一方、1983年4月版のTechnical Referenceによれば、パラレルポートについては従来通りである一方、シリアルポートについては、基板上に取り付けられたシャント抵抗器の向きを変えることで、I/Oアドレス/IRQを$3F8-$3FF/4と$2F8-$2FF/3を切り替え可能となった。つまり、インターフェースカードの2枚刺しによって2ポートのシリアルポートを実装可能となった。

IBM PC/XT(Model 5160)

1983年4月版のTechnical Referenceによれば、同月発行の無印PC用Technical Referenceに記載されているものと同様。

IBM PC/AT(Model 5170)

PC/ATよりシリアルポートとパラレルポートは一枚のカードにて提供されるようになった。カード背面にDB-25コネクタを2つ入れることはできないし、シリアルポートとパラレルポートが同じ形状というのもまずいということで、2シリアルポートはDサブ9ピン(DE-9)オスコネクタに変更された。

2

後述のPS/2ではDB-25メスのシリアルポートとパラレルポートをオンボードで実装してたりするので撤回 (2021/8/26追記)撤回理由の変更。IBM PCではシリアルポートはDB-25オスなのでパラレルポートと混同することはない。

その他シリアルポート関連の変更点は以下の通り

  • コントローラLSIがNS16450に変更された。速度は50-9600ボーと変化なし

  • I/OアドレスとIRQの切り替え方法はジャンパスイッチに変更された

  • カレントループ方式の信号伝送は廃止された

パラレルポートの変更点は以下の通り

  • シリアルポートと同様、ジャンパスイッチによりI/Oアドレスを変更可能となった

  • 指定可能なI/Oアドレスは、$378-$37A($37C-$37Eにミラー)又は$278-$27A($27C-$27Eにミラー)

PCjr(Model 4680)

PCjrはシリアルポートを内蔵している。1983年11月版のTechnical Referenceによれば、シリアルポートの仕様は以下の通り。

  • 8ピン2列(計16ピン)のBergコネクタを使用。

  • コントローラICはINS8250A。

  • 速度は50-4800ボー

  • I/Oアドレスは$2F8-$2FF、IRQは3固定

  • シリアルポートとは別に、専用コネクタに取り付けるモデムカード(オプション)がある。こちらにもINS8250Aが載っており、I/Oアドレスは$378-$3FF、IRQは4。

パラレルポートはオプションの拡張カードで提供されており、仕様は無印PCのインターフェースカード(MDAでないほう)と同じである。

PS/2

1987年4月に登場したPS/2はISAベース(87年は8ビット、88年以降は16ビット)のモデル25(モニタ一体型)、モデル30(デスクトップ)、MCAベース(CPUが286のものは16ビット、386SX以降のものは32ビット)のモデル50,70(デスクトップ)、モデル60,80(タワー)等に分類される。3

3

PS/2の英語版Wikipediaより

いずれの機種もシリアル・パラレルポートを1つずつ内蔵しているが、ISA版とMCA版とは実装方法が異なる。以下の説明は、Ardent Tool of Capitalismの"PS/2 Documentation (PDF)"を参照して作成した。

ISA版のシリアルポートは以下の通り

  • コントローラはINS8250Aを使用

  • 速度は50-9600ボー

  • コネクタはDB-25オス

  • I/Oアドレス/IRQを$3F8-$3FF/4固定

ISA版のパラレルポートはI/Oアドレスが$378-$37A固定である以外は従来のものと同様。

MCA版のシリアルポートは以下の通り。どうやらMCA版のマザーボードに搭載されているシリアル通信コントローラはType1、Type2、Type3の三種類があるらしく、Type1はFIFO不可、Type2は一部機種でFIFO不可、Type3は全ての機種でFIFO可ということらしい。これはマザーボード搭載のシリアルポートに限らず、拡張カード上のシリアルポートについても同様のようだ。

  • コントローラはNS16550を使用

  • 速度は50-19200ボー

  • コネクタはDB-25オス

  • I/Oアドレス/IRQを$3F8-$3FF/4と$2F8-$2FF/3を切り替え可能

  • Type 3マザーボードでは16バイトFIFOを有効にできる

MCA版のパラレルポートは以下の通り

  • コネクタはDB-25メス

  • Type1、Type2、Type3の三種類のコントローラがあり、Type2、3はDMA転送が可能。

  • I/Oアドレスは従来の$3BC-$3BE、$378-$37A、$278-$27Aのいずれかを選択可能。(I/Oアドレス$102のビット5および6で指定)

  • Type2では、$378-$37A、$278-$27AのI/Oアドレスを使用する場合において、DMAを利用する為にI/Oアドラスが2バイト拡張されている(つまり$378-$37C、$278-$27C)。$3BC-$3BEを使う場合はDMA未対応

  • Type3では、Type2の特徴に加え、$1278-$127C、$1378-$137CもDMA対応ポートとして使用可能

  • IRQは従来と同様7

また、シリアルポートについては純正のMCA拡張カードがある。このカードの特性は以下の通り。

  • コントローラはNS16550を2つ実装

  • 速度は50-345600ボー

  • コネクタはDE-9オスを2基

  • I/Oアドレス/IRQは、Type1とType2では$3F8-$3FF/4と$2F8-$2FF/3

  • Type3搭載のマザーボードではI/Oアドレス$3F8-$3FF、$2F8-$2FF、$3220-$3227、$3228-$322F、$4220-$4227、$4228-$422F、$5220-$5227、$5228-$522Fのいずれかを設定可能(IRQは3、4どちらでも可)。さらに、これらのI/Oアドレス空間のそれぞれに$8000を足したものが拡張機能用(DMAによる高速アクセスが可能)として用意されている。

PC/ATで9ピンになったコネクタがPS/2で25ピンに先祖返りするとは思わなかった。コネクタ設置面積に制約のあるラップトップ機や拡張スロット上のコネクタは90年頃にはDE-9に切り替わったが、デスクトップ機のオンボードコネクタについては93年頃までDB-25だったようだ。

コメント(0)

コメントを投稿する際はここをクリック


Note

本サイトのハイパーリンクの一部は、オリジナルのサイトが閉鎖してしまったため"Internet archive Wayback Machine"へのリンクとなっています。そのようなリンクにはアイコン[archive]を付与しています。

本サイトはCookieを使用しています。本サイトにおけるCookieは以下の三種類のみであり、Cookieの内容に基づいてサイトの表示を変更する以外の用途には用いておりません。