I updated the MCL86+ code with a new acceleration mode which mirrors 256KB of the IBM XT’s motherboard RAM and ROM using the Teensy 4.1 internal memory and disabling the 8088 cycle accuracy.
One obstacle was that the IBM PC uses DMA for disk accesses which results in the contents of motherboard DRAM being different than the contents on any mirrored memory inside of the MCL86+ emulator. The fix for this is to copy the physical memory over to the mirrored memory just before the acceleration is enabled. It also requires that, once this acceleration is enabled, one should use a virtual C disk so that DMA is not used. Using an XT-IDE would also probably work since it does not use DMA.
The results is a substantial performance increase! Some tools report that the IBM XT runs at speeds close to an 80386. Not bad for an inexpensive drop-in 8088 replacement processor – and outperforms the V20 by a wide margin!





[…] clear that this is a capable design, and it’s even been extended with a mode that adds cache RAM to mirror the system memory at the processor’s speed. You can find all the code in a GitHub repository should you be curious enough to investigate for […]
LikeLike
[…] Why would you want an emulated CPU when the originals are still available? [Ted] inherited a busted Osborne I, an ancient Z80 luggable. By replacing the original Z80 with his emulation, he could diagnose the entire system, which led him to discover some bad DRAM chips and get the old beast running again. Or maybe you just want to play IBM XT games at insane speeds? […]
LikeLike