I have a few old programs/games which I'd like to run today. As there is Wine for running Windows programs, I wondered if there is a compatibility layer for CP/M. Obviously it would need to implement some kind of Z80 emulation too. Output would ideally be to the console so something like a ZX Spectrum emulator is not what I'm looking for.

I have a computer running a recent Linux. Happy to compile the thing myself if need be.

  • One of the things to consider is if you need to work on virtual diskettes which is seen as a single file to the host operating system or you want the emulator to present host directories as disks losing some low level diskette features instead but you can work directly on the files. Feb 3 at 20:01
  • @ThorbjørnRavnAndersen Five year ago now, but I think I would have preferred for it to map CP/M files to native ones. Like WINE does. Feb 4 at 17:54
  • as always on stack overflow questions answers and comments are not only for the asker, but also for future readers. Feb 4 at 20:47
  • @ThorbjørnRavnAndersen That's the idea Feb 5 at 17:48

4 Answers 4


jhallen/cpm is pretty close to a compatibility layer via emulation. It runs in a terminal and maps the current CP/M drive to the current Linux directory.


There are numerous Z80 simulators out there. The Z80 simulator community is robust and mature.

Z80Pack is a solid first one stop shopping place to get started, but there are lots of others.


You can take a look at my project RunCPM. Just go to https://github.com/MockbaTheBorg/RunCPM It builds on Windows, Linux, Mac, Arduino (DUE), etc. It doesn't require a disk image, keeping all the files on the host operating system filesystem, which makes things easier, I believe. Feel free to give it a try. I would love to hear back with test results.


Because you're running code for a different CPU family (8080/Z80) as opposed to running code compatible with the CPU you are actually running, a compatibility layer will not do. You need to emulate.

Depending on your primary operating system, there are several different CP/M emulators available. This answer on another Stack site discusses a good choice if you want to run under Linux, for example.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .