トップ «前の日記(2024年07月22日) 最新 次の日記(2024年08月15日)» 編集

xiphioの備忘録


2024年08月03日

_ [computer] 嗚呼、PC98・DOS時代のプリンター、MICROLINE 8340SV

もう齢65で、高校生の時からコンピュータに向き合っていましたので、パソコン歴(マイコン歴)はとても長くて、そのなかでもPC98でのMS-DOS時代は長かったりします。

プログラミングに一番熱心だったのはこの頃で、自分で利用するための業務用のソフトの多くを、MS-DOS上のinformixと言うデータベースを元に、Cで書いていました。「こうしたい、ああしたい」と言う個人的な細かい要望を実現する為に、CでPC98のハードを直接叩くような事をしていました。例えば、キーボードのリングバッファを直接いじったり、VRAMに直接書き込んだりで、エリアが足りなくなると、EMSもコントロールして使っていました。

便利に作りすぎたので、Windows3.1とかWin2kとかの時代になっても、PC98が製造中止になっても、他の環境に移行する事ができず、何と、ずるずるとWindows11の現在まで来ているのは、ある意味化石化状態とも言えるかも知れません。

でも実際には、過去に幾度となくその当時の環境への移行を考えています。特にWindowsベースの移行は真剣に考えていまして、初期には高価なデータベースも購入したりしていのですが、同じような便利なシステムにする事が困難と判断し(出来ない事は無かったでしょうが)、挫折の連続でした。具体的には、ごく初期にはinformixのOS/2版がでたので素直にそれに移行しようとしたり、Win版のオラクルを買ってみたりとか、Paradoxが出たときは、これに決定と思いましたが、やはり途中で挫折してしまいました。どれも簡単な住所録とか、顧客管理とかの処理までは作ったのですが、そこからの複雑な画面表示とか、その他操作の構築に、やり始めると「使いづら~、こんな事も簡単には出来ないじゃない!」、と結局は諦めてしまいました。

未だに使っているのは、通信販売の顧客管理位で、これはNetBSDの上で「WebブラウザApache + ruby + postgreSQL」で書いています。この延長でガンガン書ければ良かったのですが、Apacheとかrubyのヴァージョン問題で、現行のヴァージョンで新規に書こうとするとすぐ動かなくなるので、ほとほと嫌気がさしまして、止めてしまいました。OSも、とてもマイナーになってしまいましたし、以後rubyにもあまり手を出していません。

暫く前から、年齢による意欲の面もあり、新たなシステムに移行する事はもう無理と、諦めてしまいました。自分でプログラミングしたシステムなので、(もうかなり昔になった)消費税導入もクリアしてましたし、最近のインボイスへの対応も、現状最小のプログラム変更でなんとか対応して、未だに使っています。そういう中、ネックは、もう製造されていないハードです。PC98は、探せば今でも動作品は手に入りますし、当然何台もストックしてあります。(修理してくれる所もありそうです)

それに、いざとなればWindows上で動くPC98エミュレータも有り、既に何度もインストールして検証しています。趣味で作ったCDや楽曲管理のデータベースは、使用していたPC98ノートの液晶が死んだため、そのエミュレータの方に移行しました。ハードを直接叩く事が当たり前なPCゲームを動作させるのが、これらのエミュレータの目的らしいですから、同じようにハード依存の当方のプログラムも動くと思われます。

ただ問題は使用している周辺機器です。HDDは問題ないとして、ネットワークはまあ何とかなりそうです。ただプリンタが問題と認識していました。

すでに帳票などの一覧はWindowsからプリントしていますが、納品書、請求書は未だにPC98に繋がったOKIのドットインパクトプリンタ MICROLINE 8340SVで印字していました。そのプリンタが故障して困った事が今までに2度あります。一度目は、かなり前で、当時は沖電気の徳島営業所がキチンと有って、持ち込んで修理してもらいました。修理内容は基板交換です。この時の経験から、故障したときのバックアップとして、同じ系統の少し小型のプリンタを購入してありました。

2度目は、トラクタフィードの送りのリングベルトが切れてしまいました。こんな時の為のバックアップ機器なので、出してきて動作させますと、同じ様にトラクタフィードのリングベルトがすぐ切れてしまい、全く役に立ちませんでした。

当時、沖電気の地方サービスも殆ど無くなりかかっていましたが、分かりづらい場所のビルの一室に何とか存在していて、そこに持ち込んで修理をお願いしましたが、当初は「ベルトが在庫切れで、修理出来ない」と言われました。「何とかならないか」とお願いして来ましたが、どっか東北の方の営業所で残っていた在庫を見つけて送ってもらったとの事で、無事修理してくれました。この徳島営業所ももうすぐ無くなる、との話でした。

修理が出来るまでの期間、伝票発行が出来なかったので結構困りました。そういう事を踏まえ、折にふれ、PC98に接続できる同じ機器を、予備のプリンタとして(OKIのマイクロラインだけですが)何台かオークションで買ってありました。昨日まで使用してたプリンタも、何回かOKIで修理してもらった初代プリンタの位置センサーがおかしくなり、暫く前に交換した予備機です。

*****画像の説明

