前回、ORANGE pico (pocket)にポケコン用に買ったプリンタをつないで印刷してみた。
それではと今度はポケコンにORANGE pico用に買ったプリンタをつないでみることにした。
TM-T88IVはポケコンに対してでかいし、電源もでかい。
小さければ小さいで不満はあるし、大きければ大きいで不満がある。
いかんともし難いものである。
さてとして、方法は2つある。
・パラレル→シリアル変換を行って印刷する。
・OPEN “COM:”コマンドでシリアルポートを開く、もしくはTEXTモードのSioで送信する。
最初のパラレル→シリアル変換についてだが、ポケコンからの信号を一旦パラレルにする必要もなく、Arduinoでダイレクトにシリアル変換すればよいわけだが、それについてはすでに以前作った変換ボードが使える。
こちらは、テキスト印刷には対応できるがハードコピーの処理速度にはついていけず一度は没にしたもの。
今回はテキストの印刷をシリアル出力させるだけなので、これだけで十分。
LPTモードとCE126Pエミュレートモードの両方で出力先をシリアルのみにして実行。
LPTモードはCHR$コマンドでプリンタのコマンドを送れるので、ESC/POSのコマンドを送って文字セットの変更ができる(左の写真)。
一方CE126Pエミュレートモードではプリンタのコマンドが送れないのでデフォルトの文字セットで印刷されてしまうが、MONモードでのダンプ印刷もできた(右の写真)。
CE126Pエミュレートモードで使うのであればこのプリンタはちょうどいい感じの大きさである。
初期化の部分でシリアルポートにもESC/POSで文字セットのコマンドを送るように手なおせばうまい具合に使えそうだ。
次はシリアルで出力させてみる。
ポケコンのTEXTモードでシリアルポートの設定を行い、SIO画面でSaveを行うとTextエディタの内容が印刷された。
ただし、EOF(0x1a)も送られるので2回目以降の印刷でゴミ(1桁の空白)が出てくる。
ちなみにポケコンの信号は反転された出力なので、トランジスタ2石使って反転させている。
ポケコンの仕様では+5VがGNDで0VがVddとなっているが、+5VをGNDとしてみた場合にRS232Cの規格からすると信号的にはあっていたはず。
この仕様はもっと他にも要因があるらしいけどね。
電源表記が反転している様に見えるのは、BASIC搭載ポケコンの始祖であるPC-1210/1211を含めて、当時の電卓がP-MOSで作られていたからです。
P-MOSは、その後主流となったN-MOS,C-MOSとは電源の正負が反対です。
その後C-MOS化されましたが、混乱防止からかLCD&I/Oプロセッサは旧設計と同じピン名を使用し続けました。
そして、最終的にはCPU,LCD,I/Oプロセッサがワンチップ化されましたが、外部バスのみ、旧式のピン名が維持されています。
勿論、新規追加された40pinバスは、Z-80同様N-MOS,C-MOSの表記です。