2001年7月のエントリ

Denasu System i-mode,j-sky 対応。とりあえずトップページと,掲示板,ウェザタイランキングだけ対応した。

i-mode 版
j-sky 版

WAP は Hi-HO が text/x-hdml に対応していなかった(はず)ため,index.hdml を表示できず,非対応。まあ CGI だけならできそうだが。

と思ったが,Hi-HO は .htaccess に対応しているらしい。

AddType text/x-hdml;charset=Shift_JIS .hdml 

と書いておくことで,シミュレータから見ることができた。

WAP 版


DirectPlay が使用するポート。ネット上を調べていると,いくつかのページで

ポート番号 プロトコル
47624 TCP
2300~2400 TCP
2300~2400 UDP

と書いてある。これにウェザタイの使用ポート 16342 を指定すればいいと思う。47624 がホスト用で,16342 がメッセージ送受信用だとすると,2300~2400 って何に使うのだろうか。もう少し調査が必要。

CGI(掲示板,ウェザタイランキング,アクセスカウンタ)を大幅作り直し。といっても見た目には全く分からないが,今まで非効率だった部分を幾分効率的にしてみた。これで多少アクセスが多くなっても耐えられると思う。ま,まだそんなにアクセス多くないけど。

というわけで数日間この CGI 直しとかバイトとか学校のレポートとかをやっていたのだが,ようやくウェザタイの開発が再開できそうである。とりあえず対戦中落ちるバグと,DirectPlay の挙動の調査かなあ。

で,今 Pha-jtd 氏に頼んであるタイトルと背景,はっぱ氏に頼んであるものが上がったら Ver1.3 を公開,という形にしたい。

3 人対戦テスト。って論文明日までに書かないといけないのだが,せっかく Pha-jtd 氏と,バイト先のまっちー氏・Happa 氏が来てくれたのでやってみた。環境は,私とまっちー氏が普通の電話回線,Pha-jtd 氏・Happa 氏がフレッツ ISDN。このうち Happa 氏はセキュリティを高めているせいか,つながらなかった。残り 3 人は 1 回目はワード送信時に落ちたものの,2 回目はうまくいった。もう少し見直してみる必要がありそうだが,なんとか 3 人以上の対戦もできるようになったように思う。

久々に 3 人の開発者が集まったので 3 人対戦をテスト。私は普通の電話回線,1 人は ISDN,もう一人はフレッツ ISDN でルータ経由。ルータ経由の人はウェザタイポートを全てそのマシンに行くように設定済み(のはず)。

で結果だが,タイトルまでは行くものの,そこからスタートできない。リターンを押しても反応なし。2 人対戦や,ローカル 4 人対戦では可能なので原因不明。で,とりあえず詳細ログを取り,解散。

いろいろ見ていると,どうやらユーザー情報(ハンデとか)を送る部分で止まっているらしい。これは ver1.0 のときはなかったので,あの頃はうまくいっていたというのも納得だ。詳しく言うと

IDirectPlay8::SendTo()

から返ってこないらしい。ので,その後のメッセージ交換が一切行われなくなるらしい。とりあえずこのユーザー情報送信部分を移動させ,回避するようにしてみた。

しかし,再び 3 人対戦でのテストをしなければならないので,直ったとは言えないのである。一人は帰省中だしなかなか難しい。LAN とかで再現してくれればすぐ解決できると思うんだけどなあ。

Windows98 を Windows2000 に本格移行。PCMCIA モデムカードと合わせて,かなり快適になった。何よりエクスプローラが軽くなったのがすごくいい感じ。あとは DirectX 開発時にそうそう落ちなくなったとか,Win98 では終了しなくなっていたアプリケーションを強制終了させられるとか,恩恵は計り知れない。

