0

所以我正在为 DOS Prompt 开发老式 ASCII 游戏,你问我值得花时间吗?我会这么说,它是怀旧的。无论如何,自从我回到它并重新学习现在直接访问屏幕内存以及直到最近我的游戏刷新率在 30-60Hz 左右时,我一直玩得很开心。我注意到在 XP、Vista 和 7 上,命令提示符 vert refresh 在我看来会限制在 14Hz 左右,当你给它恒定的 KB 输入时,它会跳到 25-30Hz 左右。

所以这里的要点是,我运行我的 DOS 游戏,它在窗口模式下非常不稳定,当我按住空格键时它刷新得更好。当我以全屏模式(Alt+Enter)运行它时,我完全没有问题,所以我确信它与主操作系统(Windows)如何测量模拟操作系统(DOS)的刷新率有关。

有什么方法可以默认 DOS 模拟器(命令提示符)刷新率?或者也许通过 KB 中断模拟恒定的 KB 输入?

4

1 回答 1

1

最近(即 2000 年后)Windows 版本中的 CMD DOS 提示模拟器不是很准确,并且与旧 DOS 软件或行为类似于旧 DOS 软件的软件存在很多兼容性问题,尤其是在定义的行为方面由真实 DOS 系统上的硬件。

您提到从代码中直接访问文本模式缓冲区。即使在文本模式下,要求显示时序稳定也可能是太多了。

您是否尝试过使用实际的 DOS 模拟器,例如DOSBox

于 2011-07-13T12:43:11.357 回答