ハングアップの日々

2000年 5月分

2000/05/31

 一太郎 Ark のソースコードが公開されたということで、早速ダウンロードしてきた。サーバがかなり混んでいたようで、ダウンロードに異常に時間がかかった。

2000/05/27

 Win2k で \AUTOEXEC.NT に doskey /insert と書いておいても、それが有効にならない場合があるようだ。それでは不便なのでレジストリをいじって 〜\Command Processor\AutoRun に doskey /insert と書いておいた。ちなみに cmd.exe 起動時に複数のコマンドを起動させたい場合は、& で区切ればよいようである。
 Win2k で MO に対する遅延書き込みを無効にしたはずなのに、まだ遅延書き込みをしようとしているようである。MO にアクセスしてからすぐに MO を取り出してしばらく経つと、遅延書き込みに失敗したなどというふざけたメッセージが表示される。どうやら最終アクセス日時を書き込みに行っているみたいである。このメッセージが表示される前に MO を入れ替えてしまったら、おそらくあとから入れた MO が破壊される。Win2k は全く信用できない。

2000/05/24

 Java の IDE である、Forte for Java を使ってみたが、やはり MMX Pentium 178MHz や MediaGX 233MHz では遅すぎて使い物にならない。(それ以前に PC-98 版の Win95 では、コンソール出力が表示されていないと Win32 プログラムがブロックしてしまう関係で Forte が起動すらしなかったりする。) 使い方がさっぱり分からないのでヘルプを見たが、遅いのでヘルプを見るのも一苦労である。無料で使える Java の IDE には Inprise の JBuilder 3.5 もあるが、これも遅くて使えないのではないかと思う。試しに使ってみたいのだがライセンスキーを入手する必要があり、面倒なのでまだ入手していない。
 Forte のディレクトリの中に、fastjavac.exe というものがある。ファイル名からして Java のコンパイラである javac の高速バージョンだろうという気はしていたのだが、今までこれをコマンドラインから使う方法がわからなかった。いろいろと試してみたところ、ようやくこれを使う方法がわかった。
@a:\forte4j\bin\fastjavac\fastjavac -jdk a:\jdk1.3 %1 %2 %3 %4 %5 %6 %7 %8 %9
と書いたファイルを a:\jdk1.3\bin\fjavac.bat として保存することで、fjavac で高速コンパイラが使えるようになった。-jdk a:\jdk1.3 の部分がポイントである。Java で書かれている javac に比べると遙かに速い。コンパイルが一瞬で終わってしまう。これで Java プログラムの開発も少しは楽になるだろう。
 Win2k のコマンドプロンプトはファイル名の補完機能が使えて便利である。(設定の仕方はコマンドラインで cmd/? と入力すると表示される。自分の場合は CompletionChar, PathCompletionChar の両方に 0x9(TAB) を指定している。A:\AUTOEXEC.NT に doskey /insert と書いておくとなお良い。) Win9x の MS-DOS プロンプトでも補完機能を使いたいのだがどうしたらいいのだろう。そういえば補完機能を使えるようにするフリーソフトがあったような気が・・・。Java のコンパイラなどのコマンドラインツールを頻繁に使う場合は、やはり DOS ファイラの WD を使うのが1番操作性がいいのだが、それが使えず、さらに補完機能すら使えない FIVA ではなかなかつらいものがある。Win2k では補完機能が使えるのでまだましではあるが、やはり WD の操作性には全くかなわない。コマンドラインツールが利用しやすい Win32 用ファイラがあれば DOS ファイラの呪縛から逃れられるのだが、そんなファイラは1度も見たことがない。ここはやはり自分で作る必要があるのか?
 作りかけのプログラムが3つもある。どれから手をつけよう? Java 用の LHA ライブラリか、ファイラか、ダイレクトディスクアクセスライブラリか。最終目標はそれらをすべてファイラに統一してしまうことなのだが。