手順をメモ。但し以下の手順で失敗しても責任は取れないのでご了承を。

  • Win98 で Win2000 インストーラを起動。
  • Win2000 では使用できないソフトが…とか言われてもとりあえず無視。
  • 再起動後,最初の画面で F5 を押し,「Standard PC」を選択(これをしないとブルースクリーンで落ちる)。
  • HD チェックを何回もしたり NTFS にしたりで数回再起動。
  • Win2000 の画面で最後の設定というのが 1 時間以上。
  • 自動認識しなかった & 使えないデバイスを設定(ディスプレイドライバは昨日の日記参照。16550 ことモデムは使えないので PCMCIA カードを使用)。
  • DirectX 等,Win2000 用に再セットアップ。

以上で OK。上書きセットアップでも何の問題もなくセットアップできた。これでメビウスの寿命が 1 年くらい延びたかなあ。

ついに Mebius MN-390-X26 に Windows2000 をインストールすることに成功した。いままで考えられる手段を片っ端から試していたが,どうしてもディスプレイドライバ(Trident Cyber9388)で,「このデバイスが使用できる空きリソースが不足しています。(コード12)」というエラーが出ていたのだ。もちろんリソースを見ても,「競合なし」になっていて,問題はないはずなのである。また,このドライバも Windows2000 に入っているものなので,対応しているはず,というかこれで使えている機種も存在するようである。

で,今回試したのは,NT 用の Trident Video Accelerator Ver4.5034 というドライバである。(何故か富士通のページからダウンロードした。)もちろん通常 NT 用のドライバは Windows2000 で使えるわけがないというのは分かっているが,いろいろ検索すると(別機種で)結構それで使えてる人がいるらしい。で,大昔に Mebius MN-390-X26 用として SHARP から配布されている NT 用ディスプレイドライバを試したのだが,起動時にブルースクリーンでだめだった。のであきらめていたのだが,今回このドライバで試したところ,動いたのだ。DirectDraw も問題ない。もちろん理由はさっぱり分からない。

とりあえずディスプレイドライバさえ動けば,USB もオーディオデバイスも,モデムカード(内蔵のは認識しないので PC カードのを買った。ソフトウェアモデムに比べるとかなり快適)も,全部 OK なので,本格的に移行することができる(今は昔使ってた HD に入れ替えてインストールしている)。これでやっとウェザタイのデバッグをする度に再起動という悪夢から逃れられ,開発効率もあがる。万歳。

って言っても近頃学校が忙しくて開発できないけど。

# 一応入手法だが,2002/12/08現在,Google で[Trident Cyber9388 v4.5034]をキーワードにして探すと出てくる。いつまで残っているかは分からないが。

ウェザタイ,ワード送信機能を搭載した版を開発版に公開。Pha-jtd さんによると「夢の機能」だそうだ。氏は ver1.0 の時からこの機能を欲しがっていたのである。今までは,自分でワードを作った場合,相手にあらかじめメール等で送り,同じファイルを使ってもらわなければならず,非常にめんどうだった。で,今回の機能によって,自分のマシンに入れておけば自動で相手側にも反映されるようになる,ということである。

ちょっと試してみたが,自分の知らないワードが出てくるのはなかなか新鮮でいい感じだった。

ウェザタイにワード送信機能を搭載する。これは問題文章として,各プレイヤーのワードを順々に出題していくものだが,かなりプログラムを変更したので,少し安定するまで開発版には載せないでおく。

これを含めて安定したら,マニュアル等を整備して v1.3 公開にしようという感じ。ランキングに参加できる版を早く正式公開したいというのがあるので。

ウェザタイ(長いのでこれから略してこう言います)のおかげで毎日日記に書くことがあっていいなあ。

昨日 Hi-HO でランキング CGI のテストしてたら,数十秒反応がなくなって,hoge.pl.core を吐いて復活した。Hi-HO には内緒。だいたいうちの CGI も,昔に作った効率の悪いものなので本格運用に耐えられるのかちょっと心配。サーバに負荷かけまくってる気もするし。Hi-HO で,Perl じゃなくて使い慣れた C++ か Servlet が使えればもっと効率のよい & 安全な & 携帯でも使えるとか,そんなのが作れるのだが。

知り合いのサーバに移転するか,Pha-jtd さんがサーバ立てるのを待とうか,Perl CGI を構築し直すか検討中。