HeadlinesBriefing favicon HeadlinesBriefing.com

Marty PC: Rust 中的周期精确 IBM PC/XT 模拟器

Hacker News •
×

Marty PC 是一个周期精确的早期 IBM PC 兼容机模拟器,包括 IBM Model 5150 (PC)、IBM Model 5160 (XT)、IBM PCjr 和 Tandy 1000。由 dbalsom 于 2022 年 4 月起作为一个 Rust 学习项目开发,可在 Windows、Linux 和 macOS 上运行,并提供网页演示。该模拟器面向复古 PC 开发者,提供广泛的调试工具和日志设施。

其 Intel 8088 CPU 模拟实现了 99.9997% 的周期精度,经由连接到 Arduino MEGA 微控制器的 Arduino8088 项目与实体 8088 进行了硬件验证。这种硬件验证方法发现并纠正了大量的预取队列不准确之处。Marty PC 是第一个运行 8088 MPH 演示(2023 年 4 月)和 Area 5150 演示(2023 年 5 月)的模拟器。

外设模拟包括 8253 PIT(使用示波器测试)、8237 DMAC、8259 PIC、8255 PPI、8250 UART、游戏端口和并行端口。包含 NEC V20 CPU 实现,但未完全周期精确。当前版本为 0.4.1,开发中为 0.5.0。构建通过 GitHub Releases 或 Actions artifacts;源构建需要 Marty PC Wiki 指南。

关键实体:公司:IBM、Intel、NEC、Tandy、Arduino、GitHub | 人员:dbalsom

常见问题:Marty PC 如何实现周期精确的 8088 模拟?

Marty PC 通过同时在模拟器和连接 Arduino MEGA 微控制器的实体 Intel 8088 CPU 上执行指令,通过 Arduino8088 项目循环对比结果来验证其 8088 CPU 模拟。