As part of the retrocomputing/computer history work I’ve been doing, I’ve been making a collection of compilers for old architectures (currently the Z80 and 8086/286/386) which have been released under licenses which make them freely usable and distributable. As I’m discovering that these are getting harder to find I’m hosting them here for download.

Introduction

The problem

So, some context: there’s a lot of old software floating around for, say, CP/M, but most of it is commercial software by long-dead companies which is not actually legal to distribute. (For example, see this list of CP/M C compilers. For personal use, this isn’t a problem, as nobody will care; but, if you want to distribute these with anything of actual value, then it becomes a legal risk. It’s always possible that whichever long-dead company you’re ripping off turns out to be owned by a sue-happy legal troll. Unlikely, but possible.

This in turn means that any redistributor, such as Debian, explicitly checks the licensing of anything they upload, so they don’t get exposed to this risk. So, want to get a package of CP/M emulator software distributed with Debian? Then you’re going to have to show them that you actually have a license for that software which allows it to be distributed.

(It also doesn’t help that much old software never came with an explicit license, because they weren’t thought important back then. Trouble is, they are now, and without a license a work is undistributable…)

The solution

Luckily, some companies release their software under terms which makes them free to distribute and even modify, sometimes. Here is a collection of some of the old compilers I’ve found which come with such a license. To the best of my knowledge these can be freely distributed, and you don’t even need to ask permission. (But still consult your legal department.)

Note that none of these come with source. Binaries are all there is.

The compilers

Hitech C v3.09 (Z80)

For Z80, running on CP/M

This is a Z80 ANSI C compiler which actually runs on a Z80 — you’ll need a CP/M machine (or emulator thereof) to run them. As far as I know this is the only ANSI C compiler which will run on CP/M, and it even produces pretty good code. It got released by Hitech Software under a liberal license back in 2000ish (I haven’t been able to pin down the exact date).

Here’s the Internet Archive link to the release page on their website.

The license is as follows:

The HI-TECH Z80 CP/M C compiler V3.09 is provided free of charge for any use, private or commercial, strictly as-is. No warranty or product support is offered or implied.

You may use this software for whatever you like, providing you acknowledge that the copyright to this software remains with HI-TECH Software.

The original distribution files

These are the files as supplied by Hitech Software. They're self-extracting DOS EXE files, made with LHA, some of which contain .HUF compressed files which can only be decoded on CP/M itself. It contains the compiler binaries, documentation, plus complete standard library source.

A repackaged version of the software

This is the same package as above but I've expanded everything and rezipped it for ease of use.

Hitech C v4.11 (Z80)

For Z80, running on MS-DOS

This is a later version of Hitech Software’s Z80 compiler, compiled for MS-DOS. It’s essentially the same compiler as above but extended and bugfixed (and runs on a different architecture). You’ll need something like DOSBOX to run this.

Hitech Software was bought by Microchip in 2009, and all their non-PIC compilers were immediately removed from the Hitech website, but in 2018 Microchip were persuaded to release an old binary of the Z80 DOS compiler under a liberal license.

Here’s the Internet Archive link to where I got it.

The license is as follows:

© 2018 Microchip Technology Inc. and its subsidiaries.

Subject to your compliance with these terms, you may use this Microchip software and any derivatives of this software. You must retain the above copyright notice with any redistribution of this software and the following disclaimers. It is your responsibility to comply with third party license terms applicable to your use of third party software (including open source software) that may accompany this Microchip software.

THIS SOFTWARE IS SUPPLIED BY MICROCHIP “AS IS”. MICROCHIP WILL NOT SUPPORT THIS SOFTWARE IN ANY MANNER. NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.

IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THIS SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP’S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.

The release

This contains the documentation, installer, and samples and utilities disk. You'll need a DOS system or an emulator such as DOSBOX to run this.

Pacific C 7.51 (i86)

For 8086, 80286, 80386 running on MS-DOS

Another HI-TECH Software compiler — this is the freeware version of their DOS-based IDE and compiler suite. It’s a full text-based IDE and debugger environment which will run on a 286 with 512kB of RAM and is frankly superb (if you like DOS development).

The license is as follows:

Pacific C™ is a freeware C compiler for Windows. Included is the HI-TECH Professional Development environment, an IDE allowing you to edit source code and manage projects with ease. Pacific C’s text-based GUI makes it an excellent teaching package, while ANSI-compliance and tight code generation provide a powerful development tool. We have decided to make Pacific C for MS-DOS/Windows freeware. We have removed from the current distribution the shareware notice, so you may use the compiler for any purpose without having to either register or make a payment of any kind. This includes commercial use. If you redistribute Pacific C you must retain the copyright notices etc.

Pacific C is copyrighted by HI-TECH Software. The Freeware Version may be copied and distributed freely but only in the original form with all component files intact.

Note that you may not distribute modified versions of the pacific.exe distribution package. Also note that the documentation provided hasn’t been updated for the freeware version and has the standard commercial software boilerplate in it; the text above supercedes this.

Here’s the release page on Internet Archive; but their download site doesn’t work in IA, so I got the binaries from pacific.exe and pacman.pdf instead.

The release

This contains the documentation and the unmodified pacific.exe file, both in a single zipfile. Annoyingly, the pacific.exe file is a win32 self-extracting zipfile, so it won't self-extract on DOS: but you can extract it with PKUNZIP.