別件記事で狐の尻尾先生がPC98のプリンタI/Fについて書かれてました。その補足ということでWaveDromでタイミング・チャートを描いてみることに。やっぱI/Fといったらピン配だけでなくタイミングチャートも要るだろ~と。その過程で古い資料をみていたらPC98とIBM PC/ATの違いに気づきました。レトロな。
※かえらざるMOS回路 投稿順 INDEX
セントロニクス(Centronics)
狐の尻尾先生が書かれているように、現代的なプリンタはネットワーク上に置かれていて特定のホストにローカル接続されることは少ないと思います(プリンタ自体使わないって?)Wi-Fi接続なら接続線は見えないっす。パソコンとローカル接続するにしてもUSB接続(差動信号使った高速シリアル)です。
狐の尻尾先生は書かれてます。その昔は「パラレル」インタフェースであったと。その「パラレル」インタフェースの規格として超有名だったのが「セントロニクス規格」です。当時のプリンタのカタログを見れば皆インタフェースはセントロニクス準拠などと書かれていた筈。しかし「セントロニクス」というお名前は有名だったのですが、日本では実際にセントロニクス社のプリンタを使ったことがある人はどのくらいいるかと。この老人も若いころに米国で「使ったような気がする」程度で記憶にございません。それもその筈、1980年代には競争に敗れ(多分日本相手)、会社は無くなっていたらしいです。しかし、1990年代以降もWi-FiやUSBが一般化するまでプリンタといえば「セントロニクス・インタフェース」という時代が続いたと。
実際、セントロニクス・インタフェースを発展、進化させたインタフェースであるIEEE1284が制定されたのは1990年代になってからです。1990年代後半になってもPC/AT互換機には「SUPER I/O」カードなどという拡張ボードを刺すのが普通で、そこに「セントロニクス互換にして後継」のインタフェースが装備されておったと。
タイミングチャート
もともとのセントロニクス・インタフェースは8ビットパラレル、単方向の非常にシンプルなインタフェースでした。
The Personal Computer from the Inside Out, Third Edition、Sargent Ⅲ and Shoemaker著、Addison-Wesley
手元にあった上記の古い資料を見て描いたタイミングチャートが以下に。
上記は当然IBM PC/AT系の資料なので、一応 NEC-PC98系の資料も確かめてみると上記で500nsと書かれているタイミングが全て 1μs になってました。どっちが正しいのだろ?それとも元々のセントロ規格にそんな規定は無かったのか?
参照したNEC-PC98系の資料は以下です。
改訂版 PC-9800シリーズ テクニカルデータブック HARDWARE 編 アスキーテクライト編、アスキー
違いは数字だけなので、上記を描くためのWaveDromのソースを以下に掲げておきます。
{signal: [ { node: '.ABCD'}, {name: 'DATA', wave: '22..2', data: ['Invalid', 'Varild', 'Invalid'], period:1}, { }, {name: 'STROBE', wave: 'h.01.', node: '.IJKL', period: 1}, {name: 'BUSY', wave: 'l..h.', period:1}, ], edge: [ 'A-I', 'B-J', 'C-K', 'D-L', 'I<-|->J 500ns(min)', 'J<-|->K 500ns(min)', 'K<-|->L 500ns(min)' ], head: { text: 'Centronics Parallel Printer I/F', }, config: { hscale: 2 } }
NECとIBMの違い
上記で古い資料を見たせいで、今更ながら(とってもイマサラだが)、NECとIBMの大きな違いに気づきました。忘れとりました。
-
- NEC、アンフェノール・コネクタ
- IBM、D-SUB25ピン・コネクタ
元々、セントロニクスプリンタはアンフェノール・コネクタ採用だと思われるので、IBMの方が異端です。D-SUB25ピン(DB25)はシリアルインタフェースでモデム等の接続に使われるもの。IBMはシリアルでは9ピンのコネクタを採用し、パラレルではアンフェノールでなくD-SUBコネクタを採用していたと。御勝手ね。でもま、結局はD-SUBの方が主流になっちまうのであります。
IEEE1284が制定され、パラレルな「プリンタ」専用単方向インタフェースは、双方向の高速なインタフェースへと昇格。EPPだとECPだののモードが追加され、スキャナーやら、外部記憶装置やらの接続にも活躍するようになるのであります。まあ、それもUSBが一般化するまでの一時でしたが。
それに細かいところを言うと、NECはセントロ・インタフェースを作るために、懐かしい8255およびそのNEC製の互換チップを使っていたのに対し、IBMは、ディスクリートのTTLなどで組んでいたところ。まあ最初のうちだけで、そのうち互換機メーカのSUPER I/Oチップに取り込まれてしまうんでありますが。なんでIBMは8255使わなかったんだろ?8259や8254は使っているのに。今更すぎる疑問だな。40年前に聞けよ。