Skip to content

v0.1.14

Choose a tag to compare

@madscient madscient released this 12 Oct 14:23
· 56 commits to master since this release

v0.1.13 からの変更。ディスクを読む間の音の途切れへの対策と、実機の報告を受けた修正です。動作確認は PC-98 エミュレータ(NP21/W と DOSBox-X)の上で行っています。実機では未確認です。

変わったこと

  • ディスクイメージをメモリに読み込むようにしました(ディスクを読む間に FM 音源の音が途切れる件。PC-9801RA2 からの報告): ドライブに入れたイメージを丸ごと拡張メモリ(XMS)に読み込み、ゲストがディスクを読むときにホストのディスクにアクセスしません。イメージを RAM ディスクに置くと途切れなかった、という報告を受けたものです
    • 要る拡張メモリは、1 枚につきイメージファイルの大きさぶん(2HD で 1.2MB から 1.4MB)。空きが足りないドライブは、これまでどおりファイルから必要なセクタだけを読みます。切り替えは自動で、オプションはありません
    • 起動時に、ドライブごとに reading the image into memory(メモリに読み込む)か read from the file as needed(ファイルから読む)を表示します
    • 起動とディスク交換のときに、イメージ 1 枚ぶんの読み込み時間だけ待ちます
    • ゲストの書き込みは、これまでどおり、その場でイメージファイルに入ります(セーブなど書き込みの間は、これまでと同じです)
  • 80 桁 × 20 行のテキスト画面のときに、ホットキーで開くメニューの文字と、閉じたあとの画面の文字が崩れる件(EPSON PC-586MV の N88-BASIC(86) 3.0 からの報告。MS-DOS なら CTRL + f・6 で同じ状態): メニューとファイル選択を 25 行・80 桁で出し、閉じるときにゲストの行数・桁数へ戻すようにしました。テキストのスクリーンショットも、画面と同じ 20 行(1 行 20 ライン)で撮ります。NP21/W で再現し、開く前と閉じたあとの画面が同じになることを確認しています
  • ディスクを読んでいる間に押したキー・離したキーが落ちる件: ディスクの処理の間に来たキーを控えておき、ゲストへ戻るときに順に渡すようにしました。ディスクを読みながらキーを待つソフトで、キーが押されたままに見えることがありました
  • BIOS のワークエリアの置き方を変えました: ゲストの割り込みベクタと BIOS ワークエリア(メモリの先頭 4KB)を、ゲストが動いている間は実メモリの同じ場所に置きます。BIOS がワークエリアを物理番地で読み書きしても、ゲストのものが使われます。NP21/W の内蔵 BIOS で、キーの状態を直接読むソフト(イース1 など)にキーが効かなかったのが直りました。実機でも動きが変わる変更です(ディスクを読むたびに 4KB の入れ替えが入ります)
  • エミュレータ(NP21/W)で、メニューやファイル選択を閉じたあとも絵が残る件を直しました

v0.1.13 の実機の結果(報告)

  • PC-9821Cr13 で、AutoMATE を常駐させたホスト(FreeDOS(98)、MS-DOS 6.2、Windows 98 の DOS)のどれでも、ゲストでキーが効くようになりました
  • 30 行 BIOS は、MS-DOS 6.2 がホストのときは効くようになりました。Windows 98 の DOS がホストのときは、INT 18h の入口が見つからず(起動時に INT 18h is hooked の警告が出ます)、ゲストでキーが連打された状態になります。この版でも未解決です

試していただける方へ

  • 音が途切れていたソフトで、この版で途切れが消えたかどうかを教えてください。起動時の表示が no room in extended memory のときは、拡張メモリの空きが足りず、これまでと同じ動きになっています
  • 20 行のテキスト画面でメニューを開いて閉じたとき、文字が崩れなくなったかを教えてください
  • zip に入っている VBM98.DOC は、PC-98 で読める説明書(Shift-JIS)です
VBM98 -fdd0 GAME.NFD -log VBM98.LOG

動作環境

  • 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 形式(対応予定)

詳細は README(PC-98 では VBM98.DOC)を参照。