> 10/20版でちょっとした不具合があったので報告ついでにvz常駐の検討をお願いしたところ対応していただけました。
そうだったのですか、ありがとうございます。
更新内容を張りますね。
-----------------------------------------------------------
2024/10/24
INT 21h, AH=0Fh/10h/11h/12h/13h/16h/17h/23h/29hを修正しました。
FCBを使ったサービスで失敗したときに、拡張エラーコードを設定するようにしました。
V6.22のCOMMAND.COMで、DIR実行時にエラーが表示されなくなっています。
INT 21h, AH=4Eh/AX=714Ehを修正しました。
最初のエントリが見つからないときに、適切なエラーコードを返すようにしました。
INT 2Fh, AX=0502hで拡張エラーメッセージを返すようにしました。
パラメータエラーの筈なのですが、COMMAND.COMは拡張エラーを期待しているようです。
INT 2Fh, AX=122Eh, DL=00h/02h/04h/06hで取得するエラーテーブルを追加しました。
ただし全種類共通で、中身の空っぽな単一のテーブルを参照しています。
またDL=01h/03h/05h/07hでエラーテーブルのアドレスを変更できるようにしました。
プロセス起動時のメモリ確保のコードを整理しました。
コンベンショナルメモリが不足の場合、常に自動的にUMBを使用するようにしました。
COMモデルの起動時に、64KBのメモリの空きがないときに失敗するようにしました。
プロセス終了時に、開放するメモリのMCBが壊れている場合に修復するようにしました。
INT 2Fh,AX=4810hのサポートを廃止しました。
DOSKEYの1行入力ですが、従来よりDOSKEYは未インストール扱いとなっています。
Windows 98のCOMMAND.COMがインストールチェック無しに使っていたため、
一応サポートしてましたが、VZの常駐の妨げになっていたため廃止することにしました。
Windows 98のCOMMAND.COM上で、VZを常駐した状態でバッチファイルを実行すると、
バッチファイルから子プロセスを起動するとき、コンベンショナルメモリの空きが
0になってしまう問題が発生しています。
常駐時は、VZ.BAT経由ではなくVZIBMJ.COMを直に起動するようにしてください。
(V6.22のCOMMAND.COMだとそのような問題は発生しないのですが…)
MS-DOS Playerの起動時に、スペース入りのargvを渡された場合、仮想マシンに渡す
コマンドラインにダブルクォーテーションで括って追加するようにしました。
-----------------------------------------------------------
> うちで常駐確認したのは次のcommand.comです。
> FreeCOMJ 0.82 PL3 VTDOS 対応パッチ ;以前から常駐OK
> Windows 98
> 以下はMSDOS Playerで-v(バージョン指定)が必要です
> PC DOS J6.30/V ;-v6.3
> PC DOS J7.0/V(PC DOS 2000) ;-v7.0
> MS DOS 6.2/V ;-v6.2
Win95(v7.00) や Win98ME(v8.00) も出来ますね。MSDOS6.22(v6.22) も出来ました。
DOS5 が無いので誰か試してくれるとありがたいです。
まさか NT 2Fh,AX=4810h がVZ常駐の邪魔をしていたとは思いもしませんでした。(>_<)
私はVZ常駐するとすぐに VMAP を見る癖があって、見てみたら、なんと!
***** Memory Arena Trashed!
と表示されて、umbからメインメモリのエリアが表示されません。
直後のコンソールの表示も何かおかしい気が。表示がダブってる?
meu で見ると、空きメモリが200以上に分断されて見えます。
zmap を起動したら固まってしまいました。
それ以外は普通に動作しているようです。
武田さんにメールで報告しました。ついでに、#11551 の件も報告しました。
VZはDOS画面を保存していて編集画面などからコマンドラインに降りた時にDOS画面再描画していると思い出したので
MS-DOS Player で何も表示されないのは画面消去しているのかなと思ったのです。
この時非常駐VZではプロンプトが表示されますが、常駐VZではプロンプトも表示されないのも関連があるかも。