Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I need to be able to run a very old piece of software -- the HI-TECH z80 C Compiler for CP/M. It has been released as freeware by HI-TECH. Alas, it only runs on CP/M.

After a lot of Googling, I found a page of utilities for UZIX. One of those utilities is a script to abstract away the emulation of a CP/M machine, thus allowing you to use the compiler as you would any other UNIX program. The problem with this script is that it depends on their own CP/M emulator, which unfortunately will not compile on a modern (x64) system.

My question: is there a usable CP/M emulator for Linux that could be used in a similar fashion? Specifically, I need to be able to somehow have it access files from the host system, a la DOSBox. I'm willing to rewrite a script (I don't have to re-use the UZIX one); I just need an emulator. Thanks for any help!

share|improve this question
Why do you need to use that z80 C compiler? There are others... – Dan D. Dec 9 '12 at 4:16
@DanD. The codebase I have was built for that compiler. Also, HI-TECH's produces higher quality code. – thirtythreeforty Dec 9 '12 at 4:19
Darn! I knew I shouldn't have gotten rid of my Osborne! – fixer1234 Nov 18 '14 at 21:48
up vote 5 down vote accepted

I think z80pack would work well for you. I use it under 64-bit Linux and there are tools available to move files easily between the emulated and host file systems. I wrote a couple of articles a while ago that you may find useful:

Setting up z80pack to create an emulated CP/M sytem

Installing the HI-TECH Z80 C Compiler for CP/M

share|improve this answer
Wonderful; exactly what I was looking for. I should point out that the link to the HI-TECH compiler in your second article is broken, though. – thirtythreeforty Dec 10 '12 at 23:40
@gh403 Glad you found it useful. Thanks for letting me know about the links, I have updated the article with new ones. – Lawrence Woodman Dec 11 '12 at 7:06

The dosbox program, in spite of its name, is actually a old-style PC emulator that can boot other OS as well.

Check this out:

But I haven't tried it myself.

For Z-80 emulation you might try the TRS-80 emulators, which used a Z-80 chip. I believe you can run CP/M on this also.

share|improve this answer
Interesting... however, I think the HI-TECH compiler was compiled for z80, and DOSBox only emulates the x86 architecture. Unless I'm totally misunderstanding this? – thirtythreeforty Dec 9 '12 at 3:20
Oh, sorry, missed that part. – Keith Dec 9 '12 at 3:23
Good idea. Although the TRS-80 page you linked to doesn't even mention Linux. – thirtythreeforty Dec 11 '12 at 1:03
@gh403 But I have tried that and I know it runs on Linux. I once had 100 TRS-80s running on my one Linux box. :-o – Keith Dec 11 '12 at 1:05

Would this one written in java help??:

share|improve this answer
Maybe. How would I access the host OS's filesystem? – thirtythreeforty Dec 9 '12 at 4:20
I don't think I can help out on this one. Sorry. I could suggest maybe installing a virtual machine of a 32bit linux OS and seeing if that helps compiling of it? It might be just that it doesn't like your 64 bit OS as is dependent on some libraries in the 32 bit and isn't inherent incompatible with compiling on x86 architecture? My best guess for help on this one. – Blisk Dec 9 '12 at 4:28
Hm. That's a possibility, I suppose. However, I'm going for the minimum number of emulation layers here ;) – thirtythreeforty Dec 9 '12 at 5:02

You must log in to answer this question.

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