[HOME]  [全部表示 会議室風]  [全部表示 保存用]  [リストへもどる]

一括表示

  MS-DOS Player 2025/5/31版 - konno 25/05/31-15:32 No.12352
  ┗ Re: MS-DOS Player 2025/5/31版 - konno 25/05/31-16:01 No.12353
   ┣ Re^2: MS-DOS Player 2025/5/31版 - たけだ 25/05/31-19:55 No.12354
   ┃┗ Re^3: MS-DOS Player 2025/5/31版 - たけだ 25/05/31-20:17 No.12356
   ┃ ┗ Re^4: MS-DOS Player 2025/5/31版 - konno 25/05/31-23:50 No.12357
   ┗ Re^2: MS-DOS Player 2025/5/31版 - 鈴木康弘 25/05/31-20:02 No.12355
    ┗ Re^3: バッチで処理してます? - konno 25/06/01-00:01 No.12358
     ┗ Re^4: バッチで処理してます? - たけだ 25/06/01-02:31 No.12359
      ┗ Re^5: バッチで処理してます? - 鈴木康弘 25/06/01-07:12 No.12360
       ┗ Re^6: 子プロセスの問題? - konno 25/06/01-12:51 No.12361
(12352) 12352MS-DOS Player 2025/5/31版  投稿者:konno   2025/05/31(土) 15:32
   コメント数 1

MS-DOS Player 2025/5/31版が更新されました。
-----------------------------------------------------------
Windows 98のXCOPYおよびXCOPY32が動作するようになりました。

XCOPYおよびXCOPY32は、子プロセスとしてXCOPY32.MODを起動するようになっています。
INT 21h, AX=4B00h/4B01hにおいて、従来は拡張子がCOM/EXE/BATのファイルのみ
読み込むようになっており、XCOPY32.MODの起動に失敗してしまっていましたが、
これを任意の拡張子を受け付けるように改良しました。

また、/Dオプションで日付を指定すると、INT 21h, AH=2Bhでその日付に変更してみて、
エラーが返るか否かで日付の妥当性をチェックするようになっています。
(日付の変更に成功した場合は、もちろん直ぐに元の日付に変更し直すようですが、
その狭間で次の日になってしまった場合は大丈夫ですかね…)
Windowsでは日時の変更は管理者権限が必要なため、常にエラーを返していましたが、
このため/Dで指定した日付が常に正しくないと判定されてしまっていました。
INT 21h, AH=2Bh/2Dhで、実際に仮想DOSマシン内の日時を変更できるよう改良して、
(ただし、ホスト環境の日時の設定には影響しないようになっています)
/Dオプションで指定した日付を正しく判定できるようになりました。
ついでに、タイマーBIOSのINT 1Ah, AH=03h/05hについてもサポートしています。

cracyc様のforkから、MAM版i386コアの修正を取り込ませていただきました。
VERR/VERW命令について、現在の権限レベルをチェックするようにしています。
-----------------------------------------------------------

WinMEの XCOPY32 の日付指定コピーが動くようになりました。
DATEコマンドでホストの日付が変わらないのは良いですね。手軽に使えそうです。
更新ありがとうございます。

      - No.12352 -    このTreeへ           [リストへもどる] soft


(12352) 12353Re: MS-DOS Player 2025/5/31版  投稿者:konno   2025/05/31(土) 16:01
    12352 番 konno さんへのコメント    コメント数 2

> WinMEの XCOPY32 の日付指定コピーが動くようになりました。

動くようにはなりましたが、私の環境では動作が変なところがあります。
他との違いは

>xcopy32 c:\vz d:\vz\ /D:2025/5/16 /s /v

このコマンド実行で、-18- というメモファイルが更新されませんでした。

C:\VZ\-LES\-18-
ファイルが見つかりません.
C:\VZ\-LES\-18-
ファイルが見つかりません.
送り側のファイルを読み取り中です...
C:\VZ\-LES\-LES\-18-
C:\VZ\-LES\0NIDO\龍の唄
パスが見つかりません.
送り側のファイルを読み取り中です...
C:\VZ\-LES\ASM\-18-
C:\VZ\-LES\C-SOUSE\VZ.DEF
パスが見つかりません.
送り側のファイルを読み取り中です...

