0

それで、私は DOS プロンプト用の昔ながらの ASCII ゲームを開発しています。そう言えば、ノスタルジックです。とにかく、私がそれに戻ってから、画面メモリに直接アクセスすることを再学習し、ゲームのリフレッシュレートが約30〜60Hzになる最近まで、とても楽しんでいました. XP、Vista、および 7 では、コマンド プロンプトの vert refresh が約 14 Hz でスロットルされているように見えます。一定の KB 入力を与えると、約 25 ~ 30 Hz に跳ね上がります。

要点は次のとおりです。DOSゲームを実行すると、ウィンドウモードで非常に途切れますが、スペースバーを押したままにすると、更新がはるかに改善されます。フルスクリーンモード(Alt + Enter)で実行すると、問題はまったくないので、メインOS(Windows)がエミュレートされたOS(DOS)のリフレッシュレートを測定する方法に関係があると確信しています.

DOS エミュレーター (コマンド プロンプト) のリフレッシュ レートをデフォルトにする方法はありますか? それとも、KB 割り込みを介して一定の KB 入力をエミュレートしますか?

4

1 に答える 1

1

最近の (つまり 2000 年以降の) Windows バージョンの CMD DOS プロンプト エミュレーターはあまり正確ではなく、古い DOS ソフトウェア、または古い DOS ソフトウェアのように動作するソフトウェア、特に定義された動作に関して多くの互換性の問題があります。実際の DOS システムのハードウェアによって。

コードからテキストモード バッファに直接アクセスすることについて言及しました。テキストモードであっても、表示タイミングが安定していることを要求するのはやり過ぎかもしれません。

DOSBoxなどの実際の DOS エミュレーターを使用してみましたか?

于 2011-07-13T12:43:11.357 に答える