2000/05/23

 Win2k のレジストリの一部を Win95 へコピーしようと思い、Win2k でレジストリを reg ファイルに書き出そうとしてみた。Win2k にはレジストリエディタが2種類あるのだが regedt32.exe では、reg 形式での書き出しはできないようである。regedit.exe で書き出してみたら文字コードが UNICODE になっていた。これでは書き出した意味がないので強引にメモ帳で Win95 で読み込める形式に直した。あとで調べたところ、regedit.exe には Win95 と同じ形式で書き出す機能もあった。
 特定のアプリの設定を保存したり、その設定を他のマシン・OS にコピーする場合、ini ファイルを利用しているアプリの場合はファイルをコピーするだけで済むのに、レジストリを利用している場合はいちいち今回のように reg ファイルに書き出す必要があり実に面倒である。
 Win2k を使っているとファイルの順番が勝手に入れ替わってしまう。ファイルの順番には意味を持たせてあるのでこれは非常に腹立たしいことである。Win2k に対応したディレクトリエントリ並べ替えツールを作る必要があるのか? Win2k でダイレクトディスクアクセスする方法は既に調査済みである。ダイレクトディスクリードができることも確認した。あとはダイレクトディスクライトの実験をして・・・。いつになることやら。

2000/05/22

 100BASE-TX と 10BASE-T の速度差を簡単に調べてみた。Ls150 のドライブを FIVA からアクセスできる状態にして HDBENCH でアクセス速度をチェックしてみた。10BASE-T では Read 870KB/s, Write 640KB/s、100BASE-TX では Read 1330KB/s, Write 770KB/s という結果になった。一応 100BASE-TX の方が速いがそれほど差がない。暇なときにでもファイルコピーの時間差なども調べてみたい。

2000/05/21

 Win2k の MO ドライブに関する設定を見ていたら、「書き込みキャッシュを有効にする」という設定が ON になっていた。リムーバブルメディアに対して遅延書き込みをするのは大いに問題だと思う。MO のデータを破壊されたのもこれが原因ではないだろうか。この設定は OFF にしておいた。

2000/05/20

 市販のLAN ケーブルは太くて扱いにくいのでケーブルを自作してみることにした。普通の LAN ケーブルには8本の線が通っているが実際には4本しか使われていないようなので、4本だけ結線することにした。圧着するための工具を持っていないので、ペンチとマイナスドライバーで圧着した。作ったケーブルでつないでみたところ正常に動作した。

2000/05/19

 CyQ've の LAN カード ELA-110E を買ってきた。ドライバディスクが PC-98 用と AT 互換機用で別々になっていた。PC-98 用には Win2k 用のドライバが入っていなかったが、AT 互換機用のドライバをインストールしたらちゃんと使えた。Win2k 用のドライバも PC-98 用のディスクに入れておいてほしい。ELA-110E を超漢字で使ってみた。意外にも「未サポート」の文字は表示されなかった。しかし、うまく動作してくれなかった。残念である。

2000/05/16

 Win2k を使っていたら MO だけではなく HDD までもが変なことになってきた。MO ほどではなかったが、復旧にちょっと時間がかかった。どうやら Win2k の「休止状態」を使ったのが原因のようだ。Win2k を休止状態にしてから Win95 を起動し、HDD にアクセスしてから Win95 を終了して、Win2k を休止状態から復帰させると HDD の中身が壊されてしまう。休止状態を使えば Win2k の起動時間が短縮できるので複数の OS を頻繁に切り替えて使う場合などに便利だと思っていたのだが、これでは全く使い物にならない。こんな腐った機能は2度と使うわけにはいかない。休止状態のこんな危険性について説明してあるのは見たことがない。果たしてこれに気付いた人はどのくらいいることか。
 Win2k で MP3 を再生してみると、Win95 のときに比べて CPU 占有率が格段に少ない値になっていた。だいたい 15% ぐらいである。サウンドドライバが改善されたということだろうか。(Win95 では、WAV ファイルの再生だけで 30% ぐらいになってしまう。)
 Win2k には「ファイルを開く」ダイアログが2種類あるようだ。自作プログラムでも WvePrn は従来通りのダイアログが開くのだが、 Wave Editor は余計なものがごちゃごちゃついたダイアログが表示される。従来通りのダイアログを表示させるにはどうしたらよいのだろうか。

