探秘NTVDMx64:运行DOS应用的64位Windows解决方案

探秘NTVDMx64:运行DOS应用的64位Windows解决方案

去发现同类优质开源项目:https://gitcode.com/

项目介绍

在今天的数字化时代,我们有时仍然怀念那些经典的DOS应用程序。NTVDMx64正是为了解决这个问题而诞生,它是一款移植自Windows NT4的著名32位Windows NTVDM到64位Windows平台的开源项目。这个创新证明了在64位操作系统上运行DOS程序是完全可能的,而且不需要依赖 DosBox 这样的模拟器。

项目技术分析

NTVDMx64的核心是一系列针对原始Microsoft NTVDM源代码的补丁,使其能够在64位Windows环境下正常工作。尽管64位模式下没有V86模式,但通过深入研究泄露的Windows NT 4源码,开发者发现SoftPC(由Insignia开发的DOS仿真器)使用了一个完整的C-CPU模拟器。因此,通过适配和修改,该模拟器可以在x64系统中运行DOS程序。

为了克服各种难题,例如与Console和CSRSS子系统的交互、内存管理和页分配粒度问题,项目采用了动态库加载的方法。通过两个DLL(一个32位,一个64位)作为AppInit-DLL注入每个进程,实现在运行时动态修补操作系统的DLL。这种方法需要禁用Secure Boot或启用Testsigning模式,并在Windows 11上采用AppCert.DLL方法。

项目及技术应用场景

NTVDMx64的应用场景广泛,无论是企业级的遗留业务软件还是个人收藏的经典游戏,都可以在现代64位Windows系统上得以重现。尤其是那些依赖于与Windows命令行交互的DOS程序,由于DosBox与Windows Console的兼容性问题,NTVDMx64提供了一种更原生的解决方案。

项目特点

  1. 兼容性:支持在64位Windows系统上直接运行DOS应用程序,无需模拟器。
  2. 性能优化:对于支持硬件加速的系统,可以利用HAXM实现更快的文本模式运行速度。
  3. 灵活性:可以通过AppInit-DLL技术动态修补操作系统,适应不同版本的Windows。
  4. 可定制化:提供了源代码和补丁文件,允许用户自行编译以满足特定需求。

请注意,虽然项目基于已泄露的Windows NT 4源码,但由于版权问题,官方不提供编译好的NVDMP包。然而,项目作者提供了编译指导和补丁,鼓励用户自行构建。

总的来说,NTVDMx64是一个富有创意的技术项目,让那些尘封的DOS程序焕发新生。如果你是怀旧玩家或者仍在使用DOS应用程序的专业人士,这是一个值得一试的选择。只需按照提供的文档,一步步构建属于自己的64位DOS运行环境。立即行动起来,重温那些经典时刻吧!

去发现同类优质开源项目:https://gitcode.com/

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值