・ (サブディレクトリの数だけ繰り返します)

送り側のファイルを読み取り中です...
ディレクトリを作れません.
36 個のファイルをコピーしました.


このように他のXCOPYより26個多いファイル(受け側の古い-18-)をコピーしました。
受け側にあるD:\VZ\のサブディレクトリを D:\VZ\-LES\に作り
D:\VZ\-LES\-LES\-18-
このようにコピーを繰り返しました。

私の WinME 環境の問題かもしれません。
Win10のXCOPYでは

>xcopy c:\vz\ d:\vz\ /D:5/16/2025 /s /v /y
C:\vz\CLPPST.TMP
C:\vz\dlog.000
C:\vz\dlog.def
C:\vz\KAO.DEF
C:\vz\TAGL.PAT
C:\vz\TAGLIGHT.PAT
C:\vz\-LES\-18-
C:\vz\up\upvt.bat
C:\vz\up\upvt_s2.bat
C:\vz\up\upv_s.bat
10 個のファイルをコピーしました

これが正常な動作だと思います。
とりあえず WinMEのXCOPY32 は使わず Win10のXCOPYを使うようにします。

      - No.12353 -    このTreeへ    コメント元:12352 へ [リストへもどる] pre


(12352) 12354Re^2: MS-DOS Player 2025/5/31版  投稿者:たけだ   2025/05/31(土) 19:55
    12353 番 konno さんへのコメント    コメント数 1

ファイルの検索で、属性のマスクがうまくいっていない感じでしょうか。
状況を再現してみます。
      - No.12354 -    このTreeへ    コメント元:12353 へ [リストへもどる] soft


(12352) 12356Re^3: MS-DOS Player 2025/5/31版  投稿者:たけだ   2025/05/31(土) 20:17
    12354 番 たけだ さんへのコメント    コメント数 1

Windows 98 Second Editionに入っていた(と思う)xcopy32で再現できませんでした。

C:\MSDOS>xcopy32 c:\src d:\dest\ /D:2025/1/1 /s /v
送り側のファイルを読み取り中です...
C:\SRC\INSTALL.TXT
C:\SRC\-LES\-18-
C:\SRC\-LES\MEMO.TXT
C:\SRC\漢字\読んでね.DOC
4 個のファイルをコピーしました.

Windows 98 Second EditionのCOMMAND.COM上で実行しています。

      - No.12356 -    このTreeへ    コメント元:12354 へ [リストへもどる] pre


(12352) 12357Re^4: MS-DOS Player 2025/5/31版  投稿者:konno   2025/05/31(土) 23:50
    12356 番 たけだ さんへのコメント

> Windows 98 Second Editionに入っていた(と思う)xcopy32で再現できませんでした。

別のPCで試したら正常に処理されました。
問題の出るPCはウイルスにやられているようで、ディスクアクセスに割り込まれているのかも。
うちのPCの問題の可能性が高いのでこれは無視してください。

あと、FreeCOMのCOMMAND.COMで、-v8.00 で起動すると XCOPY32が正常に使えました。
これは選択肢が広がって嬉しいです。

      - No.12357 -    このTreeへ    コメント元:12356 へ [リストへもどる] soft


(12352) 12355Re^2: MS-DOS Player 2025/5/31版  投稿者:鈴木康弘   2025/05/31(土) 20:02
    12353 番 konno さんへのコメント    コメント数 1

 鈴木のWin98のxcopyは、

too many processes
バッチジョブを終了しますか?

となってやっぱりxcopyできません。
Win10のxcopyならできます。
      - No.12355 -    このTreeへ    コメント元:12353 へ [リストへもどる] soft


(12352) 12358Re^3: バッチで処理してます?  投稿者:konno   2025/06/01(日) 00:01
    12355 番 鈴木康弘 さんへのコメント    コメント数 1

> too many processes
> バッチジョブを終了しますか?
> となってやっぱりxcopyできません。

