MS-DOS Player for Win32-x64(12/06/2009) - 模擬器

Table of Contents

http://homepage3.nifty.com/takeda-toshiya/

2009/12/06
SYMDEBにおいて、EXEファイルのステップ実行がうまくいかない不具合を修正しました

従来の実装だと、JMP命令を実行しても、そのまますぐ次の命令に進んでいました。

これが、ちゃんとジャンプ先の命令に進むようになっています。
どうも、int 21h ax=4b01hでパラメータブロックに返るSPの初期値の問題だったようで
す。
(SPの値の表示が0102から0100に変わっていることに注目)

その他、従来はファイル操作関係の処理にファイルストリームを使用していましたが、
これを下位入出力関数で処理するように修正しました。
機能的には変わりないですが、ソースがすっきりしてバイナリサイズも小さくなってい
ます。


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

2009/12/05
BLOGのコメントで、動作しないと報告して頂いたプログラムの対応を図りました。
VTDOSという強力なライバル出現にかなり刺激されてたりします(苦笑)

画像コンバータMGが動作するようになりました。
CPUのエミュレーションを、8086からV30に変更しました。
また、int 21h ah=02h/06hで漢字を1バイトずつ出力する際、文字化けしないよう修正
しました。


SYMDEBが動作するようになりました。
Lコマンドの実行で使用している、int 21h ax=4b01h(ファイルを読み込むけど起動し
ない)、
int 21h ah=26h/50h/51h(現在のPSPのコピー作成、PSPアドレスの設定、取得)をサポ
ートしています。


作成したコマンドのデバッグも可能です。


!コマンドで、DOSコマンドを呼び出すことも可能です。
int 21h ax=4b00hで、COMMAND.COMまたはCMD.EXEを/Cオプションを付けて起動しようと
したとき、
system()関数でコマンドを実行するようにしています。

またSYMDEBでは、!コマンド実行時に、COMSPECからインタプリタ名を取得しているよう
ですが、
このとき環境変数名がComSpecと小文字混じりになっていると正しく認識できないよう
です。
このため、ホスト環境から環境変数をコピーする際、変数名を大文字にするように修正
しました。

#SYMDEB.EXEの入手に困って、HANDY98のROMドライブから吸い出したものを使ってたり
(を

--

All Comments

Olive avatarOlive2009-12-09
真的嗎,很想試試能不能拿來玩DOS遊戲