(11487)
11487:
MS-DOS Player 2024/9/19版更新
投稿者:
konno
2024/09/19(木) 01:37
コメント数 2
MS-DOS Player 2024/9/19版が更新されました。
#11485 で作者様が告知してくれたのですが、内容は
-----------------------------------------------------------
2024/9/19
INT 21h, AH=4Ahの処理を修正しました。
指定したメモリブロックのサイズの変更に成功した場合、そのメモリブロックのオーナを
呼び出し元のプロセスに変更するようにしました。
サイズの変更に失敗した場合も、可能な限り最大のサイズに変更するようにしました。
DOS 4.0のソースを見る限りでは、以下のような挙動になっているようです。
後続の空きメモリブロックと結合することで、可能な限りサイズを大きくする。
指定のサイズ以上になった場合は、指定のサイズまでメモリブロックを分割して、
(元オーナが他のプロセスだろうが、空きメモリブロックだろうが、お構いなしに)
そのメモリブロックのオーナを自プロセスにする。
サイズが足りない場合は、どこまでサイズを大きくできたかをBXに返す。
このとき、メモリブロックを元のサイズに戻したりはしない。
VZエディタで、開放したメモリブロックのサイズを変更するような処理があるらしく、
これで動作が改善しているのではないかと思います。
-----------------------------------------------------------
掲示板の記事で書いていた VZの 4Ahの問題を修正してくれたようです。
オリジナルVZで確認してみましたが、常駐、非常駐とも問題無しでした。
これでパッチVZの需要は無くなりましたね。(^^;
本当にありがとうございました。
- No.11487 -
このTreeへ
[リストへもどる]
soft
(11487)
11488:
Re: MS-DOS Player 2024/9/19版更新
投稿者:
鈴木康弘
2024/09/19(木) 07:06
11487 番 konno さんへのコメント コメント数 1
おかげさまで、#11440 に報告した異常は、最初の1回だけ出ますが、2回目からは無事、出なくなりました。
ずうずうしい?要望を言えば、MS-DOS Player 上の Vz では、
かな漢字変換がONの状態で、[ESC]などのプリフィックスキーを押した直後のキーは、自動的にIMEがオフになってほしい
(Vz用語で、隠しオプションFQ+が効いてほしい)
という点を実現していただけると、ありがたいですが...。
- No.11488 -
このTreeへ
コメント元:11487 へ
[リストへもどる]
soft
(11487)
11490:
Re^2: MS-DOS Player 2024/9/19版更新
投稿者:
konno
2024/09/19(木) 17:30
11488 番 鈴木康弘 さんへのコメント コメント数 1
> おかげさまで、#11440 に報告した異常は、最初の1回だけ出ますが、2回目からは無事、出なくなりました。
切り替えた最初に異常が出るのはメモリキャッシュの影響ではないかと疑っています。
それ以降異常が出ないなら問題ないと思います。
> かな漢字変換がONの状態で、[ESC]などのプリフィックスキーを押した直後のキーは、自動的にIMEがオフになってほしい
> (Vz用語で、隠しオプションFQ+が効いてほしい)
> という点を実現していただけると、ありがたいですが...。
これ、私も欲しいかも。(^^;
今までは VTDOS で WinIMEで書き込み出来ていたので特に感じなかったのですが
DOSVAXJ3 が出てきて WinIMEが使えるとなると、つい比べてしまうようになって。(^^;
CKWV や SDL.DLL などを使えば出来そうな気はしますが、作者の意向もありますし。
個人的には MSDOS6.2の command.comでVZが常駐使用出来たらいいなと思います。
PCDOS7 でVZが常駐使用できなくて、VZ側にパッチ当てたのがあったと思うのですが
その情報がどこにもなくて、どなたかいただけたら嬉しいなと思うんですが
それこそずうずうしい話ですよね。
- No.11490 -
このTreeへ
コメント元:11488 へ
[リストへもどる]
soft
(11487)
11492:
Re^3: MS-DOS Player 2024/9/19版更新
投稿者:
たけだ
2024/09/20(金) 00:48
11490 番 konno さんへのコメント コメント数 1
VZはIMEの制御のためにどのような処理をしていますでしょうか?
現状、MS-DOS Playerは、キーボードBIOSのINT 16h, AX=1300hと、
ATOK割り込みのINT 6Fh, AH=00h-05h,0BhでIMEのオン・オフを制御しています。
- No.11492 -
このTreeへ
コメント元:11490 へ
[リストへもどる]
soft
(11487)
11493:
Re^4: MS-DOS Player 2024/9/19版更新
投稿者:
konno
2024/09/20(金) 03:20
11492 番 たけだ さんへのコメント コメント数 2
> VZはIMEの制御のためにどのような処理をしていますでしょうか?
すみません、私は VZのFEP制御の仕組をあまり理解してないので正確には答えられません。
> 現状、MS-DOS Playerは、キーボードBIOSのINT 16h, AX=1300hと、
> ATOK割り込みのINT 6Fh, AH=00h-05h,0BhでIMEのオン・オフを制御しています。
ATOK割り込みのINT 6Fh は J3100 のみで使われているようです。
INT 16h, AX=1300h で WinIME が OFF になるのはVZマクロで確認できました。
VZは MS-KANJI API か $IAS で FEP制御しているようですが
keyibm.asm の IAS の部分は
;--- FEP control for DOS/V ---
IFDEF DOSV
fpctr ias
public ias_on
ias_on proc
;ias_on:
push ax
mov bx,1
bios_v 1Dh,0 ; mov ax,1D00h INT10h VIDEO - DOS/V - SHIFT STATUS LINE CONTROL
bios_k 14h,0 ; mov ax,1400h INT16h DOS/V - SHIFT STATUS DISPLAY CONTROL
bios_k 13h,1 ; mov ax,1301h INT16h al,01h get shift status
pop ax
mov dl,al ; Return: DX = current shift status
bios_k 13h,0 ; mov ax,1300h INT16h al,00h set shift status
ret
ias_off:
bios_k 13h,1 ; mov ax,1301h INT16h al,01h get shift status
push dx ; Return: DX = current shift status
and dl,01000000b ; ##157.152
bios_k 13h,0 ; mov ax,1300h INT16h al,00h set shift status
pop ax
ret
ias_on endp
ENDIF
このようになっていますが、全体の流れがわからないので、これで ON/OFF できるのかわからないです。
[ESC] などのプレフィックスキーを押した時に IME が OFF になって欲しいのです。
その後自動的に ON になってくれるといいのですが。
全体の流れを調べてみます。
- No.11493 -
このTreeへ
コメント元:11492 へ
[リストへもどる]
pre
(11487)
11494:
Re^5: MS-DOS Player 2024/9/19版更新
投稿者:
たけだ
2024/09/20(金) 10:48
11493 番 konno さんへのコメント コメント数 1
ありがとうございます。
ias_onを呼ぶとき、ALに指定する値が気になります。
MS-DOS Playerは、現状ではbit7でオンオフを判定していますが、
DOSVAXJ3はbit0も見ているようです。
今晩辺り、DOSVAXJ3に処理を合わせた版を出してみます。
- No.11494 -
このTreeへ
コメント元:11493 へ
[リストへもどる]
soft
(11487)
11495:
Re^6: MS-DOS Player 2024/9/19版更新
投稿者:
konno
2024/09/20(金) 15:03
11494 番 たけだ さんへのコメント コメント数 1
> 今晩辺り、DOSVAXJ3に処理を合わせた版を出してみます。
ありがとうございます。
keyibm.asm の IFDEF J31 を IFDEF DOSV にすり替えて INT ATOK を使うVZを試してみました。
IME の ON/OFF は出来ましたが、プレフィックスキーの保持が出来ません。
具体的には、[ESC] を押すと プレフィックス表示になりますが、一瞬で消えてしまいます。
IME OFF で [ESC] を押すとプレフィックスが保持されますが、再度 [ESC] を押すと IME ONになります。
その辺は弄ってないので、IMEが何かしてるのかな。うーむ、わからん。
- No.11495 -
このTreeへ
コメント元:11494 へ
[リストへもどる]
soft
(11487)
11496:
Re^7: MS-DOS Player 2024/9/19版更新
投稿者:
たけだ
2024/09/21(土) 00:14
11495 番 konno さんへのコメント コメント数 1
取り敢えず新バージョンを出してみました。
INT 16h, AH=13hと、ATOKのINT 6Fhの処理を、DOSVAXJ3に寄せています。
また、$IBMAFNT/$IBMADSP/$IBMAIASが組み込まれているふりをするようにしてみました。
- No.11496 -
このTreeへ
コメント元:11495 へ
[リストへもどる]
soft
(11487)
11497:
Re^8: MS-DOS Player 2024/9/21版更新
投稿者:
konno
2024/09/21(土) 02:15
11496 番 たけだ さんへのコメント コメント数 1
> 取り敢えず新バージョンを出してみました。
ありがとうございます。試してみました。
> INT 16h, AH=13hと、ATOKのINT 6Fhの処理を、DOSVAXJ3に寄せています。
> また、$IBMAFNT/$IBMADSP/$IBMAIASが組み込まれているふりをするようにしてみました。
INT 16h, AH=13h の方は機能していないようです。
> INT 16h, AX=1300h で WinIME が OFF になるのはVZマクロで確認できました。
これは同じく効いているようですが。
機能の詳細を教えてもらえるとありがたいです。
ATOKのINT 6Fhの方は、VZATOK版ではある程度うまく動くようになりました。
ただ、編集モード以外で [ESC] を押すと IME が ONになってしまうのが想定外でした。
私の説明が不正確だったせいで、IMEを自動復帰させているように思います。
これはVZ側が FEPの状態を覚えていて、必要に応じて VZが ON/OFF させているのでした。
なので、[ESC] を押すと IME が OFFになるようにして、その後はVZが制御する形がいいと思います。
VZは DBCS mode をチェックしているようですが関係あるでしょうか。
SCRNIBM.ASM 2592:
;--- Check DBCS mode --- ; ##156.132
checkDBCS proc
IFDEF US
mov dbcs,FALSE ;0
ELSE
IFDEF IBM
pushm <bp,ds,es>
clr si
msdos 63h,0
mov al,FALSE ;0
tst si
_ifn z
tstw [si]
_ifn z
IFDEF IBMAX
clr bl
bios_v 50h,1
cmp bl,01h
mov al,TRUE
_if e
mov al,FALSE ;0
_endif
ELSE
mov al,TRUE ;1
ENDIF
_endif
_endif
mov dbcs,al
popm <es,ds,bp>
ENDIF
ENDIF
ret
checkDBCS endp
KEYIBM.ASM 1588:
;--- Is DBCS mode? ---
public isDBCS
isDBCS proc
IFDEF US
add sp,2
clc
ELSE
IFDEF IBM
extrn dbcs :byte
tstb dbcs
_if z
add sp,2
clc
_endif
ENDIF
ENDIF
ret
isDBCS endp
- No.11497 -
このTreeへ
コメント元:11496 へ
[リストへもどる]
pre
(11487)
11498:
Re^9: MS-DOS Player 2024/9/21版更新
投稿者:
鈴木康弘
2024/09/21(土) 07:22
11497 番 konno さんへのコメント コメント数 2
わーい、やりました。MS-DOS Player上のVzで、プリフィックスキーを押した後のキーが無事IMEオフになりました。
> ただ、編集モード以外で [ESC] を押すと IME が ONになってしまうのが想定外でした。
> 私の説明が不正確だったせいで、IMEを自動復帰させているように思います。
はて、これはどういうことかしら?鈴木の手元では全然問題になる動作をしませんが。
これでMS-DOS PlayerとDOSVAXJ3は、機能がほぼ並んだようです。
今後どちらをメインにしようか、うれしく迷ってる 鈴木
- No.11498 -
このTreeへ
コメント元:11497 へ
[リストへもどる]
soft
(11487)
11499:
Re^10: MS-DOS Player 2024/9/21版更新
投稿者:
konno
2024/09/21(土) 08:06
11498 番 鈴木康弘 さんへのコメント コメント数 1
> わーい、やりました。MS-DOS Player上のVzで、プリフィックスキーを押した後のキーが無事IMEオフになりました。
え? と思って オリジナルVZで試したらキチンと IME OFF しますね。
どうやら高橋版VZ以降の変更で動かなくなっているようです。
検証不足でした。m(__)m
オリジナルと高橋版の変更部分を調べなくては。
> > ただ、編集モード以外で [ESC] を押すと IME が ONになってしまうのが想定外でした。
> > 私の説明が不正確だったせいで、IMEを自動復帰させているように思います。
> はて、これはどういうことかしら?鈴木の手元では全然問題になる動作をしませんが。
これは J3100のルーチンに変更して動かしたVZの話ですので。(^^;
キチンと動いているならなによりです。
- No.11499 -
このTreeへ
コメント元:11498 へ
[リストへもどる]
soft
(11487)
11503:
Re^11: MS-DOS Player 2024/9/21版更新
投稿者:
たけだ
2024/09/21(土) 16:09
11499 番 konno さんへのコメント コメント数 1
金野さん版で試してみましたが、$IBMAIASとかMS$KANJIとかをオープンするときに、
デバイス名がnull terminatedされていないため失敗しています。
MS-DOS Player側でその辺を対処して、$IBMAIASをオープンできるようにして、
INT 21h, AX=4400hでデバイス情報として0080hを返すようにして、
これでデバイスが存在すると認識してくれたはずなのですが、
それでもVZがINT 16h, Ah=13hを使ってくれない、という状況のようです。
試みに、MS$KANJIをオープンできるようにしたところ、
INT 21h, AX=4402hでデバイスの情報を問い合わせに来てくれました。
これはMS$KANJIをちゃんと実装すれば、そちらを使ってくれるかもです。
- No.11503 -
このTreeへ
コメント元:11499 へ
[リストへもどる]
soft
(11487)
11504:
Re^12: MS-DOS Player 2024/9/21版更新
投稿者:
konno
2024/09/21(土) 18:18
11503 番 たけだ さんへのコメント コメント数 1
> 金野さん版で試してみましたが、$IBMAIASとかMS$KANJIとかをオープンするときに、
> デバイス名がnull terminatedされていないため失敗しています。
試していただきありがとうございます。
私の版はFEP関連は高橋版のままなので、オリジナルとの違いを見てみたのですが
オリジナルがテーブル方式なのを別の方式に大幅に変えている感じです。
おそらく多くのFEPに対応するためだと思われます。
想像ですが、テーブル方式を止めたために逆に存在確認が出来なくなったとかかなぁと。
> MS-DOS Player側でその辺を対処して、$IBMAIASをオープンできるようにして、
> INT 21h, AX=4400hでデバイス情報として0080hを返すようにして、
> これでデバイスが存在すると認識してくれたはずなのですが、
> それでもVZがINT 16h, Ah=13hを使ってくれない、という状況のようです。
複雑すぎて私には全く見当もつかないです。
> 試みに、MS$KANJIをオープンできるようにしたところ、
> INT 21h, AX=4402hでデバイスの情報を問い合わせに来てくれました。
> これはMS$KANJIをちゃんと実装すれば、そちらを使ってくれるかもです。
そういえば、高橋版はデバイス名のヌルが抜けてるというのを思い出して過去記事を検索してみました。
#6453 で10#さんが調べてくれていました。
> 通常IASの検出はオープンハンドル法といって、"$IBMAIAS"というデバイスを
> オープンできるかどうかで判断しています。
> この"$IBMAIAS"というファイル名は終端にNUL文字が必要で、オリジナルの
> ソースにはあるのですが、k07s3のソースには見当たりません。
> このため、"$IBMAIAS∀・ッヘクヘUヘqヘッヘクヘPサ"というファイルをオープン
> しようとしています。
> 未確認ですが、おそらく通常のIASは検出できないものと思われます。
> VTDOS1.39では先頭8文字のみを比較して、強制的にIASを検出させています。
これだ! 思い出した! これが原因だと思います。
私は #6458 で
> > この"$IBMAIAS"というファイル名は終端にNUL文字が必要で、オリジナルの
> > ソースにはあるのですが、k07s3のソースには見当たりません。
>
> 気が付きませんでした。確認してみたところ、高橋版以外はありました。
> したがって高橋版の系列は皆抜けています。これは直します。
>
> 高橋版は初期のものでNULが一つ足りなくて、それ以降のはNULが無くなっています。
> これはVZIBMJ.COMをVZで開いて、"$IBMAIAS"を検索してわかりました。
こう返していて、当時のVZソースを以下のように変更していました。
IFDEF IBMAX
db FP_MSKANJI
db 0
ENDIF
db 0 ; ##k07t2 14-05-11
vct16 dd 0 ; tVZで抜けていた
ところがそれ以降の版ではこれを忘れていて抜けたままになってしまったようです。
これを追加した版で試したらキチンと動作しました。
お騒がせしました。m(__)m
高橋版に対応させるために 10#さんは上記のような対応で WinIME制御を実現してくれたのだと思います。
できましたらそのようにして高橋版でも動くようにお願いいたします。m(__)m
- No.11504 -
このTreeへ
コメント元:11503 へ
[リストへもどる]
pre
(11487)
11507:
Re^13: MS-DOS Player 2024/9/21版更新
投稿者:
たけだ
2024/09/22(日) 02:33
11504 番 konno さんへのコメント コメント数 1
高橋版VZエディタ向けの修正を入れたバージョンをリリースしました。
ただ、金野さん版のVZvt02 (2010-05-15)だと、まだFEPが制御されないみたいです。
FEPの存在チェックとDBCSのチェックは通っているのですが。。。
最新版だと問題なさそうでしょうか?
- No.11507 -
このTreeへ
コメント元:11504 へ
[リストへもどる]
soft
(11487)
11508:
Re^14: MS-DOS Player 2024/9/21版更新
投稿者:
konno
2024/09/22(日) 03:13
11507 番 たけだ さんへのコメント
> 高橋版VZエディタ向けの修正を入れたバージョンをリリースしました。
ありがとうございます。高橋版も私家版もバッチリでした。
> ただ、金野さん版のVZvt02 (2010-05-15)だと、まだFEPが制御されないみたいです。
> FEPの存在チェックとDBCSのチェックは通っているのですが。。。
すみません、その版は特殊な版で、VTDOSがIME制御できる前のテスト版でした。
削除しますのでその版は無かったことにしてください。m(__)m
> 最新版だと問題なさそうでしょうか?
はい、問題ないです。
全部の版に対応していただき、本当にありがとうございました。
- No.11508 -
このTreeへ
コメント元:11507 へ
[リストへもどる]
soft
(11487)
11500:
Re^10: MS-DOS Player 2024/9/21版更新
投稿者:
鈴木康弘
2024/09/21(土) 11:17
11498 番 鈴木康弘 さんへのコメント コメント数 1
> これでMS-DOS PlayerとDOSVAXJ3は、機能がほぼ並んだようです。
ごめんなさい、DOSVAXJ3のメリットがまだありました。
DOSVAXJ3はEMSを使えるのでした。
鈴木の環境での両者のvmapを並べてみます。
DOSVAXJ3の場合
VMAP Version 2.00 Copyright (C) 1989-91 by c.mos
addr PSP blks size owner/parameters hooked vectors
---- ---- ---- ------ ------------------------- -----------------------------
D001-E000 1 65520 <free>
--- UMB total: 64 KB ---
0171 sys 2 80 <config>
0178 0040 1 256
0189 1C4E 1 160 command (env)
0194 <-- 2 109440 vzibmj 1.60 *.* 1B 29
1C4E <-- 1 1024 command vmap
1C8F-9FFF 1 538352 <free>
----- EMS ver4.0 (frame: E000h) ----- ----- XMS ver3.00 -----
handle pages size name HMA not used
------ ----- ------ -------- EMB free: 14832 KB
1 5 80k vzibmj
free 927 14832k
total 1024 16384k
MS-DOS Playerの場合
VMAP Version 2.00 Copyright (C) 1989-91 by c.mos
addr PSP blks size owner/parameters hooked vectors
---- ---- ---- ------ ------------------------- -----------------------------
C001 sys 1 0 <config>
C002-F800 1 229344 <free>
--- UMB total: 224 KB ---
0207 sys 5 9824 <config>
0472 1 8192 <free>
0673 <-- 1 184736 vzibmj 1.60 *.* 1B 22 29
338E 1 509712 <free>
B000 sys 1 0 <config>
だから大きなファイルを扱うと、 DOSVAXJ3 の方が、テンポラリファイルエラーを起こしにくい。
(というか、使い始めてこの半年、経験していない。)
大きなファイルを編集するならDOSVAXJ3だな、と思った 鈴木
- No.11500 -
このTreeへ
コメント元:11498 へ
[リストへもどる]
pre
(11487)
11501:
Re^11: MS-DOS Player 2024/9/21版更新
投稿者:
たけだ
2024/09/21(土) 12:20
11500 番 鈴木康弘 さんへのコメント コメント数 1
msdos -x vzibmjとすると、EMSが有効になります。
引数なしで起動するとオプション一覧が表示されます。
あわせてご参照ください。
- No.11501 -
このTreeへ
コメント元:11500 へ
[リストへもどる]
soft
(11487)
11502:
Re^12: MS-DOS Player 2024/9/21版更新
投稿者:
鈴木康弘
2024/09/21(土) 13:03
11501 番 たけだ さんへのコメント コメント数 2
わあ、ごめんなさい、readmeをろくに読んでないのがばれた。
確かに-xでEMSなどができました。
VMAP Version 2.00 Copyright (C) 1989-91 by c.mos
addr PSP blks size owner/parameters hooked vectors
---- ---- ---- ------ ------------------------- -----------------------------
D001 sys 1 0 <config>
D002-F800 1 163808 <free>
--- UMB total: 160 KB ---
0207 sys 5 9824 <config>
0472 1 8192 <free>
0673 <-- 1 3840 vzibmj 1.60 *.* 1B 22 29
0764 1 690608 <free>
B000 sys 1 0 <config>
----- EMS ver4.0 (frame: C000h) ----- ----- XMS ver3.00 -----
handle pages size name HMA not used
------ ----- ------ -------- EMB free: 31680 KB
free 2036 32576k
total 2048-32768k
またおそるおそる大きなファイルで実験してみます。
- No.11502 -
このTreeへ
コメント元:11501 へ
[リストへもどる]
pre
(11487)
11505:
Re^13: MS-DOS Player 2024/9/21版更新
投稿者:
としき
2024/09/21(土) 21:37
参照先:http://toshiki.la.coocan.jp/
11502 番 鈴木康弘 さんへのコメント コメント数 1
あぁ、久々にオリジナルのままのVMAPを使っている人を見かけた。
> ----- EMS ver4.0 (frame: C000h) ----- ----- XMS ver3.00 -----
> handle pages size name HMA not used
> ------ ----- ------ -------- EMB free: 31680 KB
> free 2036 32576k
> total 2048-32768k
私はVMAPにパッチを当てて、マイナスの値が出ないようにしています。
あ、でも、昔と違って私が最近使っているマシンでは、そもそもマイナスの値になる
ほどのサイズのEMSが取得できない。
このパッチ情報も、今では意味がないというか、ある種、歴史に埋もれつつある情報
と言ってもいいのかもしれない。
- No.11505 -
このTreeへ
コメント元:11502 へ
[リストへもどる]
pre
(11487)
11506:
vmap としきパッチ
投稿者:
konno
2024/09/21(土) 23:39
11505 番 としき さんへのコメント
> あぁ、久々にオリジナルのままのVMAPを使っている人を見かけた。
>
> > total 2048-32768k
う、そういえばうちのも出るなぁ。(^^;
> 私はVMAPにパッチを当てて、マイナスの値が出ないようにしています。
> あ、でも、昔と違って私が最近使っているマシンでは、そもそもマイナスの値になる
> ほどのサイズのEMSが取得できない。
この板で「VMAP パッチ」で検索すると #1429 で
> これで vmap としきパッチが、ふたたび生きてきました!
という記事が出ました。ここではこれ以上の情報が見つからないので、もしかしてやしきに
と思ってやしきに忍び込んだらVZの部屋で見っけ。\(^^)/ ヤッタ-
で、早速VZでVMAP.COMを開いてやってみたのですが、キーワードが見つかりません。
あれぇ? と思って冒頭を見ると、diet の文字が。そうです。DIET圧縮されていたのでした。(>_<)
>diet -ra VMAP.COM でめでたく圧縮解除できました。
1991/12/16 02:01 3,031 VMAP.COM 圧縮
1991/12/16 02:01 3,173 VMAP.COM
これで指示通りに出来てパッチ当て出来ました。\(^^)/ ヤッタ-
昔やった気がするのですが、いつのまにか元のに戻ってしまってたんですね。(^^;
> このパッチ情報も、今では意味がないというか、ある種、歴史に埋もれつつある情報
> と言ってもいいのかもしれない。
いやあ、としきさんのおかげで何十年ぶりかで VMAP の表示が直りました。
ありがとうございます。
- No.11506 -
このTreeへ
コメント元:11505 へ
[リストへもどる]
pre
(11487)
11509:
Re^13: MS-DOS Player 2024/9/21版更新
投稿者:
鈴木康弘
2024/09/22(日) 11:27
11502 番 鈴木康弘 さんへのコメント コメント数 1
あれれ、テンポラリファイルエラーとEMSは関係なかったみたいです。
400kBくらいの大きなファイルを編集して、そのファイルを最初から最後まで見るのをくりかえしていると、EMSを設定しても、テンポラリファイルエラーが起こります。
たしか以前のバージョンのMS-DOS Player上のVzは、EMSを設定しなければHDD上にテンポラリファイルを作ってたのに、今回は作らなくなった、のでしょうか?
- No.11509 -
このTreeへ
コメント元:11502 へ
[リストへもどる]
soft
(11487)
11510:
Re^14: MS-DOS Player 2024/9/21版更新
投稿者:
たけだ
2024/09/22(日) 12:37
11509 番 鈴木康弘 さんへのコメント コメント数 2
環境変数に指定されているTEMPのパスが深かったり、
短いファイル名をサポートしていないとかはないでしょうか?
C:\TEMPとか適当なディレクトリを作っておいて、
環境変数にMSDOS_TEMP = C:\TEMPとかを定義しておくと、
MS-DOS Player上でそちらがTEMPとして扱われます。
これで解決しないかご確認お願いいたします。
- No.11510 -
このTreeへ
コメント元:11509 へ
[リストへもどる]
soft
(11487)
11512:
Re^15: MS-DOS Player 2024/9/21版更新
投稿者:
konno
2024/09/22(日) 13:32
11510 番 たけだ さんへのコメント
まとレスです。
鈴木さん
> 400kBくらいの大きなファイルを編集して、そのファイルを最初から最後まで見るのをくりかえしていると、EMSを設定しても、テンポラリファイルエラーが起こります。
私の経験では、オープン窓の履歴から巨大ファイルを開いて編集するとテンポラリエラーになりました。
VZの初期化処理か何かに問題が有るのではないかと疑っています。
再現する操作手順があれば教えてください。
> たしか以前のバージョンのMS-DOS Player上のVzは、EMSを設定しなければHDD上にテンポラリファイルを作ってたのに、今回は作らなくなった、のでしょうか?
VZでは HDDでも EMSでも XMSでも一時ファイルは全部テンポラリファイルと言っていたと思います。
EMSが有っても無くてもエラーが出るなら問題は別の所にあるのかも。
武田さん
> 環境変数に指定されているTEMPのパスが深かったり、
> 短いファイル名をサポートしていないとかはないでしょうか?
流石です。私はそこまで考えていませんでした。(^^;
VZは TMP を使うのでこれは設定していると思いますが、設定していないと色々困りますしね。
- No.11512 -
このTreeへ
コメント元:11510 へ
[リストへもどる]
soft
(11487)
11513:
Re^15: MS-DOS Player 2024/9/21版更新
投稿者:
鈴木康弘
2024/09/22(日) 16:54
11510 番 たけだ さんへのコメント コメント数 1
すばやい返答、ありがとうございます。
set で確認すると
TEMP=C:\USERS\USER\APPDATA\LOCAL\TEMP
おお、自分で環境変数をいじった記憶はないから、これがcmd.exeの初期設定なのかな。
そこに確かに、3Mに太ったVZTEMP.$$$がいました。
> たしか以前のバージョンのMS-DOS Player上のVzは、EMSを設定しなければHDD上にテンポラリファイルを作ってたのに
これはDOSVAXJ3と混同した世迷い発言でした。
とりあえずEMSの設定はなしにして、
set msdos_temp=c:\users\user
として、わかりやすいところにテンポラリファイルを作って様子をみてみます。
- No.11513 -
このTreeへ
コメント元:11510 へ
[リストへもどる]
soft
(11487)
11514:
Re^16: MS-DOS Player 2024/9/21版更新
投稿者:
鈴木康弘
2024/09/23(月) 09:06
11513 番 鈴木康弘 さんへのコメント コメント数 2
追記です。
MS-DOS Player 上のVzを終了するとき、Vzを終了させればいいのだけれど、えいっとcmd.exeごと終了させることが僕はあります。そうするとHDD上にVZTEMP.$$$を残したままになるわけです。
以前純粋MS-DOS上でVzを立ち上げていたとき、もしVZTEMP.$$$がディスク上に残っていたら、まずそれを消去するようにしてました。今のDOSVAXJ3でもそうしてます。
MS-DOS Playerは、カレントディレクトリでないところにVZTEMP.$$$を作ってたので、その場所が僕にわからなかったのでした。
他の環境と同様、これもVzの新規起動時には削除するようにしました。
これで、いまのところテンポラリファイルエラーはないようです。
- No.11514 -
このTreeへ
コメント元:11513 へ
[リストへもどる]
soft
(11487)
11515:
Re^17: MS-DOS Player 2024/9/21版更新
投稿者:
たけだ
2024/09/23(月) 12:10
11514 番 鈴木康弘 さんへのコメント
実機でも、VZを起動中にPCの電源を落としたら、同じ状況になるのかと思います。
そうなると、MS-DOS Player側で何か対処するのも変な話かもしれません。
一応、異常終了時のハンドラーがあるので、そこで消せなくもないのですが、
それが原因で不具合を起こしそうで怖いですね。
できるだけ、運用で補っていただければと思います。
- No.11515 -
このTreeへ
コメント元:11514 へ
[リストへもどる]
soft
(11487)
11516:
Re^17: MS-DOS Player 2024/9/21版更新
投稿者:
konno
2024/09/23(月) 18:39
11514 番 鈴木康弘 さんへのコメント
> MS-DOS Player 上のVzを終了するとき、Vzを終了させればいいのだけれど、えいっとcmd.exeごと終了させることが僕はあります。そうするとHDD上にVZTEMP.$$$を残したままになるわけです。
ああ、そういうことでしたか、すっかり失念していました。
高橋版VZ以降は TEMPファイルをユニークにしたので、複数窓でVZを使っていても問題無くなっていたのです。
もちろんVZを強制終了して TEMPファイルが残っても問題ありません。
> 以前純粋MS-DOS上でVzを立ち上げていたとき、もしVZTEMP.$$$がディスク上に残っていたら、まずそれを消去するようにしてました。今のDOSVAXJ3でもそうしてます。
高橋版VZでも、ファイラーの一時ファイル FILES.$$$ は複数窓同時に使うと駄目なので
やっぱりエミュごとにTMPフォルダー分けた方がいいですね。
私も VZ起動BATで TMPを分けて使うように見直してみます。
- No.11516 -
このTreeへ
コメント元:11514 へ
[リストへもどる]
soft
(11487)
11511:
MS-DOS Player 2024/9/22版更新
投稿者:
konno
2024/09/22(日) 13:07
11487 番 konno さんへのコメント
MS-DOS Player 2024/9/22版が更新されました。
内容は
-----------------------------------------------------------
2024/9/22
高橋版VZエディタ向けの修正を行いました。
INT 21h. AH=3Dhで、$IBMAIASをオープンすることで存在チェックをしていますが、
デバイス名がnull terminatedになっていませんでした。
$IBMAIASから始まるパスは、強制的に8文字までで切るように補正します。
INT 21h, AX=4400hで、$IBMAIASのデバイス情報にDX=8080hを返すようにしました。
高橋版VZエディタは、DL=80hになっているかチェックしているようです。
2024/9/21
DOSVAXJ3の実装を参考に、INT 16h, AH=13hと、INT 6Fhの実装を整理しました。
IMEのオンオフやモードの取得・変更をする処理です。
また、$IBMAFNT/$IBMADSP/$IBMAIASが存在しているふりをするようにしました。
(ダミードライバの追加と、INT 21h, AH=3Dhでオープンできるようにした)
DOSVAXJ3だとVZでIMEの制御がうまくできるらしいので、これで様子をみてみます。
システムポートのbit4, bit5で、タイマーのCh.1/2の出力の読めるようにしました。
それぞれ、RAMのリフレッシュ信号と、ビープ音の信号に使用されています。
前者は15us間隔でトグルしますが、そこまで高精度に時間を管理できないので、
連続して読む度に、1msの間に最大66回までトグルするようにしました。
…こんなところをチェックするCLIなツールがあるとも思えませんが(苦笑)
-----------------------------------------------------------
備忘録として 9/21 の分まで載せています。
今回の高橋版VZ向けの更新で 全てのVZで WinIME が制御出来るようになりました。
ありがとうございます。
# 10年以上前の記事が役に立つこともあるんだなぁ・・・
- No.11511 -
このTreeへ
コメント元:11487 へ
[リストへもどる]
soft