復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80ZVとMYCPU80の上でCP/Mが走ります!
[第251回]
●パソコン用プリンタの歴史
ここ数日セントロニクスプリンタについての記事を書いてきましたが、そうしましたら、Y様から「参考にしてください」ということで、長文のメールをいただきました。
Y様は[第243回]でもご紹介いたしましたように、昨年暮れから長々と続いておりますCP/M互換DOS開発の火付け人でいらっしゃいます。
当連載の裏では、Y様が企画立案された「8ビットミニコン」の開発プロジェクトが着々と進んでおります。
あ。実のところとても「着々」とはいきませんけれど、まあ、汗をかきつつ進んでおります。
そのプロジェクトにつきましては近い内に稿を改めまして皆様方にご披露差し上げるつもりでおります。
それでそのY様なのですが、かっての業界の事情にとても詳しくていらっしゃいます。
Y様から時折いただくメールでは、私などの全く知らなかったことなどを書いていただきますので、いつも興味深く拝見させていただいております。
今回も私が記事を書く上での参考になれば、とのご好意でメールをお送りいただいたのですが、読ませていただきましたところ、記事の参考になるどころか、そのまま記事としてここに掲載させていただいたほうがよほど読み応えがあって、読者様の参考にしていただける、と感じました。
その旨をY様にお伝えしましたところ、快諾していただきましたので、以下にメールから転載させていただきます。
Y様からは、「かなり長文になってしまいましたから、適当にカットして必要と思うところのみを使ってください」とのご返事をいただいたのですが、どこもカットできるようなところはありません。
ですので、いただきました全文をそのまま掲載させていただきます。
●「シリアルプリンタ」時代
シリアルプリンタは1文字づつ文字コードを受信して1文字づつ印字するプリンタです。
外観的には大型の電動タイプライターのようなスタイルでした。
メカ式キーボードと活字ハンマーで印字するプリンタが合体していました。
機種によっては紙テープリーダーと紙テープパンチャが付属していて紙テープからの印字や送信、紙テープへのパンチ受信などが出来ました。
米国のテレタイプ社が開発して社名の「テレタイプ」がそのまま商品名になりました。
1975年 マイコンボードキット時代 Altair8800時代のプリンタはテレタイプのように1文字づつ印字するシリアルプリンタが使われました。
インターフェイスはRS−232Cというシリアル通信を利用しました。
これは、テレタイプが元々電話回線や無線通信で文字コードの送信と受信をシリアル通信で行っていたためです。
電話回線や無線通信を利用して遠隔地のテレタイプとテレタイプを通信で接続して、文字コードで情報の伝達を行うのに利用しました。この通信のことをテレックス通信と呼びました。
文字コードは5bitで英大文字と数字+記号を表示するためにシフトロックとシフトロックリリースという文字コードで英大文字と数字+記号を切り変えていました
5bitのテレタイプには英小文字は無く、7bitの後期ASCIIコードが出来てから小文字が割り振られました。
初期のテレタイプは文字コードを5bitと小さくしたので低速通信でも効率的な通信ができました。
通信速度は1秒に数文字程度で45.45baud(注) もしくは50baud 程度の通信速度でした。
5bitのテレックス通信として主として、企業間の通信や、軍事通信に利用されました。
1920年頃から米軍はテレタイプを利用した通信網を構築していました。それに対して日本軍は、和文モールス通信ですから戦場でやり取りされる通信の信頼性と情報量は桁違いでした。
テレタイプの進化の歴史は以下のサイトにあります。
http://www.baudot.net/teletype.htm
(注)
「baud」という通信単位は一般的には「bps」と同じ意味で使われます(厳密にいえば両者は全く異なる単位です)。
(baudは)ビットデータの送受信ではなく、アナログ回線に「ピー」というような搬送波を乗せてこれを位相変調方式でビットの01に合わせて位相を反転して通信を行う通信方式で利用する変調速度単位です。
位相変調方式とはFAXの「ピ〜ピロピロピロ〜」と同じです。
FAXも画像データ通信ですがアナログ信号で通信します。
シリアル通信速度の「ビットレート」という呼び方は近年の呼び方で70年代は「ボーレート」と呼んでいました。
[2012.12.4注記]上記は修正後の文です(修正の経緯は末尾の[追記]をご参照願います)。
修正前の文は以下の通りです。
1行目 「baud」という通信単位は「bps」と同じです。
2行目 ビットデータの送受信ではなく、(以下同文)
3行目文末 通信速度単位です。
[注記ここまで]
このテレックス通信に利用されたテレタイプの8bit文字コードモデルが、初期の汎用コンピュータや、ミニコンピュータのコンソール端末として利用されました。
コンピュータ用テレタイプには、文字コードを8bitのASCIIコードにしたタイプが利用されました。
代表的なコンピュータ用テレタイプは、テレタイプ社のASR33でした。
ASR33は1970年代前半のミニコンのコンソール端末や、汎用コンピュータによるTSS端末として米国で多数利用されました。
1975年のマイコンキット時代には、汎用コンピュータや、ミニコンピュータの端末がビデオターミナルに改善されたのでコンソール端末用のテレタイプが中古で大量放出されて米国ではマイコンホビーストが中古品として安く入手可能になりました。
マイコンホビーストが、Altair8800などのマイコンキットとテレタイプを安く入手して、使いこなして技術を磨き直ぐにソフト会社やハードメーカーなどを設立したことで米国が1975年から続くマイコン革命で先行しました。
これは米国の国策として利用しなくなった国の工場や機材を安く民間に放出して、民間の活力を高めるという戦略的政策があったためです。
しかし、日本では中古でもテレタイプは貴重品で、コンソール端末用のテレタイプ社のASR33は中古でも当時30万円から60万円しました。(今の貨幣価値だと3倍ぐらいの金額)
日本の学生が中心のマイコンホビーストには手がでませんでした。
そのため日本では16進キー付きのマイコンキットが主流になり、ハンドアセンブルでのプログラム開発になりました。米国のホビースト達がテレタイプを活用して直ぐにマクロアセンブラやコンパイラに進んだのとは対照的でした。
苦労してテレタイプを手に入れても動作させると巨大な鉄の塊が激しく振動するので、蒸気機関車のような騒音と振動が発生しました。自宅だけでなく近所まで騒音と振動が伝わるので日本の住宅事情ではテレタイプを動かすのは難しかったようです。
初期型の戦略爆撃機B52は攻撃指令を受信するためにマイト社製の超小型テレタイプを搭載していました。
その大きさはブリーフケース位でした。航空機用のテレタイプまで開発してしまうのは、米国の情報通信に賭ける意気込みと期待が現れています。
このマイト社製の超小型テレタイプのジャンク品が1976年頃日本のマイコンショップで販売されたことがあり、あまりの小ささに驚きました。
テレックス通信は、データ通信時代、インターネット時代になっても途上国などで使われるレガシー通信規格として利用されてきましたが、KDDIは2005年3月31日にテレックス通信のサービスを終了してついにテレックス通信が無くなりました。
因みに、新宿にある初期に建設された高層ビルである「KDDビル」の中ほどにある窓の無い部分は、国際テレックス通信の交換機が設置されたフロアーでした。
昔は、クーデターが発生すると真っ先に攻撃されて占拠されるのがその国の国際テレックス交換設備でしたので、「KDDビル」の中ほどにある窓の無い部分はロケット弾の攻撃に耐えるように設計されています。
●「ラインプリンタ」時代
ラインプリンタは、1行づつまとめて印字するプリンタです。
1文字づつは印字できない構造になっています。
ドットインパクトプリンタだけでなく活字を持つハンマーインパクトプリンタもありました。
ハンマーインパクト方式のラインプリンタは、汎用コンピュータに利用されました。
大型のラインプリンタは軽乗用車ぐらいの大きさがありました。
大型のラインプリンタの印刷速度は超高速で、印字した連続用紙を輪転機のような速度で吐き出しました。
(菱田注。これは私も見たことがあります。その昔勤務先で電電公社(今のNTT)のデータ通信を使っていて、そのセンターに出力されたドキュメントを受け取りに行ったときに目撃しました。本当にシャアーッという感じで連続用紙が走っていました。本当に驚きました)
1970年頃にイギリスのプリンタ専門メーカーのセントロニクス社(Centronics Date Computer Corp.)がミニコン用に机の上に載る程度の小型のラインプリンタをドットマトリックスインパクト方式で開発して、これがヒット商品になりました。
この普及により、セントロニクス社がドットプリンタに開発して実装したシンプルなパラレルインターフェイスが事実上の業界標準になりました。
「セントロニクスプリンタ規格」や「セントロニクスプリンタケーブル」の語源はここから来ています。
1977年 CP/M時代 IMSAI8080、Cromemco、Northstar、SOL-20などのCP/Mマシンのコンソールには、騒音と振動が大きいテレタイプに替わりビデオターミナルが使わるようになりました。
プリントアウトには、ミニコンで使われていたセントロニクス社のラインプリンタが小型化され低価格になってきたのでこれが使われましたが、低価格といっても数十万円なので仕事用がメインでした。
セントロニクス社の小型プリンタのフタを開けて中を見ると、検査済みの意味である(検)のハンコを押したシールがあちこちに張ってあり日本製と解りました。
調べてみるとセントロニクス社のドットプリンタは、日本の精密機械メーカー「ブラザー工業」との共同開発ということでした。
1975年頃のマイコン関係の書籍を見ると、活字系の文字で印字されたプログラムリストが掲載されているのは、シリアルプリンタであるテレタイプASR33で印字したリストを原稿にしたものです。
1977年頃のマイコン関係の書籍では、5X7ドットの英数字でアセンブラやCP/Mのサンプルリストを掲載しているものが出てきます。これはセントロニクス社のラインプリンタで印字したリストを原稿にしたものです。
この移り変わりを見ると面白いです。
1976年に6800系のマイコンキットを発売していたサウスウエスト社(South West Technical Products)はなんとドットインパクト式ラインプリンタのキットを発売しました。
マイコンホビーストのお小遣いではセントロニクス社のラインプリンタは高価で購入できなかったので小型のドットインパクト式ラインプリンタのキットをマイコンホビースト向けに発売しました。
シャーシの上に紙送り機構とプリントへッドがむき出しで、ケースはありませんでした。
5X7ドットで英数字を印字できたので、7個のドットインパクトヘッドがむき出しで搭載されていました。
印字できる紙はトイレットペーパーの幅ぐらいのロール紙で、横40文字程度の印字でしたが、プログラムリストが紙に印字できることは当時としては貴重ででした。
テレタイプを持たない当時のホビーストは手書きでメモするしかプログラムを印字記録する方法がありませんでした。ドットインパクト式ラインプリンタのキットはこれが最初で最後だと思われます。
1979年 8bitBASICマイコン時代 日本では、セントロニクス社のラインプリンタの互換品や漢字印字機能付きプリンタも各メーカーから独自に販売されました。
8bitBASICマイコンの本体に合わせて英数字とカタカナが印字できる5X7ドットインパクト式ラインプリンタが10万円以下でも購入できるようになりました。
英数字とカタカナと若干のマークや漢字(円・月・日など)が印字できる10万円前後の低価格ラインプリンタは8X8のドットインパクト式ラインプリンタでした。
漢字印字機能付きプリンタは、印字も16X16ドット程度に増加して漢字ROMを搭載していましたが10万円から20万円と高価でした。漢字ROMがオプションというプリンタもありました。
8bitマイコン時代は、ユーザーに利幅が大きいマイコンメーカー自社製の純正プリンタを購入させるために、マイコンメーカーの純正プリンタしか接続できないように印刷開始前にマイコンとプリンタで特別なコードのやり取りを行う「ファミリーチェック」を仕込んだメーカーもありました。
セントロニクスコネクタでマイコンとプリンタが接続できても、この「ファミリーチェック」がエラーになると印字できませんでした。
プリンタ専門メーカーのEPSON社などは心得たもので、ロジックアナライザでファミリーチェックのプロトコルを解読してEPSON社の互換プリンタにファミリーチェック応答機能を内蔵して、純正プリンタと同じ機能にしてNEC用、富士通用などの互換プリンタを販売していました。
8bitBASICマイコンのプリンタ端子は、汎用8bitポートとして利用できました。
プリンタだけでなく、自作機器を接続してプログラム制御することも簡単に出来ました。
使用方法は簡単で、プリンタポートのアドレスにデータを書き込むだけでした。
プリンタポートの応用例としてよく使われたのは、ゲーム機用のサウンドジェネレータLSI(PSG)をプリンタポートに接続して、ゲームセンターのゲーム機と同等な効果音を出す遊びでした。
1981年 IBMがPCを発売してPC時代の幕が開けました。
それまでは独自規格を打ち出してそれを業界規格にしてきたIBM社がIBM PCに関しては、既存規格であるセントロニクス社のラインプリンタ規格を採用したので、これがPCの業界標準になりました。
IBM-PC側のプリンンタコネクタは25ピンDSUB、プリンタ側は、セントロニクスプリンタと同じアンフェノール36pinになりました。
プリンタ制御方式もセントロニクス社のラインプリンタ規格を採用して、英数字に関しては、キャラクタコードを送信するだけで印字できる簡単な制御シーケンスで印刷できました。
このIBM PCとセットで使われたプリンタはEPSON製のセントロニクス互換のドットインパクト方式ラインプリンタが使われました。
安くて高性能なEPSON製のセントロニクス互換プリンタは、米国市場を席巻しました。
船便コンテナによる輸送では間に合わなくなり、重いプリンタを航空貨物便をチャーターして日本から米国に輸出したという逸話が残っています。日本が世界の工場だったことろの話です。
1982年 日本では、NECがPC−9801用に発売したラインプリンタ PC−PR201が、事実上の日本の業界標準となり、各社からPC−PR201互換プリンタが発売されました。
1985年 PC−PR201と同等に機能を実現するラインプリンタ用制御コードとしてEPSON社からESC/Pが発表されて普及しました。
後にESC/PにPC−PR201の互換機能が含まれたので、ESC/Pが事実上の業界標準となりました。
PC−9801に漢字プリンタのPC−PR201を接続して、MS−DOS版ワープロソフト「一太郎」を利用して文書を印刷するのが80年代のパソコンの主たる利用方法でした。
●「ページプリンタ」時代
ページプリンタは、1ページ分の印刷データを受信して1ページ単位で印刷するプリンタです。
1980年代後半から インクジェットプリンタや、レーザープリンタのような1ページ単位で印刷する「ページプリンタ」が低価格化して普及しました。
ワープロで作成して画面に表示されるページイメージをそのまま印字できるデスクトップパブリッシング(DTP)用途のプリンタ制御言語「ページ記述言語」が開発され普及しました。
「ページ記述言語」として最初に登場したのは、アドビ社が開発した「PostScript」です。
「PostScript」の大ヒットでアドビ社発展の基礎ができました。
DTPとして最初に実用化したのは、Apple社のマッキントッシュでした。この利用方法は大受けしてこれだけでも大量にマッキントッシュとPostScript対応のレーザープリンタが売れました。
その後WindowsPCでもDTPが普及しました。
「ページ記述言語」として、アドビ社のPostScript、キャノン社のLIPS、EPSON社のESC/Page などが普及しました。
1995年から本格的にDOS/V、Windows95が普及して、1998年のWindows98からは、USB規格がプリンンタインターフェイスとして採用され始めました。
初期のインクジェットプリンタや、レーザープリンタは、プリンタ側には、セントロニクス規格であるアンフェノール36pinコネクタが装備されていましたが、2000年頃からは、USBインターフェイスを装備したプリンタが多くなりました。
2003年のWindowsXP以降は、PCのプリンタインターフェイスの殆どがUSBになりました。
プリンタ側もアンフェノール36pin装備は無くなり新製品はUSBインターフェイスになりました。
2006年〜2008年頃にWindowsPCからPC側のプリンンタコネクタである25ピンDSUBが廃止されて、セントロニクス社のプリンタインターフェイス規格の利用環境は事実上消滅しました。
但し、カーボン複写を利用する業務用の連続伝票の印刷には、ドットインパクト式のラインプリンタが必要なので、セントロニクス規格とUSB規格の両方のインターフェイスを持ったドットインパクト式ラインプリンタの生産は続いていました。
出荷伝票、納品書、請求書、受領書、現品票などを同時に印刷する事務系にはカーボン複写の連続用紙が一番効率が良いようです。
地味な業務用の世界ではセントロニクス規格のプリンタやケーブル、連続紙がしぶとく生き残っているようです。
[2012.12.4追記]
当記事を読まれた方からメールをいただきました。
「baud=bpsとして扱っているようですがそれは違ってますよ」
確かに。
ご指摘を受けてさっそく修正いたしました。
修正前の文ではちょっと舌足らずでそのように受け取られても仕方がない表現でした。
ここの部分はUP前に私も気がついていたのですが、Y様も当然十分ご存知だと思いましたし(修正前後の文を読んでいただければご理解いただけるはずです)、ご多忙ななかで書かれたためそのような書き方になってしまったと解釈し、明らかな誤字脱字や文体、行の体裁を整えること以外は原文に手を加えるべきではない、という思いから、メールでいただいたままをUPいたしました。
私の過去記事やND80ZVなどの取扱説明書においても「bps」ではなくて「ボー」あるいは「ボーレート」と記載しています。
よくお客様から問い合わせをいただきますが、
「このボードでは9600ボーは使えますか」とか「ボーレートは最高どれだけですか」というご質問はあっても、「ビットパーセク」とか「ビーピーエス」などという言葉では受けたことはありません。
単位の定義からすれば誤用なのですが、パソコン、マイコン間や測定機器等との間の通信手段としての232Cの転送速度の単位としては、一般に耳慣れしている「ボー」を「bps」の意味で使っても構わないのではないかと思っています。
ま、しかし。
情報処理の試験で
「baud」と「bps」は同じである。YESかNOか?
などという設問に学生さんが誤答してしまってはいけませんから、ここは表現を一部修正させていただくことにしました。
ワンボードマイコンでCP/Mを![第251回]
2012.11.19upload
2012.11.20一部訂正
2012.12.4追記および一部修正
前へ
次へ
ホームページトップへ戻る