タイトル | : Re: VTDOS+EMS+VZでの不具合検証 |
投稿日 | : 2023/03/24(金) 22:54 |
投稿者 | : konno | 番 号 | : 10699 10682 番 konno さんへのコメント コメント数 2 |
良い知らせと悪い知らせがあります。 10#さんとのやりとりで私が上手く伝えられなくてどうなることかと思いましたが 再現が出来たと朗報がありました。 それとともに、新たなVZのバグが発覚したようです。 メールの返信の内容を貼り付けます。 ----------------------------------------------------------->試験をやり直した結果再現しました。おお、再現出来ましたか、よかったです。>余談になりますが、僕の試験で把握出来た事をお伝えします。>まずこの現象はEk+では再現されないようですが、この場合は前回僕がお伝えした結果になります。>それから、試験をパスした(一致した)状態で窓替え(F2)を行ってすぐ比較を行うと相違が出ます。>これはMS-DOS上のオリジナル版でも出ます。試験をパスした(一致した)状態で窓替え(F2)を行ってすぐ比較を行うと相違が出るのですか。 この現象は知りませんでした。やはり検証不足だったようです。 MS-DOS Player や DOSVAXJ3 でも同じ現象になりました。 [F02]の後の比較マクロで6か所文字化けが出ますが、これは VZ のバグだと思われます。 思い当たるルーチンが有るので修正したVZで試してみました。 MS-DOS Player や DOSVAXJ3 では、文字化けが無くなり、正常になりました。 VTDOS では、やはり内容が変わっています。 10#さんのおかげで、一歩前進出来たみたいです。ありがとうございます。>この事を踏まえ調査を行うつもりです。よろしくお願いいたします。 私ももっと検証を進めたいと思います。 ----------------------------------------------------------- ということで、調査をしていただけるのはうれしい知らせですが 比較で一致しても直後に[F02]窓替えで再比較すると文字化けが出るという新たなVZのバグが発覚しました。 これは、BL1024 か BL2048 の時だと思われるので、BLの影響で長い行の途中に改行が入るのではないかと想像しました。 過去記事の #10322:Bl3072 の大穴が塞がったかも 投稿者:konno 2022/10/11(火) 21:59> Bl3072 では 3700bytes を超えるところで改行が入っていました。> ソースに改行を挿入するところがあるはずだと当たりをつけて> 「,LF」で検索すると、それらしいところが TEXT.ASM にありました。>> fread proc> 中略 410行目> cmp si,di> jne read3> mov byte ptr [si-1],LF> _break> read3: cmp byte ptr [si-1],LF> _until e> clz> ret> read9: stz> read_x: ret>>> ここの> mov byte ptr [si-1],LF> があやしいと思い、色々試したところ>> cmp si,di> jne read3> stc ;★##k 221011 キャリーをセット> jmps read9x ;★ ゼロフラグをクリアしてリターン> ; mov byte ptr [si-1],LF ;★ Bl3072 の時 3700bytesで強制改行(実行しない)> _break> read3: cmp byte ptr [si-1],LF> _until e> read9x: clz ;★ ゼロフラグをクリアしてリターン> ret> read9: stz> read_x: ret>>> このように変更したら、Bl3072 で改行文字化けが無くなりました。これを思い出し cmp si,di jne read3 jmps read9x ;★ ゼロフラグをクリアしてリターンへ mov byte ptr [si-1],LF _break read3: cmp byte ptr [si-1],LF _until e ; clz read9x: clz ; or sp,sp = zf0 cf0 ret このようにシンプルに修正したVZでは、文字化けも無く正常処理出来ました。 今までは余計なところまで弄ってエンバグしていたようです。 正常動作するVZは、だいぶ前に戻ってしまいました。 今まで積み上げてきたものが全部崩れてしまった感じです。(^^; # まるで賽の河原で石積みをしているような・・・ だって私、VZの亡者ですから。
- No.10699 一括表示へ - コメント元:10682 一括表示へ - [ 返信 ] [引用無し] pre