鈴木さんのVZは V1.59z でしたっけ。
VZ1.6 オリジナル版は Win95/98 で常駐すると BAT がそのようなエラーになると思います。
高橋版以降のVZなら問題なく使えます。
今VZがオープンソースになっているので
https://github.com/vcraftjp/VZEditor

ここからオリジナルVZも落とせます。
うちのVZの部屋の最新テスト版は実行ファイルそのままアップしています。
実用には堪えませんがテストだけなら使えると思います。

外していたらごめんなさい。

      - No.12358 -    このTreeへ    コメント元:12355 へ [リストへもどる] soft


(12352) 12359Re^4: バッチで処理してます?  投稿者:たけだ   2025/06/01(日) 02:31
    12358 番 konno さんへのコメント    コメント数 1

そう言えば、windows98のcommand.comでvzを常駐して、
その状態でバッチファイルを実行すると、
メモリの空きがゼロの状態で子プロセスが呼び出される、
みたいな現象がありました。

おそらく、その類の問題かもしれません。
      - No.12359 -    このTreeへ    コメント元:12358 へ [リストへもどる] soft


(12352) 12360Re^5: バッチで処理してます?  投稿者:鈴木康弘   2025/06/01(日) 07:12
    12359 番 たけだ さんへのコメント    コメント数 1

 vz1.6を落として使ってみました。(1.59zから50バイトほどやせてました)
 これでWin98のxcopyすると、エラーメッセ―ジも出さずに、cmd.exeが強制終了してしまいました。

cmd.exeとms-dos playerを起動するバッチファイルは

cd \users\user\vz
del vztemp.$$$
set msdos_temp=c:\users\user\vz
msdos -n26 -x vzibmj *.*

と、Win10のcmd.exeをそのまま使ってますし..

たけだ様にも心当たりのないエラーメッセージだとすると、cmd.exeが出してるんですね。

 当面Win10のxcopyができるからよしとします。
      - No.12360 -    このTreeへ    コメント元:12359 へ [リストへもどる] soft


(12352) 12361Re^6: 子プロセスの問題?  投稿者:konno   2025/06/01(日) 12:51
    12360 番 鈴木康弘 さんへのコメント

> cmd.exeとms-dos playerを起動するバッチファイルは
> msdos -n26 -x vzibmj *.*

CMD.EXE から MSDOS Player を起動していたんですね。
同じようにやってみましたが、XCOPY32 は
DOS のバージョンが違います. と怒られました。
最近のMSDOS PlayerはCOMMAND.COMの指定が無いとカレントやルートのものを使うんですね。(^^;

オリジナルVZでも色々やってみましたが同じエラーは再現できませんでした。
何かでエラーになっているのだとは思うのですが。


ところで今のやりかただとDOSの環境変数を設定できなさそうです。

msdos.exe -x c:\command.com /k vzp.bat

このようにCOMMAND.COMを指定して /k 付きなら VZ起動バッチが使え、DOS環境も自由に設定できます。

また、MSDOS.EXE のショートカットアイコンを作ってプロパティのショートカットタブで
リンク先に上と同じオプションを入れればアイコンクリックでダイレクトにVZ起動できます。
VZ常駐も一発です。(^_^)

うちの VZP.BAT は

chcp 932
graftabl 932
set path=c:\ut;c:\;c:\windows;c:\windows\system32;
set temp=c:\temp
set tmp=c:\tmp
SET NCPATH=D:\NC
set vzdef=c:\vz\vz.def
set ASM=m
set VZBAK=\bak
set vzsym=MSP
vwx -z2 -v2 -x1 -l4096
TAGLIGHT.EXE /v stay
break on
vzibmj -z -fs4

こうなっています。余計なお世話だったらごめんなさいです。


> たけだ様にも心当たりのないエラーメッセージだとすると、cmd.exeが出してるんですね。

これはCOMMAND.COMが出しています。
> windows98のcommand.comでvzを常駐して、その状態でバッチファイルを実行すると、
> メモリの空きがゼロの状態で子プロセスが呼び出される、
これと同じような状況が発生しているのだと思いますが、再現出来なかったです。

      - No.12361 -    このTreeへ    コメント元:12360 へ [リストへもどる] soft