MartyPC是用Rust编写的早期PC的跨平台模拟器。它支持Windows,Linux和MacOS。 MARTYPC模拟了几个基于8088的系统,包括IBM PC,XT,PCJR和Tandy 1000。
单击此处访问MARTYPC用户指南
可以通过定期发行来获得构建。较新的自动构建可通过在每个工作流程的工件下的“动作”选项卡中获得。 (您需要登录到Github下载工件)。
MartyPC最初是一个爱好项目,以了解我在学习生锈的编程语言时是否可以从头开始写模拟器。我对MartyPC的最初目标是适度的,但是它已经达到了我从未想过的功能水平。
MartyPC在仿真世界中的预期利基市场是复古PC开发的助手。它包含调试工具和伐木设施,并计划了更多。与其他模拟器相比,设置可能不是用户友好的,但是如果您熟悉Edting配置文件,则不应遇到任何重大问题。为英特尔8088编写软件的程序员可以查看并测量其代码的确切周期执行。
MARTYPC的开发始于2022年4月。我开始努力于2022年11月制作MartyPC的8088 CPU仿真周期 - 精选。为此,我验证了CPU与与Arduino Mega Miega Microcontroller相关的实际8088 CPU的操作。有关更多详细信息,请参见我的Arduino8088项目。这允许在模拟器上同时执行指令,并进行真实的CPU,并且比较了执行结果,逐个周期。有关此过程的更多信息,请在我的博客上描述。
在2024年6月,我再次更新了8088测试套件,以支持练习8088的预取队队。发现并纠正了更多的周期不准确。 MartyPC通过8088 V2测试套件,其周期准确性为99.9997%。
已经进行了广泛的硬件研究,以改善MartyPC的外围仿真,包括使用Arduino调查8253个计时器芯片,使用示波器调查DMA时间,并最终使用逻辑分析仪构建巴士小玩笑。
2023年4月,MartyPC变得足够准确,可以运行臭名昭著的PC演示,8088 mph。
2023年5月,MartyPC成为第一个能够模拟PC Demo区域5150效果的PC模拟器。
MARTYPC的WebAssembly构建可以在您的Web浏览器中同时运行8088mph和5150区域!
目前,MartyPC可以模仿原始的IBM 5150 PC,5160 XT或通用XT克隆机。
对IBM PCJR和Tandy 1000的初步支持截至0.2.1。这些机器可能是越野车且不稳定的。
MartyPC模拟以下设备:
MARTYPC通过基本机器配置配置文件以及称为“覆盖层”的可选扩展名支持自定义机器配置,与安装扩展卡或其他升级相似。
MartyPC进行了广泛的调试GUI,并具有多个有用的显示屏,包括拆卸,CPU状态,内存查看器和各种外围状态。支持代码和内存断点。 MARTYPC还支持指导和基于周期的记录。
在单独的窗口中运行两个视频卡,或“准确”和“调试”视图中的同一张视频卡 - 或使用不同的着色器!
包括基本可配置的CRT着色器,还有更多的内容(计划了Librashader支持)
有关更多信息,请查看Wiki的屏幕截图画廊部分!
我有很多人要感谢(请参阅《关于框》!),但我特别想提及Reenignee所做的贡献。如果没有他的工作反向工程进行8088微型码,则该模拟器将永远无法实现。我还要感谢Ken Shirriff及其出色的博客,涵盖了8086的硅逻辑(以及8088的扩展)。