2000/05/15

 Win95 を起動してから HSB で再起動して Win2k を起動したところ、Win2k が休止状態からの復帰ができずに最初から起動が始まってしまった。不思議に思って調べてみるとメモリが 32MB しか認識されていない。16MB システム空間を切り離した状態が HSB に記録されていたからのようだ。16MB システム空間を使用するようにした状態を HSB に記録し直す必要がありそうだ。
 あとで HSB に現在の環境を記録し直したら、HSB での再起動後も Win2k で 79MB 認識するようになった。
 Java 2 SDK v1.3 をインストールした。ウィンドウを開くと勝手に IME が切り替わってしまうバグはやはり直っていなかった。Ls150 の方も MS-IME を削除するか?

2000/05/14

 8GB超の領域から Win2k が起動できないせいで、どうやっても B: に Win2k をインストールできなかったので、A: の Win95 を Win2k にアップグレードすることにした。インストール中に何回か Ls150 が熱暴走(?)を起こしてしまったが、なんとか Win2k のインストールが終わった。
 Win2k に MO のデータを破壊された。MO を使ったあと、別の MO に入れ替えたのだが、なぜか MO が入れ替わったことを認識しれくれなかった。不審に思って調べてみると、1枚目の MO のルートディレクトリの内容がそっくりそのまま2枚目の MO に書き込まれてしまっていた。scandisk では手に負えないと判断し、NECO を使ってほとんど手作業で復旧させた。半日かけてほぼ復旧させたがまだ完全ではない。Win2k は MS によれば、信頼性が高い OS ということになっているが、全くの嘘だということがはっきり確認できた。Win2k の信頼性はゼロである。
 B: に Win95 を新規インストールした。昨日さんざん苦労したので今日はインストールはスムーズに済んだ。
 いつの間にか HDD 起動メニューで FreeBSD が選択できなくなってしまっていた。
 Win2k がメモリを 32MB しか認識しない原因が判明した。16MB システム空間を切り離すようにしていたのが原因だった。16MB システム空間を使用するように変更したところ、79MB 認識するようになり、全体的に動作が少しスムーズになった。マウスカーソルもスムーズに動くようになった。Win95 や FreeBSD で使えるメモリが 1MB 減ってしまうが仕方ない。しかし、16MB システム空間を切り離すと 16MB ではなく 32MB と認識するのは不思議だ。

2000/05/13

 Ls150 の HDD をようやく DARA-212000 と換装した。

    A: 7500MB (FAT32)
    B: 2000MB (FAT32)
    C: 1000MB (FAT16)
       1012MB (FreeBSD)

というように4つに分割した。A: に Win95、B: に Win2k、C: に MS-DOS を入れるつもりである。
 Win95 のインストールには手間取った。なぜかインストール途中で画面が表示されなくなってしまった。SAFE モードで再起動して正しいグラフィックドライバを入れたところ画面が表示されるようになった。インストールが終わったらなぜかグラフィックドライバが2つ入っていて競合を起こしている。ついでにシステムタイマーとシステム CMOS/リアルタイムクロックが競合を起こしていた。システムタイマーのほうは自動設定を解除すると競合は解消されたのだが、グラフィックドライバのほうは一方を削除しようとしたら Win95 がハングアップしてしまった。全部削除してもう1度インストールし直してみた。今度は最初に正しいグラフィックドライバを選択したにもかかわらず、また途中で画面が表示されなくなってしまった。SAFE モードでドライバを選択してインストールを続行したところまたドライバが2つインストールされた。最終的に Ls12/150,La13(Cirrus) の方のプロパティを開いて、「このドライバを削除する」にチェックを入れて再起動し、次に GD7555(Cirrus) のプロパティを開いて「ドライバの更新」で Ls12/150,La13(Cirrus) を選択することで、正常な状態になった。
 Win2k のインストールにはさらに手間取った。何度インストールしようとしても、CD-ROM から必要なファイルをコピーし終わって再起動した時点で、ファイルが見つからないか壊れているというメッセージが表示されてそこから先に進まなかった。ふと思って、そのファイルをディスクの先頭の方に移動してみたところインストールが再開された。ところがその次の再起動で、またしても同じメッセージが表示されてインストールができなかった。どうやら 98 用の Win2k はシステムファイルがディスクの先頭から 8GB以内のところにないと起動ができないようである。AT 互換機用の Win2k は 8GB超の領域からも起動できるのだろうか。
 FreeBSD(98) 2.2.8R-Rev01 をインストールした。Win2k とは違って、8GB以降の領域からも全く問題なく起動できた。
 Java 2 SDK v1.3 の正式版をダウンロードしてきた。Forte for Java という Java 用の統合開発環境(IDE)があったので一緒にダウンしてきた。ドキュメントもダウンしたので全部で 100MB ほどになってしまった。

