今日のテーマ   日々改造 (^_^;)         
[記事リスト(ツリー表示)]  [ 返信 ]   [新着記事] [最新50] [ワード検索] [過去ログ]

タイトル Re: WinNT系のコマンドライン問題解決の方法
投稿日: 2023/04/08(土) 01:47
投稿者konno
 番 号 10758    10588 番 konno さんへのコメント

#10588 の続きです。
記事で書き忘れていたのですが、ソースを見なおしていて思い出しました。
先のソースは前半で、後半の処理ルーチンが漏れていました。

dos.asm 1249行あたり
	mov	ax,cs
	cmp	byte ptr cs:os_win,5	; ##k 230225  NT系コマンドライン不具合対策
	je	winnt5			; ##k 
	tstw	es:[mcb_psp]		; ## この2行が		2010-2-10
	jz	chkmcb9			; ## 不要と思われる	by 10#
winnt5:	cmp	es:[mcb_psp],ax
chkmcb9:pop	es
	ret
checkmcb endp

ソースを公開した後にコメントを追加しているもので、見落としていたのです。(^^;
WinNT系なら2行をスキップするように変更したのですが、その2行に 10#さんのコメントが。(^^;
当時の記事を引用します。

-----------------------------------------------------------
#4999: Re^5: VTDOS v1.22 で分割画面で異常 投稿者: 10#   2010/02/10(水) 00:59

F_REALLOCが未割り当て領域エラーを返した場合の処理は省略されている模様。
検査用のローカルサブルーチンcheckmcbをレビュー。

該当箇所・DOS.ASM 1250付近
> checkmcb proc
>         push    ax
>         dec     ax
>         mov     es,ax
>         mov     al,es:[mcb_id]
>         cmp     al,'M'
> _ifn e
>         cmp     al,'Z'
>         jne     chkmcb9
> _endif
>         mov     ax,cs
>         tstw    es:[mcb_psp]	; ## この2行が
>         jz      chkmcb9	; ## 不要と思われる
>         cmp     es:[mcb_psp],ax
> chkmcb9:pop     es
>         ret
> checkmcb endp

呼び出し仕様「割り当て済みチェック」に対して、
「未割り当てを含む有効なMCBチェック」であることが判明。
この論理ではexpandfarが空き領域に対してF_REALLOCを
呼び出しうるため、不具合であると仮定。
問題箇所をコメントアウトしてVZをリビルド。

パッチ済みのVZで追試を行いました。
結果、SW3の時に画面分割を行っている場合は再現しましたが、
それ以外の場合は改善されている様子です。

-----------------------------------------------------------

このように、2010年当時に10#さんは既にVZの不具合部分を特定していたようなのです。
私はそれを忘れていて、たまたまWinNT系対策のためにそこをスキップさせたのでした。
恐らくそこの2行をコメントにしても問題ないどころか改善されていたかもしれないと思われます。

やっぱりプロのプログラマーは凄いですね。
10#さんはじめ、みなさまに感謝です。m(__)m

    - No.10758 一括表示へ   -   コメント元:10588 一括表示へ  -    [ 返信 ]    [引用無し] pre


- 関連一覧ツリー (先頭の番号をクリックするとツリー全体を一括表示します)
10586.vzk07v6 UPしました - konno 23/02/28-23:49
  ┣10587.Re: vzk07v6 ソースも UP - konno 23/03/01-00:32
  ┣10588.WinNT系のコマンドライン問題解決の方法 - konno 23/03/01-01:03
  ┗10758.Re: WinNT系のコマンドライン問題解決の方法 - konno 23/04/08-01:47
  ┣10589.Re^2: vzk07v6 ソースも UP - shadow 23/03/01-09:14
  ┗10590.Re^3: vzk07v6 ソースも UP - konno 23/03/01-14:49
   ┣10591.Re^4: vzk07v6 ソースも UP - shadow 23/03/01-17:24
   ┣10592.Re^5: vzk07v6 ソースも UP - shadow 23/03/01-17:47
   ┗10599.Re^6: vzk07v6 ソースも UP - konno 23/03/02-23:31
   ┣10593.Re^5: vzk07v6 ソース駄目でした。m(__)m - konno 23/03/01-21:15
  ┣10594.K07v6 ソース再アップ - konno 23/03/02-17:46
  ┣10597.Re: K07v6 ソース再アップ - shadow 23/03/02-22:13
  ┣10595.Re: vzk07v6 UPしました - めざら 23/03/02-20:17
  ┣10596.Re^2: vzk07v6 UPしました - konno 23/03/02-21:31
  ┗10598.Re^3: vzk07v6 UPしました - めざら 23/03/02-23:00
  ┣10600.Re: vzk07v6 UPしました - めざら 23/03/03-16:18
  ┣10602.Re^2: vzk07v6 Rf- にバグ - konno 23/03/03-21:41
  ┗10606.Re^3: vzk07v6 Rf- にバグ - めざら 23/03/04-10:33
   ┣10612.Re^4: vzk07v6 Rf- にバグ - konno 23/03/05-01:29
   ┣10623.Re^5: vzk07v6 Rf- バグ直ったかも - konno 23/03/13-23:42
  ┗10624.vzk07v6h UP - konno 23/03/15-00:21
   ┣10625.Re: vzk07v6h UP - めざら 23/03/15-09:36
   ┗10627.Re^2: vzk07v6h UP - konno 23/03/15-16:53
    ┣10629.Re^3: vzk07v6h UP - めざら 23/03/16-08:15
    ┣10630.Re^4: vzk07v6h UP - konno 23/03/17-01:23
   ┣10626.Re: vzk07v6h UP - shadow 23/03/15-15:48
   ┗10628.Re^2: vzk07v6h ソース差し替え - konno 23/03/15-17:16
    ┣10631.Re^3: vzk07v6h ソース差し替え - shadow 23/03/17-12:45
    ┣10633.Re^4: vzk07v6h ソース差し替え - konno 23/03/17-18:12
   ┣10690.vzk07v6h バグあり、使用中止してください - konno 23/03/22-17:36
   ┗10695.Re: vzk07v6h バグあり、使用中止してください - めざら 23/03/24-13:53
    ┣10696.Re^2: vzk07v6h バグあり、使用中止してください - konno 23/03/24-18:28
  ┗10637.Re: vzk07v6 UPしました - めざら 23/03/17-22:05
   ┣10640.Re^2: vzk07v6 UPしました - 文太 23/03/18-01:38
   ┗10642.Re^2: vzk07v6 のバグ? - konno 23/03/18-02:09
    ┗10649.VTDOSのEMS環境は避けた方がいいです。 - konno 23/03/18-16:24
     ┣10652.Re: VTDOSのEMS環境は避けた方がいいです。 - konno 23/03/18-21:30
     ┣10665.Re^2: VTDOSのEMS環境は避けた方がいいです。 - 文太 23/03/19-15:56
     ┗10669.Re^3: VTDOSのEMS環境は避けた方がいいです。 - konno 23/03/20-00:41
      ┣10671.Re^4: VTDOSのEMS環境は避けた方がいいです。 - 文太 23/03/20-01:52
      ┣10675.TPAEXT=1 - 文太 23/03/20-12:16
      ┗10689.inst.asm - 文太 23/03/22-01:29
       ┗10692.Re: inst.asm - konno 23/03/22-22:32
     ┣10653.Re: VTDOSのEMS環境は避けた方がいいです。 - めざら 23/03/18-21:34
     ┣10654.Re^2: VTDOSのEMS環境は避けた方がいいです。 - konno 23/03/18-23:41
     ┗10670.VTDOSのEMS環境は更なる検証が必要 - konno 23/03/20-01:39
      ┣10672.Re: VTDOSのEMS環境は更なる検証が必要 - としき 23/03/20-01:56
      ┗10676.Re^2: VTDOSのEMS環境は更なる検証が必要 - konno 23/03/20-13:42
      ┣10674.Re: VTDOSのEMS環境は更なる検証が必要 - めざら 23/03/20-10:35
      ┗10677.Re^2: VTDOSのEMS環境は更なる検証が必要 - konno 23/03/20-14:41
       ┗10678.Re^3: VTDOSのEMS環境は更なる検証が必要 - めざら 23/03/20-22:34
        ┗10680.Re^4: VTDOSのEMS環境は更なる検証が必要 - konno 23/03/21-01:22
         ┗10685.Re^5: VTDOSのEMS環境は更なる検証が必要 - めざら 23/03/21-13:51
          ┗10686.Re^6: VTDOSのEMS環境は更なる検証が必要 - konno 23/03/21-21:23
     ┗10655.Re: VTDOSのEMS環境は避けた方がいいです。 - 文太 23/03/18-23:43
      ┣10666.ファイル中身の破損 - 文太 23/03/19-16:00
      ┗10688.Re: ファイル中身の破損 - 文太 23/03/22-01:14
       ┣10691.Re^2: スワップとEMSとBT - konno 23/03/22-22:26
       ┗10693.Re^2: ファイル中身の破損 - 文太 23/03/23-00:37
      ┗10667.Re^2: VTDOSのEMS環境は避けた方がいいです。 - konno 23/03/20-00:38
       ┗10673.Re^3: VTDOSのEMS環境は避けた方がいいです。 - 文太 23/03/20-02:05

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)   [引用無し]
おなまえ 
Eメール 
タイトル 
メッセージ auto soft pre(図表、プログラム) ※折り返さずに改行を入れてね
 参照先 
 暗証キー (英数字で8文字以内)
 プレビュー          

- 以下のフォームから自分の投稿記事を修正・削除することができます -
   処理   記事No   暗証キー
    [ページトップへ] [管理用]