HeadlinesBriefing favicon HeadlinesBriefing.com

Marty PC: Cycle-Accurate IBM PC/XT Emulator in Rust

Hacker News •
×

Marty PC is a cycle-accurate emulator for early IBM PCs and compatibles, including the IBM Model 5150 (PC), IBM Model 5160 (XT), IBM PCjr, and Tandy 1000. Developed by dbalsom starting in April 2022 as a Rust learning project, it runs on Windows, Linux, and macOS, with a web browser demo available. The emulator targets retro PC developers with extensive debugging tools and logging facilities.

Its Intel 8088 CPU emulation achieves 99.9997% cycle-accuracy, validated against a physical 8088 connected to an Arduino MEGA microcontroller via the Arduino8088 project. This hardware-verified approach uncovered and corrected numerous prefetch queue inaccuracies. Marty PC was the first emulator to run the 8088 MPH demo (April 2023) and the Area 5150 demo fully (May 2023).

Peripheral emulation includes the 8253 PIT (tested with an oscilloscope), 8237 DMAC, 8259 PIC, 8255 PPI, 8250 UART, game port, and parallel port. A NEC V20 CPU implementation is included but not fully cycle-accurate. Current version is 0.4.1, with development at 0.5.0. Builds are via GitHub Releases or Actions artifacts; source builds require the Marty PC Wiki guide.