2000/05/12

 サスペンドからの復帰後の LAN カードの動作状況をもう少し調べてみた。FIVA では LPC2-T と FNW-3700-T は復帰後1度抜き差ししないと動作しないが、Ls150 ではどちらも復帰後も正常に動作する。さすがは FIVA、動作が怪しすぎる。

2000/05/08

 今まで FIVA に RIOS の LAN カードを挿したときにサスペンドからの復帰に異常に時間がかかるのが気になっていたのだが、LPC2-T を使った場合は比較的短時間で復帰する。これはいいと思ったのだがよく調べるとサスペンドから復帰してから LPC2-T が正常に動作しない。全然だめである。復帰後に LPC2-T を抜き差ししてみたところ Win98 が反応しなくなったかと思ったらしばらくして勝手に再起動してしまった。もう1度復帰後に抜き差ししてみたら今度はまともに動作した。超漢字ではサスペンド復帰後も LPC2-T は正常に動作した。超漢字ですらまともに動作するというのに Win98 ではまともに動かないとは・・・。
 ここしばらくまともに動作していた FIVA のハイバネーションがまたおかしくなった。Win98 だけでなく、DOS モードですらハイバネーションからの復帰に失敗して勝手に再起動してしまう有様である。ただし、超漢字でハイバネーションから復帰できなくなったことはまだ1度もない。やはり Win98 は腐っている。
 せっかく買った超漢字と DARA-212000 をまだ有効に活用していない。特に HDD の方はこのままでは換装もしないうちに値段が下がってしまうということになりかねない。さてパーティション分割はどうしようか。超漢字はすべてをキーボードで操作する方法が分からずちょっと困っている。

2000/05/07

 lh5, lh6, lh7 の解凍ルーチンがまともに動くようになってきたみたいだ。Java には unsigned short が存在しないので C からの移植にはちょっと苦労した。LHA のアルゴリズムをほとんど理解せずに作っているのでなおさらである。結局 unsigned short は深く考えずに int で代用してしまったのだが、よかったのだろうか。short を使うよりも int を使った方が速度が速いのならよいのだが。今度はヘッダの読み込み部分を作らなければならない。あとは lh0〜3, lzs, lz4, lz5 の解凍ルーチンも必要である。これらができたら公開しようかと思うのだが果たしていつになることやら。圧縮ルーチンもそのうち作ろうと思うのだがこれはさらに先になるのだろう。
 超漢字での動作報告がある Melco の LAN カード LPC2-T を買ってきた。実際超漢字で問題なく動作した。これで Ls150 と超漢字の間でデータを直接やりとりできるようになった。ただ、超漢字は TCP/IP しかサポートしていないのでわざわざ IP アドレスを設定してやらないといけなかったり、Ls150 の方には FTPd を常駐させる必要があったりと、Win9x 同士で LAN を組むよりは面倒である。ファイル変換小物でのファイルのやりとりはできたが、コンソールでのやりとりの仕方が分からない。

2000/05/06

 lh5 の解凍ルーチンは一応まともに動いているみたいだが、lh6, lh7 の方は少し変である。果たしてこんな調子で完成させることができるのだろうか。

2000/05/05

 作りかけになったままだった Java 用 lzh ファイル解凍ルーチンに約1年半ぶりに手を加えてみた。何しろ久しぶりなので、まずは作業がどこまで進んでいたかの確認からである。まずは lh5, lh6, lh7 の解凍ルーチンを完成させようと思う。

2000/05/01

 Java 2 SDK v1.3 RC3 をダウンロードしてきた。相変わらず動作がおかしい。Java プログラムで新しいウィンドウを開いたらなぜか IME が勝手に切り替わってしまう不具合は直っていない。しかも、RC2 よりも不安定になっているような気が。これでは使い物にならない。FIVA から IME98 を削除したところ、安定動作するようになった。Ls150 の方は動作チェックのために IME95 を残しておこうと思う。


Copyright (C) 2000 K.Takata