Small C compilers for MS-DOS

In the early 1990s I bought a commercial small C compiler for MS-DOS sold by an American developer or small business.

I have only vague recollections and I don’t remember the product name. But the compiler supported a good subset of K&R or possibly ANSI C, shipped on a single 5.25" floppy disk, and came with full source code and documentation in text format. I’m not sure whether it was derived from Ron Cain’s Small-C. At no more than a few dozen Dollars it was quite affordable even to price conscious computer enthusiasts and hobbyists.

I’d like to track down that product and learn more about it. But, more generally, I’m interested in other minor C compilers for MS-DOS, both commercial and free, produced in that era by bedroom programmers such as individual developers, small software houses, or small businesses.

As a starting point I’ve found a list of small C compilers for MS-DOS.

5 Likes

I found Power C by Mix Software which appears still to be available for $20. Also the related HN thread may have some pointers.

The thread links to a nicely retro video for Mix Software’s training course:

I note Mix had an earlier C compiler for CP/M 80 which is now freely available.

Edit: I see there’s a floppy image at the Internet Archive

2 Likes

Although not the one I bought, Power C was a great value and Mix Software also sold other good tools.

Many years back I used something called DJGPP under MS-DOS (Probably Win 95 or XP but it ran in console mode) to port a Linux project in ANSI C to DOS…

A quick search shows it’s still out there:

https://www.delorie.com/djgpp/

-Gordon

I have been playing around with Dr Dobb’s Small C ver 2.2 under DosBox, for cross compiling
to another CPU. Porting the compiler is a bit tricky, since it just has ample memory to self compile and any changes can break the compiler.
With this compiler I needed a free x86 assembler and linker, That was harder to find than the C compiler. Other C compilers for DOS, may also need a assembler and linker.
Bruce’s C compiler is bare machine compiler X86/6809 under linux.

Could the one you’re remembering have been Borland or Zortech? I also have the name “Cain” bubbling up from my subconscious but I’m less sure of that one. (Later: of course I should have remembered, Ron Cain was the original author of Small C before Jimmy Hendrix. GitHub - DosWorld/smallc: Here is collection of original untouched source code for 'Small C' family ) I undoubtedly used whatever you’re thinking of myself. I remember putting together a header file that checked for several MSDOS C compilers back before “configure” on Linux was a thing. If I can find that file again I bet it’ll include references to the other popular C compilers of the day. That was back when you needed an explicit “DOS Extender” to run programs over 32K.
Later: I found my “grope.h” and was reminded of Aztec, Turbo C, and Lattice C. Oh - and Dave Dunfield didn’t just do a small C for the 6809 - he also had an 8086 version which wasn’t open source at the time but is now. GitHub - EtchedPixels/DunfieldMicroC

1 Like

You might be remembering the Mark Williams C compiler. I used this on an original IBM PC (two floppies, no hard drive yet) in 1983 and 1984.

I’m pretty sure the C compiler I bought wasn’t Borland or Zortech, whose products at the time had higher prices, or Mark Williams as I was familiar with the company.

It could have been Micro-C but the product I bought came with documentation which I can’t find in the repo.

Was there something called “Lightning C”? I have a vague recollection of that, at a price of $30 or so.

It wasn’t Lightning C either, I was aware of that product at the time.

It feels like there was quite the demand and a lot of offerings on the market. Have you looked for adverts in old magazines?

There was indeed a thriving market for development tools and other software by individual developers or small companies. I haven’t checked adverts in old magazines yet as there’s quite a lot to sift through.

Byte Magazine from around 1990 may be worth checking out, particularly since they have an index of advertisers at the back. I actually checked earlier today, for Jan 1985, but I couldn’t see any reference to “Lightning C”; that may be because Lightning C came later, or the company name was completely different.

This is a bit early, but a 1985 survey of 21 C compilers:

via Computer Ads from the Past - where there might well be other C compilers and links to other surveys.

1 Like

And from 1986 (again, a bit early) a bulk review in Dr Dobb’s

and another mag:

(again, via)

1 Like

TCC from Fabrice Bellard (creator of Qemu)
https://bellard.org/tcc

I took a look at the compilers listed in the magazine reviews you shared and none seem to match the one I bought. Based on the packaging of the product I’d say it was by an individual developer or bedroom programmer, probably not even a small business.

1 Like

I suppose these are all C compilers for DOS. QNX had its own C compiler and that is what I used most in the 1980s. It had an interesting extension which allowed you to use “@” in place of “*” and ES would be used as the segment instead of DS. That allowed you to go over the 64KB (128KB with separate DS and CS) limit without the complications of “far pointers”.

Only the minimal memory model in DOS was compatible with code being adapted from Unix. The use of far pointers made writing code that would run on both platforms too hard, which is why I consider the 386 to be the first x86 to be able to run “proper C”. I claim that the 8086 and 286 were Pascal/assembly processors instead.

In my own parallel journey, I bought Matt Dillon’s DICE for the Amiga - but I don’t think he supported other platforms.

1 Like