それが昨日、午前中に連続紙を印刷中に、紙送りがおかしくなりました。見てみると、今までと同じく、トラクタフィードの送りのリングベルトが切れてしまいました。しかし、そんな時の為に予備機を用意してあるのです。まず昔買った小型機(ベルト交換済みの、予備機その1)をまず持ってきましたが、初期のメモリチェックが延々と続き、終わりません。次にオークションで購入していた使用機器と同機種の予備機(その2)を出してきましたが、初期動作は良好ながら、紙送りのフィード動作点検中に、同じくトラクタフィードのベルトが左右とも切れてしまいました。次に出してきた予備機(その3)は、8340SVの後継機種で中古ショップで購入した物です。状態は良好そうで、代替機候補の筆頭でしたが、同じように紙送り動作チェック中に、またもや片方のベルトが切れてしまいました。

最後の予備機(その4)は、全体が色あせていて当初はどうかと思いましたが、意外と動作はスムーズで、動作チェックもOK。これでどうにかなりそうだと設置して、PC98からプリントを続行していましたら、、途中でトラクタフィードのベルトがまた切れてしまいました。もはや、このベルトの部材は、使用している居ないにかかわらず、単に経年劣化で寿命を迎えているようです。仮に、すぐオークション等で同機種を入手出来たとしても、同様にすぐベルトが切れてしまうでしょう。ただしかし、何かあったら大変だと予備機を何台も用意して、準備万端整えてあったと思っていたにもかかわらず、実際にはそれがことごとく使用出来ないとは、もう呆然としてしまいます、、

後は、手元のWindows用のドットインパクトプリンタで、Windowsから印刷するしかありません。MS-DOS上では、プログラムが印刷ファイルを出力し、Cのプログラムでそのファイルを多少修正後、print文でプリンタに印字させていました。なので最初は、WindowsのCMDにDOSと同じく"print"というコマンドが有るので、Windowsに持ってきた印刷ファイルを、DOSの時と同じくこのコマンドでプリンタに送って印字させれば大丈夫じゃない、、とか思ったのですが、全くうまく行きません。色々調べても、色々やっても、何の印字すら出来ないので全くお手上げです。

あれこれやった後、結局何らかのアプリケーションから印刷させるしか方法が無いと、諦めたのがもう夕方です。暫く試してみて、普段使っているエディタとかでは、こういう印字には全く対応できないと分かりました。

パソコン事務用ソフトの定番は、オフィスと称するプログラム群ですが、私はエクセルしか使った事がありません。所謂ワープロソフトは、一太郎をすこし使った事がある程度で、元々凝った文面は作らないので、殆どエディタで済ませていました。しかしここは、こういうソフトで読み込んで印字調整するしかないと判断し、唯一ライセンスのあるMS Word 2007を利用する事にしました。

今まで全く使った事が無かったMS-Wordの、ページレイアウト、スタイル調整と印字調整、それとプリンタのプロパティに格闘しながら、本日土曜日朝から昼過ぎまで、午後にはやっとめどが立ちました。

今まで全く使った事が無いWordですが、フォントを変えたり、行間を変更したりは、その都度ネットで検索し調べてから試行錯誤です。ページレイアウトでは、プリンタの選択次第で出てこないフォーマットが有ると気がつくまでに少しかかりました。用紙のサイズを計ったところ、10x9インチの様ですが選択にありません。こういう場合、横方向はプリンタの最大値15インチにするのが普通みたいで、選択は15x9インチみたいです。

Wordのプリントイメージでは良さそうなところまで出来ても、実際印字させると2ページ目以降が離れてしまうのには困りました。プリンタのプロパティで、用紙サイズ(15x9)や、ローディング(フロントトラクタを選択)などをキチンと設定してあっても駄目でした。そこで、デフォルトで用紙の向きが「縦」になっている所を「横」にしてみますと、やっとうまくプリント出来ました。用紙設定が15x9なので、まぁ「横」と言えば「横」なのですが、凄く分かりづらいですよね。

DOSでプリントしていた印字ファイルそのままだと、上下の余白の問題でプリント出来ない所がでるので、幾つかの空行を抜いたり、印字できないところを消したりするフィルタをpythonで作成して、それで印刷データファイルを修正。Word上にその印刷データをペーストして、その後Word上で色々な手順を踏んでレイアウトを修正し、印字もプロパティを合わせて、やっとこさ、今までと同じフォーマットの用紙に印字する事が出来ました。やっと、何とか急場をしのげた、と言う所です。

問題は、今後どうするかと言う事です。こうやって手間をかければ、何とか今までと同じように出来るかも知れませんが、ふと考えてみると、普段目にする納品書や請求書の類いの伝票、私が未だに続けている様な、ドットインパクト印字の複写は既に皆無で、殆どが単票のプリントです。もう、複写を残しておく要も無いのでしょう。それにドットインパクトプリンタ自体絶滅危惧種で、残念ながらOKIはもう製造していません。

請求書発行のプログラムの出力をCSV形式のデータにして、それをpythonとかでエクセルのファイルに変換し、エクセルから請求書の体裁を整えて単票ごとにプリント、と言うのがよさそうです。このくらいだったら、まだ私でも出来そうです。請求書の用紙の在庫がまだ結構有るため、少し先になりそうですが。