AdvEx.VxD に手を加えて、Win95 OSR2 上で、H/S パラメータが正常に取得できているかを確認してみた。どうやら正常に取得できているようだった。問題は、正常に設定できるかどうかなのだが、これを確かめるのは非常に面倒である。確かめるためには 40GB の HDD を再フォーマットする必要があるわけだが、フォーマットする前にデータをバックアップしようにも前の 20GB の HDD は FIVA の方に入れてしまったわけで・・・。
パラメータをいじるより、32GB 以降を独自フォーマットで使った方が安全だろうか。1年以上開発停止中の壁越えドライバの開発を再開させるべきか? いずれにせよ、40GB の HDD を全容量使うためには何らかのドライバを作る必要があるようだ。
Ls178 の HDD 換装で DJSA-220 が余ったわけだが、これを FIVA へドミノ移植を行った。まりもさんの新作ソフト HDdup98 を使って、FIVA の MHK2060AT の中身を DJSA-220 にコピーした。PC-98 でも AT 互換機の HDD をそっくりそのままコピーできるのは、非常に便利である。これでようやく、回転音が異常にうるさい MHK2060AT とおさらばできる。しかし、確かに回転音は DJSA-220 に交換することで小さくなったのだが、期待していたほどではなかった。Ls178 に入れていたときは DJSA-220 の回転音はほとんど気にならなかったのだが・・・。FIVA の筐体に構造的な問題があるのかも。こうなると FIVA 用に流体軸受けの HDD が欲しくなってくる。
げっ、AdvEx.VxD がバグってるじゃねーか。現在の H/S パラメータを保存すべきところを、デフォルトの H/S パラメータを保存していた。まともに動かなくて当たり前だ。しかし、これまでのコードだと Windows 自体が起動できなくなりそうなのだが・・・。そういえば以前 Win98 に AdvEx.VxD をインストールしたら Windows 自体が起動しなくなったことがあったような・・・。Win95 OSR2 では、問題なく起動できていたというのはかなり謎である。Win95 OSR2 だと、容量変更機能は動作していても、H/S パラメータ設定機能は動作していなかったということか? 修正後の AdvEx.VxD を Win98 にインストールしてみると、正常に起動できるようになった。この結果から考えると、Win95 OSR2 + EXIDE32G + AdvEx.VxD ではサスペンド後は動かないが、OS が Win98 ならば動くということになりそうだが・・・検証が面倒だ。
IC25N040ATCX04 という HDD が売られているのを見つけた。24時間駆動モデルと書かれていた。値段は \28,000 程度と、少々割高だった。おととい千石で買った 2.5inch → 3.5inch 変換コネクタだが、じゃんぱらの方が安かった。一番安いところで買ったと思っていたのに・・・。
昨日に引き続き Ls178 の HDD の換装作業、特に 32GB の壁に関する検証を行う。Win95 OSR2 + EXIDE32G + AdvEx.VxD で、サスペンドからの復帰後も正常に動作するかを調べてみた。結果、AdvEx.VxD でパラメータを再設定しているはずなのに、サスペンドからの復帰後は動作しなかった。
結局 8GB 程無駄になってしまうが、40GB のうち 32GB だけを利用することにした。AdvEx.VxD を改良すれば 40GB すべて使えるようになるかもしれないが、現状では 32GB までしか使わない方が安全だろう。ICC を使って IC25N040ATCS04 の LBA 数を、16*63*65535=66059280 (=32255MB) に制限しておいた。
まりもさんの drvcpy を使って DJSA-220 から IC25N040ATCS04 にデータをそっくりコピーした。Ra20 の低速内蔵 IDE につないでコピーしたわけだが、速度が遅くてやたらと時間が掛かった。1GB に 10分程度といった感じである。すべてコピーするのに 2〜3時間掛かってしまった。これでもすべてを再インストールするよりは遙かに短い時間しか掛かっていないのだろうが。
友人に触発されて IBM IC25N040ATCS04 を \19,700 にて購入。併せて 2.5inch → 3.5inch の変換コネクタも購入(2個目)。これで Ra20 を使って HDD を丸ごとコピーできるはず。
帰ってから変換コネクタを見ると 20pin が生えたままになっていて、ケーブルが刺さらなかったのでピンを切断した。
とりあえず IC25N040ATCS04 を Ra20 につないでみる。さすが流体軸受け、回転音がほとんどしない。4.25GB超の HDD をつないでもハングアップしていない。PK98-Mistress9 が有効に機能しているようだ。ここで、Ra20 から IC25N040ATCS04 フォーマットしてみようとしたが、ブートセクタが書き込めないというエラーが出てフォーマットできない。PK98-Mistress9 に付属している pharaoh.com を実行すれば良いはずだが、pharaoh.com は Win95 には対応していない。Win98 の起動ディスクは・・・手元に見あたらない。代わりに、まりもさんの FORMATX を使ってみようとしたが、このマシンでは使えないといわれてしまった。結局 2台目の Ls150 をばらして、IC25N040ATCS04 を入れて、そこに EXIDE32G をインストールしてから FORMATX でフォーマットした。EXIDE32G は PK98-Mistress9 互換パラメータで動かすように設定しておいた。(こんなとき同じマシンが 2台あるのはなかなか便利である。)
Win2k をインストールしてみたが、H:63, S:255 というパラメータでも問題なく起動できた。Win2k ではパラメータが決め打ちになっていて、32GB超のドライブでは問題が起こるというのは、SCSI だけのことだったか? 起動できることはとりあえず確認したので、今度は以前から気になっていたサスペンドでの挙動を調べてみることにした。サスペンドから復帰して数秒後、突然恐怖のブルースクリーンが・・・。どうやら EXIDE32G で設定されたパラメータがレジューム時に再設定されることはないようである。
ひとまず本日の作業はここまで。
よく調べたら、@nifty の会員種別が旧ニフティー会員のままだとサーバー上でのウィルスチェックはできないようだ。使えねーなぁ。
新生活(と言うほどのことではないが)も、そろそろ落ち着いてきたので、ADSL を申し込んだ。今住んでいるところだと、Flets ADSL, ACCA, eAccess の3つが使える。Flets は割高なので ACCA か eAccess にしようと思ったのだが・・・どちらがいいのだろうか。2ch などを覗いてみると ACCA の方が評判が良さそうだったので、迷ったあげく ACCA で申し込んでおいた。
昨日あたりから大量のウィルスメールが来ている。おそらく W32.Klez 系のウィルスだろう。"W32.Klez removal tools" などというふざけた題名のウィルスメールも来た。ウィルス本体の他に JPEG ファイルも添付されていたりして無駄にメールのサイズが大きいので、ダイヤルアップを使っている身にとって、非常にうっとうしい。月々 \200 払えばサーバー上でウィルスチェックしてもらうことも可能なようだが、チェックしてもらおうか?
古本屋で Andrew Schulman の「Windows 95 内部解析」を発見。以前から欲しいと思っていたのだが、2,3年ほど前に見かけたのを最後に本屋から消えてしまっていた。定価 \6,500 のところを \3,500 にて購入。世の中は Win9x 系から WinNT 系へ移行しているところだというのにいまさらこんな本を買うのもどうかと思うが、そういう細かいことは気にしないことにしておこう。
Java にはディスクの容量を取得する機能がないので、JNI を使ってディスクの容量を取得するプログラムを書いてみた。Win32 で容量を取得するには、GetDiskFreeSpaceEx() または GetDiskFreeSpace() を使うことになるのだが、GetDiskFreeSpaceEx() をそのまま使ってしまうと、Win95 OSR1 以前で動かなくなってしまう。そこで GetProcAddress() を使ってやるわけだが、へまをやってしまった。まず、アドレスを取得する際には "GetDiskFreeSpaceExA" という名前を使わなければならないのだが、最後の "A" を付け忘れていたためにアドレスを取得できず、少し悩んだ。次に、GetDiskFreeSpaceEx() は stdcall なのに、その指定を忘れていたために、エラーログを吐いてプログラムが落ちてしまった。
ここ数日、FIVA でネットに接続していると突然回線が切れたり、なかなかネットにつながらなかったりということが頻繁に発生していた。コードが断線しているような感じであった。ケーブルの向きを変えたりして騙し騙し使っていたが、ついに全く使えなくなってしまった。FIVA のモデムのコネクタは専用品なので、市販のモジュラーコードを買ってきてつなぐというわけにはいかない。専用コードがすぐに手に入るか分からないので、自分で直すことにした。コネクタ部分を分解してみると、端子に半田付けしてある部分で線が切れていた。半田付けし直して復活。(本当はそろそろ ADSL にしようかと考えているところなのだが。)
大学のマシンで JF を動かしてみた。休みの間に Solaris にインストールされている JDK のバージョンが 1.4.0 に上がっていた。以前 1.3 がインストールされていた頃は、フォント関連か何かでエラーが発生してまともに動かなかったのだが、今回はあっさり動いてしまった。Java で書いてあるとはいえ、ちょっと拍子抜けだった。補完機能もバッチリ動いている。テキストビューアがないのは非常に不便であった。ファイラーにテキストビューアは必須だと改めて感じさせられた。