Repository navigation
v0.1.17
v0.1.16 からの変更。実機で報告された「メニューが表示されたまま固まる」件の修正です。動作確認は PC-98 エミュレータ(NP21/W と DOSBox-X)の上で行っています。エミュレータではこの現象そのものが起きないので、直ったかどうかは実機では未確認です。
直したこと
-
CTRL + GRPH + HELP のメニューや、CTRL + GRPH + STOP の終了の確認が、表示されたままキーを受け付けずに固まる件(PC-9821Ap2、MS-DOS 6.2、EMM386.EXE の下。v0.1.14 から v0.1.16)
v0.1.16 でいただいたログから、次のことが分かりました。
- 実機の BIOS は、キーボードからキーを 1 つ受け取るたびに、キーボードの入出力の LSI に決まった値を書いています(キーボードへの応答にあたります)
- VBM98 は、ホットキーのキー(と、離したときの符号)を自分で受け取って捨てていますが、この応答をしていませんでした。そのあと、キーボードがデータを送らなくなっていました(CAPS キーを押しても LED が変わらなかったのも、キーボードが止まっていたためと見ています)
-kbdprobeの 1 段め(同じ値を書き直す)だけで、キーボードが動き出していました
そこで、VBM98 がキーを自分で受け取ったときには、BIOS と同じ応答をするようにしました。メニューや確認の行を出すときにも、念のため同じ書き込みをします。メニューを開かないホットキー(リセット、スクリーンショット)のあとにも効きます。
何バイトめで止まるのか、時間で止まるのか、という細かい仕組みは分かっていません。
試していただける方へ
メニューや終了の確認が固まっていた環境で、オプションを付けずに(-log だけは付けていただけると助かります)同じ操作をして、固まらなくなったかどうかを教えてください。
VBM98 -fdd0 GAME.HDM -log VBM98.LOG
- 固まらなくなっていれば、それだけお知らせいただければ十分です
- まだ固まる場合は、
-logと-kbdprobeを付けて同じ操作をし、固まったら 1 分半ほど待ってからキーを押して、ログを送ってください(前回のログから、2 段めの立て直しまでに 1 分ほどかかると見ています)
これまで問題なく動いていた機種でも、ホットキーとメニューの動きに関わる変更です。ホットキーのあとキー入力がおかしくなった、という場合もお知らせください。
動作環境
- 80386 以上の PC-98x1(ノーマルモード)、MS-DOS(リアルモードか、VCPI のある EMM の下)、XMS ドライバ。空きコンベンショナルメモリ 256KB 以上、拡張メモリ 700KB 以上。イメージをメモリに読み込むには、さらに 1 枚あたりイメージの大きさぶん
- MS-DOS 6.2 の EMM386.EXE は、
/DPMIを付けないと VBM98 が使う機能(VCPI)を提供しません
まだ動かないもの
- 機種判別フラグの PC-9801VM 化、サウンド BIOS の INT D2h の登録、ホストの CPU が例外にせずに実行してしまう V30 の並び(Pentium 以降の RDTSC など)
- DMA の転送(対応予定)、D88 形式(対応予定)、BKDSK の HDB 形式(対応予定)
- メニューからブランクディスクを作る機能(ご要望をいただいています。検討中)
zip に入っている VBM98.DOC は、PC-98 で読める説明書(Shift-JIS)です。詳細は README(PC-98 では VBM98.DOC)を参照。