模拟正在运行MS-DOS的计算机[关闭]

问题描述 投票:1回答:2
写作模拟器一直让我着迷。现在,我想为IBM PC编写一个仿真器并在其上运行MS-DOS(我有软盘映像文件)。

我在C ++和C方面具有丰富的经验,并且具有汇编程序和CPU架构的基本知识。我也知道,有成千上万的仿真器完全按照我的意愿去做,但是我这样做只是为了纯粹的快乐。

  • 我需要期待多少工作? (如果我的目标是引导DOS并使用它创建一个文本文件,则全部模拟)
  • 我应该模拟哪个CPU?在哪里可以找到有关机器代码的组织方式以及哪些操作码意味着什么的文档,因此我可以使用模拟器正确解压缩并正确执行它们?
  • MS-DOS是否仍在最新一代的处理器上运行?从理论上讲,它是否可以在带有现代主板,HDD,RAM等的64位AMD Phenom 2处理器上本地运行?
  • 除了模拟CPU之外,还有什么是重要的因素(就难度而言)?我只打算通过主机系统的控制台向系统输出/输入文本,没有声音或其他更高级的IO等。
  • 您编写了模拟器吗?你的第一个是干什么的?有多难?您对我有什么特别提示吗?

提前感谢

emulation dos x86-16
2个回答
2
投票
要知道您的模拟器运行DOS所需的内容,我认为最好的地方是转到重新实现了DOS克隆的FreeDOS项目。通过研究资源,您应该能够提出需求列表。

关于操作码,您可以查阅X86 Opcode and Instruction Reference或Intel文档。您还应该考虑使用最新的处理器功能进行虚拟化。

DOS应该仍然能够启动现代PC,但是可能无法使用大多数硬件(由于缺少驱动程序,或者由于“ OS”的固有限制。]]

如果您想完全模拟PC以便能够运行MS-DOS(或克隆),我认为您必须:

    解码和解释操作码
  • 模拟内存控制器
  • 模拟BIOS和VGA BIOS
  • 需要实施BIOS syscall
  • 免责声明:我没有编写模拟器。

-2
投票
由于MSDOS是纯16位代码,因此它本身不能在64位处理器上运行。

0
投票

如果您想玩游戏,则在此站点中有几款游戏:https://msdos-games.com

© www.soinside.com 2019 - 2024. All rights reserved.