=============================================================================== 開 発 日 記 =============================================================================== 3月10日 秋葉原某TZにて PC-FX GA を3980円にて購入。安いぜ、安すぎる〜☆ ついでに「女神天国2」を某G館にて購入(実はこれが本来の目的)。 3月11日 暫く遊ぶが、ディスクアクセスの遅さが泣き入ってます。 本体側メモリが全然有効活用されていないのでキャッシュドライバでも 作ろうかということになる。誰か作ってないっすか〜? ん〜しかし、仮に誰かが作ってたとしても自分の要求を満たすものは自 分で作るのが一番だ! というわけで製作開始と相成った。 5月某日 「スパークリングフェザー」をゲット。 テストと称して遊んでばかりで開発が進まない(笑) 8月8日 「となりのプリンセスRolfee」をゲット。 実は密かに只野ファンなのです。いや密かにじゃないかも(汗) 気がつくと今度は PC-FX本体が 14800円に値下がりしてるし。 ソフトで地道に稼ごうという意気込みがモロに感じられます。もっとも 今の御時勢、ハードウェア製造費も相当下がってるとは思うけど。 8月14日 ロルフィーの愛を受け、キャッシングしか出来ないプロトタイプが完成。 今のバージョンでは、キャッシュ部分がすばらしくタコです。ハッシュ なんて使ってないので総当たり検索してます(汗) まあ、近頃のマシンはパワーだけは腐るほどあるので全然問題ないかも などと言ってしまえばそれまでなんですが。たかが八千回のループ…。 8月15日 コミケで落とした原因がこれだなんて誰にも言えない…(ォィ 電車の中でこのキャッシュのインプリメントに関して考える暇があって とても助かりました。おかげでこのプログラムは今こうやって存在して いるのです(笑) 8月16日 交通費出なくてコミケ二日目行けませんでした(泣) 窓中使用について検討する。が、いろいろ試してみたけどまるでダメ。 int 2Fh をフックしているはずなのに、WinCheckやCD-ROMドライバ周り のファンクションが廻ってこない。 どうやらこれらのファンクションは、プロテクトモード側の割り込みハ ンドラで優先的に処理され、リアルモード(正確には仮想86だが)の 割り込みハンドラには処理が廻ってこない様子。まったくもー、これだ から窓は使えねーってんだ…プンプン アニメーション非キャッシュ機能搭載。 このアルゴリズムは超簡単、10セクタ単位のシーケンシャルリード要 求が16回以上連続して行われた時、それ以降のシーケンシャルなアク セスに対してキャッシングをしません。 この機能はデフォルトをどっちにするか迷いましたが、メモリの浪費を 避けるために非キャッシュをデフォルトとしました。 先読みタイミングについて検討。なんらかの割り込みが無いと先読みが 出来ないのです。ESC キーで終了するあたり、キーボードBIOS等呼んで いるかと思いましたが、実はキーマトリクスを直接見てるだけというオ チ。逆汗してコードを見てみるとそれらしい割り込み発生タイミングは 無し。 結局、タイミングを作るとすればV-sync割り込みなど使って自力で作る しかなさそうです。でもそうなるとDOS汎用にならないんだよなぁ。 うーん、なんかいい方法はないかなぁ。 8月17日 交通費出なくてコミケ三日目行けませんでした(号泣) 今日は XMS ver3 に対応しました。Ralf Brown氏に感謝します。 XMS ver3を使用した場合、最大128Mまでキャッシングが可能です。 XMS ver2の場合は最大64Mまでキャッシング出来ます。多分。 今、動作確認用のソフトってRolfeeしかないのよね。そういうわけで、 ブロックリード絡みのバグをまだ取りきれてないかもしれないけど、前 のバージョンよりマシだろうってことで公開。 動作速度比較のために FXGA.COM 無しで遊んでみたところ、遅くてたま らん。こんな遅い環境で今まで良く遊んでたな〜、と自己嫌悪(ォィ 20倍速ドライブとか使えば、キャッシュ無しでもある程度速いのかも しれないけど、ドライブは4倍速で不自由してないし。 8月19日 今日は暇だったんでコードをオプティマイズする。せっかく32ビット 使えるんだから有効活用しなくちゃね☆ 全体を32ビット化したら、コード量が結構減った。動作も高速化した だろう。もっとも、速度の向上なんてどうせ気分的な問題なんだけど。 プリフェッチオプションを追加してみた。が、逆に遅くなる始末。ドラ イブ側でプリフェッチは行われているのでそれを考えると全然意味無し。 結局何もしないのが一番だという結論に達した。参考までに、XM-5301 は100セクタ程度のプリフェッチをするみたいだ。 8月26日 今日もFXGAで遊ぶ。あったらいいな〜的な次の機能を追加した。 [SHIFT]+[ESC] で終了した時は、キャッシュをフラッシュせずに再起動 するようにした。[SELECT]+[RUN]リセットが効かない場合に便利。 PC/AT 版FXGAでは動作しないという報告を頂いた。やはり98版とはイン プリメントが異なっていたらしい。というわけでMSCDEXエミュレーショ ンを強化した。これで動くようになれば良いが…。詳しい不具合報告を 聞き次第、次のバージョンとして公開する事にする。 8月28日 今日は、なんとかして窓95のDOS窓で遊べないかと検討してみた。 いろいろ試してみたところ、CONFIG.sys中にCD-ROMドライバを組み込み、 システムを 16bit FS にすることでなんとか動作させられるみたいだ。 ただし、これは現実的ではないね。 窓95中での使用は一応可能ではある、という結論。 いろいろとメールを貰った。その節はどうもでした。>かおるさん DOS/V版の FXGAV.exe の事が良くわかった。対応したつもり。 8月29日 そういう気分だったので /U オプションを付けてみた。動くかなぁ。 あー多連装ドライブ欲しくなってきた。お金入ったら買おうかなぁ。 キャッシュフラッシュのタイミングを、メディア交換時に変更。 今までは手動交換されると認識出来てなかったのよね、失敗失敗(^^; Ver0.40 公開。 8月31日 キャッシュアルゴリズム最適化オプションを追加。 キャッシュミスした時にどのエレメントを潰すか、の判断を行うように なる。即ち、多くアクセスされたエレメントはキャッシュメモリ上から 消えにくく、逆に一度きりのアクセスはキャッシュメモリ上から消えや すくなる。ワンタイムイベントの多いゲームで指定するとキャッシュの 効率がよくなる。 このオプションを付けた場合、キャッシュミスした時にエレメント検索 のオーバーヘッドが発生するのでアクセス速度が若干遅くなる。尤も、 体感出来るほど遅くはならないので大丈夫。 9月4日 FXGA.exeにパッチを当てる事によりDOS窓での動作を試みる。パッチ 自体は難無く成功。だが、95が16ビットのドライバまで干渉してる ようで、うまくいかない。理論上はこれで完璧なのだが。 CONFIG.sys にドライバを登録し、/DP オプションと /D: オプ ションを併用すれば、もしかするとDOS窓で動く環境もあるかもしれ ない。試してみる価値はあるかもね。 9月5日 BACKUP.iniの3行目にオプションを書けるようにした。例えば次。 A:\FXGA\PCFXBACK.RAM A:\FXGA\PCFXCARD.RAM /D:ASPICD0 /OC /DP 4行目以降は無視されるし、BACKUP.iniの大きさは256バイト未満で なくてはならない(理論的にそれ以上には成り得ないのだ^^;)。 評価は、ファイル→コマンドラインの順に行うので、オプションはコマ ンドラインの方が優先されることになる。 将来的に FXGA.exe がバージョンアップし、3行目を使うようになった 場合に誤動作は必至だが、そんな事はないだろう(プ FXGA.exeをデバッガで追って遊んだ。/V1とか/V2オプションがあること が判明。CanBe ってビデオ入力2系統あるのね。多分その切り換え用だ と思うけど。 /Bxとか/Wxとか謎なオプションがあるということも判明。どういう意味 があるのかは未だ謎。挙動を追求する暇はないらしい。どちらにしても 隠しオプションなのでメーカーに問い合わせたりしないように。 自分自身のファイル名取得に失敗することがあるバグを修正。 9月6日 久しぶりに秋葉に行く機会が出来たので、MJ-5.16si(Nakamichi)を某双 頭で買ってきた。ついでに某ソフト1でるろ剣銀箱の予約をしてきた。 帰宅してさっそく取り付け。SCSIなので導入は楽勝。ATAPI なんて買っ ちゃ駄目よね。使い回しが利かんうえにトラブルの元になるだけ。 HENRY103.SYS + MJSCASPI.SYS(付属) の組み合わせで、DOS窓での動 作を確認。ついでに MJSCN98S.SYS(付属) で試したところ、動作せず。 やはり使えるドライバと使えないドライバがあるようだ。 また、妙な事をするとすぐハングアップするので、FXGA以外のプロセス は起動出来ないに等しい。攻略メモをとりながら遊ぶ程度なら平気だけ ど、95がいつハングアップするかわからないのでメモにならない(^^; ちょっとした気分転換用に起動っていう用途には向いてるかもしれない。 堅実に遊ぶなら生DOSに限るという結論。 その後ボイスパラダイスで遊んだのだが、せっかくの連装ドライブなの にディスクの交換を要求してくるのが馬鹿らしい。その辺、うまい具合 に処理しようと心に誓ったのであった。必要は発明の母なり。ふふふ。 9月7日 さて日付は変わるが6日深夜。ボイスパラダイス快適化作戦任務完了。 /Uオプションで複数のユニット番号を指定すると、オートイジェクトの 時にその順にユニットが変更される。こりゃいいわ。 /U:01 : 0→1→0→1→0→以下略 /U:234 : 2→3→4→2→3→以下略 ってな具合に回転するのだぁ〜。 複数枚のディスクを必要とするソフトで、かつ自動的にドアが開くもの に限ってこの機能は利用出来るのよ〜ん☆ この拡張の際に、交換されているかどうかわからない場合、にもキャッ シュをフラッシュするようにした。この不都合で10分間悩んだ(^^; 実際に遊んでみると快適そのもの。もう普通のFXには戻れない…。 時刻は3時オーバー。寝る。 起きた。 Ver0.50 公開。 9月11日 FX-Engine 製作構想あり。暇と資料があったらチャレンジしてみたい。 実際、Magic Engineは凄いんだけどね、やっぱやるならFXでしょ、FX。 9月17日 ハッシュアルゴリズム搭載で高速化を実現。だが愛機のCx5x86-100だと 違いがわからない。実際の所、総当たりのヒット検索よりも、DOSの ファンクションを使った画面表示の方が処理時間食ってるはず。 まぁ、こういう姑息な高速化ってのが実は重要なのよね。いつの時代に なっても忘れちゃいかんす。 とにかく高速に動作させたい場合は、/NV オプションを付加するべし。 9月25日 買う気はなかったのだが、店頭デモで由里ちゃまが喋りまくってたので、 こみっくろーどをゲット。あぁ…幸せ。 10月5日 某地図にて DOS/V版FXGAをゲットする。6800円也。予備も確保(^^; FXGAはPnPじゃないのでICUの設定を済ませ、いざ刺すべし刺すべし! おぉっ、ISAバスフルサイズだっ!AWE32よりも大きいとはスゲーぜ…。 ケースの幅ぎりぎりである。 さて電源オ〜ン‥‥まったく問題なく動いたのであった。つまらん(ォ 当然ながら自分でDOS/V版でのFXGAV.COMの動作確認をするのは初めて。 ちゃんと動いて良かった〜。 Ver0.55 公開。 10月11日 OS/2 WarpのDOSセッションで遊ぶ。CD-ROMのドライバにバグが有るのか 仕様なのか、CD-ROMを少し読んだ所でシステムが落ちた(;_;キャー 諦めてDOSセッションのASPIを有効にしてCD-ROMドライバを入れた。 他のアプリがちと重くなるのが難点だが、実用上の問題は無し。安定度 は95の比ではない。WarpのDOSセッションはさすがに強いな。 10月17日 pc-fx.com の管理者であるかんすけさんには、非常にお世話になりまし た。お陰様でダウンロード数が跳ね上がり状態。影響力でかすぎ(^^; イソターネットってやっぱ凄いんだなぁ。 無断転載とか無断広告とか無断連絡(ナニソレ)とかバリバリオーケーなので どんどんやっちゃってください。その時ついでにメールなんぞ貰えたり すると4294967296倍喜びますo(^^)o 10月24日 ふと思い立ってダウンロード数を集計してみた。ん?300超えてる? こりゃびっくり(^^;、スゲー。 どーでもいいけど、FXGA用のOSなるものを開発しようかとか衝撃的に思 い付いてしまった。作ってもやる事無いんだけど(^^;、なんか楽しそう。 FXGAの底知れぬキャパシティには脳味噌をくすぐられる(謎) …っと、その前に開発キット買わなきゃ(汗) でもどこ探してもプラスが売られてないんですよぉ。私が一番欲しいの はアセンブラなのにぃ。FXGAが馬鹿売れしている今、2本ひとまとめに して1万円ぐらいで再販してくださいよぉ>NEC-HE …え?こんなドキュメントをNHEの人は見てない?そりゃそうだ…。 10月28日 某G館にて「みにまむなのにっく」と「ゼロイガー」をゲット。 「みにまむなのにっく」はキャッシュ使う意味無し(^^; 「ゼロイガー」のゲームバランスはなかなか凄いものがある(^^;; どちらも由里ちゃま出てて幸せなのであった。 どうもゼロイガーはFXGAとの相性が良くないみたいですね。CD-ROMから のデータ読み込みでエラーリトライしてないせいだと踏んでるんだけど。 他のFXGAと相性が悪いソフトも恐らく原因は同じなんじゃないかな。 もしこの想像が正しいとしたら明らかにソフト側(というかOS側か) の問題ですね。CD-ROMからのデータ読み込みを完了するまでポーリング するようにすれば、この問題は未然に回避出来るはず。 おまけ:AT互換機での簡単な調べ方 アニメーション再生中に Pauseキーを押して止めた後、適当にキーを押 してアニメーションを再開した時、続きが正常に再生されないソフトは FXGAとの相性が悪い。…という仮定をしてみる。 10月30日 ちょっと暇だったんで起動プログラムを解析してみた。その結果、いく つかの隠しオプションの謎が解けた。 ●98版AT版共通オプション /Bn : バッファサイズ指定。セクタ数で指定する。デフォルト値は10。 指定は1〜26まで有効。 ●AT版固有オプション /In : I/O ウェイト数の指定。デフォルト値は0(ノーウェイト)。 /R : 初期化時に、INPUT FLUSH を発行する。 FXGA.COMはバッファサイズの変更をサポートしていなかったので対応。 /Bn オプションに対応した事により、アニメーション判定方法を変更。 新しい実装では、同一セクタ数のシーケンシャルアクセスが16回以上 行われた時にキャッシングしなくなる。改良の余地あり、かな。 11月3日 /SS オプションを追加。このオプションを指定すれば、ある程度出来の 悪いドライバでも動作するようになる、と思う。 11月11日 /GU オプションを追加。デフォルトでは起動時の処理を端折って高速化 を図ります。もし問題が起こった時にはこのオプションを指定してくだ さい。でもまあ、これが原因で問題が起こる事は絶対にないでしょう。 Ver0.56 公開。 11月24日 PC-9821As2をパワーアップするべく32MBパリ付きSIMM*2購入。これでメ モリが90MBになった。でもVEM486だと64MBまでしか認識出来なくてシオシオ。 しょうがないので窓95付属のHIMEM.SYSを使うことで88MBのEMBを取れた。 これでアニメーションをキャッシングしても大丈夫〜(^^)v いや〜、マジで快適ナリ。あと2枚買って138Mにしようかな〜(爆) 実は先日秋葉の某Tぞねで、改造用に98のFXGAを買っていった事は秘密 です(ォ。メインメモリでも増やすかぁ? <でも意味ねーんだよな…。 12月1日 某山王で某2枚組みソフトを買って来た。まぁ多くは語るまい…。 それはそうと、某G館では品切れしてたぞい。実は結構売れてる様だ。 取り敢えず遊ぼうとするが、CD/DA を再生しようとしてハングアップし ている。そういやここんとこ CD/DAを再生するソフトを遊んでなかった から、こんな問題があったとは気がつかなかった。ドライバ変えたら動 いたので原因を追求することにした。 調査の結果、SEEKコマンドがエラーを吐くと正常に動作しないでハング アップ状態に陥るようなので、SEEKコマンドは無視して動作させるよう にした。まぁ問題ないでしょ。万事解決☆ ついでに各種情報表示を一部変更・追加しておいた。特にPiaキャロ の音楽モードで見栄えが良い。というのも、実はわざわざこのソフトの ためだけに追加したのだ(木亥火暴) …にしてもメモリ90MBはやっぱり快適なのだった(^^; 12月3日 CD-ROMを読みに行ったまま帰ってこない〜、なんでや〜〜! という症状で困っているあなたに朗報(^^; 本当に正しく作られたCD-ROMのドライバでは、FXGA.exeは動作しません。 理由は、FXGA.exeが呼び出し前にステータスをゼロクリアしてないから。 正しいデバイスドライバってのは、値を代入してフラグを立てるような 邪悪な事はしません。論理和をとってフラグを立てます。即ちデバドラ の呼び出し側は、呼ぶ前にステータスをゼロクリアしておかないといけ ないのです。エラービットが立ったまま呼び出したりすると、延々とリ トライを続ける事になります。 ってなわけでFXGA.COMを介して初期化するようにしました。今まで動か なかったドライバで動くようになる可能性が少しだけ出て来ます。これ でも動かなかったら…本当にダメなドライバなので別のドライバを使い ましょう。 12月12日 まだ買ってないけど、女神さま発売記念ってことでとりあえず…。 Ver0.60 公開。 12月24日 /SE オプション追加。あぁ、俺何やってんだろ…。 1998年 FXのソフトが打ち止めの気配なのであまりおめでたくない(プ 2月19日 /NC オプション指定時、メモリ無しでも動作するように変更。 DOS窓上での安定動作を確認。まぁ残された手はこれしかないわな。 2月22日 Canopus の PWR128P/4VC をほぼ衝動買い。 マルチメディアな動作環境に、しばし我を忘れて遊ぶ(笑) 暇なんでFXGAのアイコンなんぞ作ってみた。…そのまんまやんけ。 3月7日 /X: オプションを追加。主としてDOS窓用オプション。 3月21日 新居に引っ越した。 広くて奇麗で幸せ〜。 4月25日 ファーストKiss☆物語購入。 システムは良くも悪くもありがち。ま、仕方ないか。 ただし、ピアキャロ譲りの操作性は抜群だし、思わず抱きしめたくなる 女の子達がとっても萌える。1回目のプレイで既に萌えつきました(ォ 今頃全国のFXGAが何台動いているんだか…(^^; 4月26日 今後 PC-FXでソフトが出なかったらこのバージョンで最終にします。 また会う事がありましたら…。 Ver1.00 公開。