2022年11月04日
_ [computer] 昔オークションで購入したPC-9821As2とAp2
PC98のDOS上でinformixにて、かなり手の込んだ業務用のソフトを書いて、長らく使用しています。informixはライブラリを使ってCからでもプログラムを書けるので、やりたい事を実現するために、かなりな部分をMS-Cで書いて、また98のハードを直接操作している所も多いです(若い頃は優秀だったよなぁ)。
PC98とDOSが廃れ始め、Windows-NTや、その後のWindowsに移行しようと、何度も試行錯誤。informixが無くなってからは、Paradoxや他のRDB、Oracleなども購入し試みましたがその度に断念し、結局全く使わず(勿体なかったなぁ)、ついに今に至ります。
既に新しいシステムに移行する気力はないよねぇ、で、もう60過ぎだし、このままPC98+informixで良いかな、と諦めの境地です。それで98エミュレータの検討も、ずいぶん前に既に済んでいるのですが、やはりプリンタやネットワーク環境の事も有り、実機で動かすのが一番です。世の中に、動いているPC98(とプリンタなどの周辺機器)が有る内は、何とか現状維持でやっていこうかと思っています。
当方使用のPC98も、もう何機種めでしょうか、最初は9801UV2で次がRa?、そしてここから9821になりまして、9821As2です。As2は市内のショップで購入しまして、そのときの事は幾らか記憶に有ります。確か23万円位したと思います。この後、使用がかなり少ないと見えるAp2をオークションで購入し、As2が不調になったので交換したのが、もう何時の事だったでしょうか?(15年くらい前?)
そのAp2も2014年位から、内蔵タイマーがおかしくなり、内蔵電池は交換したものの充分とは言えず、結局、暫く通電したままで置いてから(20分ほどすると内部タイマーが動き出す)立ち上げるという方策で誤魔化しながら、すでに8年以上です。考えれば、良くもっているなぁ、と言うところです。そして、少し前に立ち上げ時にエラーが出ました。調べてゆくと、RAMディスクの一つが作れなくなって居たのが原因でした。幸い、その容量を減らすと復帰しましたが、どこかメモリ関連で不調箇所が出た事が予測されます。
そんな事が有りながらも、現機はほぼ毎日なんとか正常に作動していますが、ずいぶん前にオークションで買ってあったAs2やAp2の状態を、一応確認してみる事にしました。両方とも、オークションで買って届いた時点でタイマーが動いておらず、そのまま物置の奥に置いたままになったPC98です。あまりチェックはしませんでしたが、現在の使用機の様に、暫く通電しておくとタイマーが動くようになるかも、です。
出してきたAsですが、立ち上がりはしますが、1時間おいても2時間おいてもタイマーは動き出しません。Ap2の方は、なんと電源が入らなくなっていました。少々落胆してまた仕舞い込んでいましたが、数日して思い直し、タイマーが幾らたっても動き出さないAs2は諦めて、こちらから電源ユニットを取り出してAp2と交換しました。交換した電源で復帰したAp2は、暫く通電しておくと内蔵タイマーが動き出しました。
これを機会に、万一の時の、即時の交換用の機器として仕立ててみる事にしました。予備のPC98としてはこの他、ずいぶん昔にV200やRa43やほぼ新品状態のCanBeを買ってあり、蔵の奥に入れたままですが、ソフトなどの環境は整えていませんでした。(これらの機器も、また様子を見ておかないと、既に動かない可能性もありますね。)
で、よく見ると、このAp2は何と5インチFDDモデルでした。流石に5インチのドライブは全て捨ててしまっています。使えないAs2は普通に3.5インチなので、電源に引き続いてドライブユニットも交換すれば良いじゃん、と思いAs2からドライブユニットを外して交換しようとしたら、良く見るとコネクタの大きさが少し違うではありませんか。この下の基板から交換する必要がありますが、98は最近のパソコンと違い結構周到な作りになっていまして、更なる分解も結構面倒そうなので止めてしまいました。
USBを使用する事が出来ない98を(Windowsなら使える拡張カードも有る様だけど、DOSでは無理)普通に使うには、プログラムやデータ転送用にイーサネット接続は必需です。イーサネットカードは予備として幾つか買ってありますが、それにはまずドライバやアプリが幾つか必要ですが、この5インチFDDの98にそれらのファイルを転送する適当な方法がありません。
それでSCSIディスクをつなぐ事を考えましたが、98用のSCSIのHDDドライブは、先日、「もう使う事は無いよな」と思い、捨ててしまったばかりです。現在使用中のRAID-Stationは、もし何か有っては困りますのであまり使いたくない事も有り、仕方ないので予備機として置いてあったRAID-Stationを持ってきましたが、中のHDDが死んでいたり、そもそも作動しない個体もあったりで、結構大変でしたが、何とか動かして、As2の方に刺さっていたSCSIカードを持ってきて繋いでみましたが、どうしても認識しませんでした。
では、内蔵IDEに直接書き込むか、と、HDDを取り出してきて、IDEからUSBの変換ケーブルを出してきてWindows機に繋いでみましたが、、読めません。変換ケーブルが機能していないのかも、と思いましたが、他のIDE HDDを繋ぐときちんと読み書き出来ました。それから調べてみますと、PC98のHDDのファイル構造は特殊で、普通では読めないらしいです。これにはちょっと驚きました、使用されていた時期などを考えれば、まぁそうかも知れないけど。それで、98のHDDに直接アクセス出来るソフトは無いかと探しましたが、USB接続した98のIDE HDDを読み書き出来るのは無さそうです。
いよいよ困ってしまいまして、ついにRS-232Cで接続してファイルを送る事にしました。検索するとRS-232CでPC98とファイル転送する記事も見つかりますね。リバースのRS-232Cケーブルが必要ですが、探してみたところ見つからず、でも代わりに98ノート(PC9821Ls13)との通信の為のRS-232Cケーブル(リバース)が見つかりました。よくこんな物、買ってあったものです。この98ノートは昨年液晶が死んでしまいましたが、幸い画像出力端子がありまして、外部モニタを繋げば使えます。結局、Windows10PC =(USB) => メモリカード => 9821Ls3 =(RS232C)=> 9821Ap2、となります、まぁ、面倒ですが、転送するファイルがドライバだったり、小さなユーティリティだったりなのでRS-232Cでも出来た事です。
必要ななのは、導入したイーサネットカードに対応したパケットドライバ、その上のTCP/IPのプロトコルを実現するソフトTEEN(TEENE.COM,TEEN.DEF)、そしてPINGやFTPなどのユーティリティです。今回、TEENと言うソフトを初めて知りました。そのTEENの上で動くFTPも、フリーの物が有る由。現状は、アライドテレシスのカードを使っていまして、それにアライドテレシスの製品版のPCTCPを購入し使っていますが、製品なので立ち上げにライセンスキーが必要だったりと、普通では複数箇所では使えない物です。フリーのソフトが有る事は、とても有難いですね。
イーサネットカードは、以前から使っているアライドテレシスの物が幾つか予備として買って有ります。また、今回参考にした記事ではメルコのLGY-98を使っていまして、オークションを見たところたまたま安く出ていたのが有りましたので、落札してすぐ届きました。まずはこのLGY-98でやってみて、次にアライドテレシスのカードで試してみました。今回古い機材ばかりですが、RS-232Cの通信は教えてもらった通りですんなりうまくいったのですが、パケットドライバのインストールの所で少しだけつまずいて、少々時間がかかりました。TEENの導入やFTPは特に問題なかったです。多分、すぐ忘れてしまうと思うので、簡単に手順を記述してきます。
[PC-9821Ls13からPC9821Ap2へ、RS-232Cにて転送]
まずRS-232Cを使用可能にする為に、共にドライバRSDRV.SYS をconfig.sysで組み込んでおきます。転送の送信、受信とも、copya.exeを使いますが、その前に通信の規格を合わせる必要がありますので、speed.exeにて合わせておきます(幾つか出てきますが、一番上のRS232C-0でOK)。私は、具体的には1ボーレート19200、キャラ長8bit にして、後はデフォルトのままにしました。バイナリ転送でしたら、受信側でファイル名の入力は必要ありませんが、テキスト転送の場合は、受信側も作成ファイル名を入力しておく必要があります(よく考えれば当たり前ですが)。まず受信側で実行して、それから送信側の実行を行いますと、転送が始まりました。
[パケットドライバの設定(メルコ LGY-98)]
ダウンロードしたドライバのファイルの中で、必要なのはLGYPKT.COM,MELCHK.EXEの2つです。まずMELCHKで状態をチェックします。エラーが出たらどこかまずいのでしょうが、私の場合正常診断でした。それだったの安心してしまい、パケットドライバLGYPKTの設定を説明書に書いてあったデフォルト数値通りの、
LGYPKT 0x60 3 0x00D0
にしましたが、これでは駄目だったみたいです(後のソフトでもエラーは出ないけど、繋がらない)。後で再度MELCHKを実行させて、表示をよく見ると、IRQは5となっていました。こちらに変更して、
LGYPKT 0x60 5 0x00D0
でちゃんと通信できました。
[パケットドライバの設定(アライドテレシス RE1000)]
ダウンロードしたドライバのファイルの中で、必要なのはRE1000PD.COM,CFGPD.EXE,ETHDIAG.EXEです。今回、カードの方の設定もポートアドレスを0x00D0にしてあるので、CFGPD,EXEでRE1000PDを修正して、そのRE1000PDを常駐させるだけですが、なぜかアドレスが合わないと、エラーになりました。仕方ないので、もう1枚のカードに変えると、うまくゆきました。その後、先のカードに戻してみたら、ちゃんと動きました。何が悪かったのか、不明です(接触不良でしょうか?)。
[TEENのインストール]
必要なのは、TEENE.COM,TEEN.DEF,PING,EXEです。PINGはチェックの為です。今回、98でTCP/IPのプロトコルを実現する、TEENと言うソフトが有る事を初めて知った事が大きいです。本当に有難いです。設定ファイルTEEN.DEFの内容を書き換えて、そのファイルへのパスを環境変数TEENに、例えば「SET TEEN="A:\TEEN.DEF"」の様に設定しておいて、本体TEENEを起動させるだけです。その後PINGで繋がっているか確認。OKなら、TEEN上で動くフリーのFTPも有るので、以後はFTPでデータ交換ができます。
追記: 以上のように各ネットワークカードのパケットドライバと、TEEN、フリーのFTPで作った環境ですが、今使用中の、アライドレテレシスのカードとソフト(製品版PC/TCP、FTPなどの各アプリを含む)に比べると、FTPの転送速度がかなり違います。同じアライドテレシスのネットワークカードRE1000とパケットドライバを使っているのに、です。ちなみにメルコのLGY-98の方でも変わりませんでした。少し転送速度をメモしてみましたが、
RE1000 TEEN+FTP(free) : ~35,000 Byte/Sec
LGY-98 TEEN+FTP(free) : ~30,000 Byte/Sec
RE1000 アライドテレシスのPC/TCPと含まれているFTP : ~680,000 Byte/Sec
と、PC/TCPが約20倍も高速です。確かPC/TCPのFTPはEMSを4ページ使うとか、どっかにありましたっけ(不確か、ですが)。流石に製品版と言うべきでしょうか。