復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80ZVとMYCPU80の上でCP/Mが走ります!
[第247回]
●セントロニクスインターフェイス(3)
前回はセントロニクスプリンタのコネクタが、プリンタ側がアンフェノール36pinであるのに対して、パソコン側が25pinDSUBであることについて説明をしました。
そこまで説明をしましたからには、それではそのコネクタにどのように信号が配置されているのか、ということを書いておかねばなりませんでしょう。
本来ならば36pinコネクタと25pinDSUBコネクタのそれぞれの端子配列について説明をするべきでありましょうが、なにしろちょいと時間がありませんので、36pinコネクタについてはここでは省略することにいたして、25pinDSUBにおける信号配置についてのみ説明をすることにいたします。
36pinコネクタの信号配列につきましては、おそらくセントロニクスプリンタの仕様説明書に記載があるものと思います。
あ。
セントロニクスプリンタの36pinコネクタとパソコンの25pinDSUBコネクタとの接続は、通常DOS/Vパソコン用として販売されている、片側が36pinで片側が25pinDSUB仕様のプリンタケーブルを使って接続します。
その意味では25pin側についても信号配列など知らなくてもよいわけなのですが、後ほどここでの説明が生きてまいります。
下がパソコン側のパラレルポート(プリンタポート)の信号配列です。
この信号線を使ってどのようにパソコンに文字コードを送るかといいますと、下図のようなタイミングで送ります。
プリンタから出力されるREADY/BUSY線がLのときに、D0〜D7に文字コード(ASCIIコード)を出力し、STROBEにLパルスを出力します。
プリンタには1ライン分かそれ以上のバッファがありますから、図のようにREADY/BUSYがLであれば連続してデータを送出しても文字が脱落することなくプリンタ側に取り込まれます。
ちなみにSTROBEパルスは最小1μs程度あれば十分とされています。
このようにセントロニクスインターフェイスは非常にシンプルな制御方法でプリンタに印字データを送ることができます。
前にも少し書いたことですが、ドライバなどという面倒なものを用意する必要はありません。
しかし。
ちょっと待ってよお。
いくら簡単に制御できるセントロニクスプリンタが現在も入手可能だとしてもだよ。
いまどきWindows98などを使っているのはアンタくらいのもので、うちはWindowsXPなんだけれど、それをどーしてくれるのさ。
だって、いくら簡単に制御できるったって、WindowsXPからこっち、Microsoft様はユーザーが直接パラレルポートにアクセスするのを禁止されてしまわれたというじゃありませんか。
どーしてくれるのさ。
それに。
第一最近のパソコンには肝心の25pinDSUB自体がついていないんだよお。
さあ。どおしてくれる。
そ。
そうでありました。
そうだったのですよねえ。
いえ。
ですから、私としても、CP/M互換DOSでは、ファンクションコール05(プリンタ出力)は扱いませんって、そう決めておりましたのですよお([第242回])。
それが、一旦はそのように決定したつもりでおりましたものが、話が変わってきましたのはY様からメールをいただいたことがきっかけでありました([第243回])。
Y様からの依頼で現在作業を進めております、レガシーな8ビットミニコンの製作プロジェクトでは、当記事の内容とは別立てでちゃんとファンクションコール05を実装するつもりでおりました。
でも当記事で私が「ファンクションコール05は実装しません」と書いたものですから、Y様がそれを読まれて、「ファンクションコール05は省略しないでください」というメールを送ってこられたのでした。
それで、もちろんY様ご依頼の8ビットミニコンにはちゃんとファンクションコール05は実装します、とご返事差し上げたのですが。
それでやっと気がつきました。
あれ?
セントロニクスインターフェイスのドットインパクトプリンタが今も健在ということならば。
それを使いさえすれば、ファンクションコール05は実装できるじゃないの。
いえ。
Y様のシステムのお話ではありません。
当記事で今年のはじめから長々と説明を続けております、そして完成目前の、ND80ZV(ND80Z3.5)用のCP/M互換DOSでの話です。
やっと。
ここまで話が落ちてきました。
そうだったのですよお。
どーしてこんな簡単なことに気がつかなかったのか。
つい、セントロニクスプリンタが過去のものになっしまっているだろうなどと思い込んでしまっていたことや、今ではパソコンに25pinDSUBが存在しないことや、WindowsXP以降パラレルポートへの直接アクセスが禁止されてしまったことなどが、うわあっと頭の中で渦を巻いてしまいまして、正常な判断能力を狂わされてしまっておりました。
はやい話が、あさっての方向を向いておりました。
思うに。
おそらく今やほとんどの方が1台はお持ちのインクジェットプリンタを使ってなんとかしよう、とそこにばかり気がいっていたのだと思います。
そこから離れて、とにかくこの用途としては、セントロニクスインターフェイス付きのドットインパクトプリンタを使いましょうよ、ということにしますれば。
できてしまうじゃありませんか。
ええ。
簡単に。ファンクションコール05の実装が。
というところで、本日も時間がなくなってしまいました。
次回は、いよいよその、実に簡単な、気がついてしまえば当たり前の解決方法について書くことにいたします。
ワンボードマイコンでCP/Mを![第247回]
2012.11.15upload
前へ
次へ
ホームページトップへ戻る