@niftyのFGALDC15階にも書きましたが
今までXP等のNT系で常駐kVZはコマンドラインがらみで不安定な所が
ありましたが、やっと原因らしき物がわかりました。
例えば、XPのDOS窓で SW3 で常駐後、VMAPを見ると、
058C <-- 1 34720 dosx E5 FE
0E07 10F5 2 848 command (env) ★★★
0E3E <-- 1 3888 vztk 1.60 -z 1B 21 29
0F32 10F5 1 880 command
0F6A <-- 1 6304 kb16 JP,932,C:\WINDOWS\Sy 09 2F
10F5 <-- 1 3856 command 22 23 24
11E7-9FFF 1 582000 <free>
こんな感じですが、コマンドラインで大きなプログラムを実行すると
058C <-- 1 34720 dosx E5 FE
0E07 1 864 <free> ★★★
0E3E <-- 1 3888 vztk 1.60 -z 1B 21 29
0F32 10F5 1 880 command
0F6A <-- 1 6304 kb16 JP,932,C:\WINDOWS\Sy 09 2F
10F5 <-- 2 4752 command 22 23 24
1220-9FFF 1 581088 <free>
★★★のフリーエリアが16バイト増えていますね。おかしいなと思って
VZのスワップの境界あたりをDUMPで見るとやっぱりずれてるように見えます。
それで、VZのソースのそのあたりにNOPをいくつか入れてみたら、空エンター
でおかしくなってたのが改善できました。
今までこれでやってきましたが、完全ではないので、main.asmの250行あたりを
cseg
GDATA cstop, label, near
db "CSEG"
db 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0 ;追加
endcs
"CSEG"を含めて16+2バイトを空データで埋めたところ、うちの環境では
完全に不具合が出なくなりました。高橋版ベースなら、どのバージョン
でも効果がありました。DANNY版ベースでは駄目でしたが、main.asmと
dos.asmを高橋版のものと入れ替えればたぶん良くなると思います。
まだそれほど使い込んでないので、他の環境でも問題ないかどうか
人柱^H^Hモニターを募集します。(^^;
おっと、VZの部屋も更新しなきゃ。(^^; お急ぎの方は、こちらから。
http://tamaneko.world.coocan.jp/VZK07M.LZH