タイトル | : MS-DOS Player 12/30版 |
投稿日 | : 2021/12/31(金) 00:53 |
投稿者 | : konno | 番 号 | : 10145 コメント数 1 |
MS-DOS Player が更新されていました。12月30日の版です。 更新内容を張り付けます。 --------------------------------- 2021/12/30 QEMUのtesti386.exeを参考に、NP21/WのI386コアを修正しました。 ia32_x86版のバイナリで、実機と同じ結果が得られるようになっています。 具体的な変更点は以下の通りです。 DAA/DAS/AAA/AAS/AAM/AAD命令を、DOSBoxの実装を基に修正しました。 SHLD/SHRD命令で、16bit以上シフトしたときの処理を修正しました。 FCOM/FCOMI/FXAM命令で、NaNやINFのときのC1,C2,C3フラグの値を修正しました。 FDECSTP/FINCSTP命令で、C1をクリアするよう修正しました。 FLD系命令で、スタックオーバフローの有無でC1をセットまたクリアするよう修正しました。 FSTENV/FLDENV/FSAVE/FLDENV命令で、data16プリフィックスを反映するよう修正しました。 なお、ia32_x64版だと、浮動小数点のテストで例外が発生してしまいます。 x86ビルドとx64ビルドで、何かしら処理が等価になっていないようですね、要調査。 --------------------------------------- さっそく使ってみましたが、ia32版では、自作のアプリでエラーが出ます。 自作アプリとは、turbo basic の古いプログラムで、VGAでないと動きません。 実は、今までの MS-DOS Player では、エラーが出て使えませんでした。 軟式さんの DOSVAXJ3 では使えていました。 確認のために、今回の版の全てのバイナリを試してみました。 i86_x86 VZ起動時に落ちる。VZは、186コードを含んでいます。 i86_x64 VZ起動時に落ちる。VZは、186コードを含んでいます。 i286_x86 問題なし。 i286_x64 問題なし。 i386_x86 問題なし。 i386_x64 問題なし。 i486_x86 問題なし。 i486_x64 問題なし。 ia32_x86 数字4桁の入力で、OE+2?? (??は数字によって変わる)エラーで止まる ia32_x64 数字4桁の入力で、OE+2?? (??は数字によって変わる)エラーで止まる 数字4桁の入力は、裏で変換の計算をしているので、どこかで引っかかっているのかなと思いました。 私のプログラムか環境のせいだとは思いますが、一応作者の武田さんにご報告をさせていただきました。 今回、MS-DOS Playerで自作の古いアプリが動くようになりましたので、非常にありがたいです。 作者様に感謝いたします。m(__)m
- No.10145 一括表示へ - [ 返信 ] [引用無し] pre