Plauger's books are good reading! I'm sorry to hear he's not in good health.
Not to take anything away from Whitesmiths† C, which has a good reputation, but if you're interested in a C compiler for CP/M,
BDS C is fully open source and free software, and also was well regarded. But it's written in assembly, and its compatibility with other C compilers (this was long before ANSI) leaves much to be desired.
We can hope that eventually the Whitesmiths licensing is cleared up, especially since the source is evidently in C. It would be great to have a fully self-sufficient free software development environment that could run on something as simple as an 8080 (6000 transistors, I think NMOS and therefore about 2000 gates) and didn't require you to dip into assembly all the time.
We can probably do better than the 8080 today. Graeme Smecher's Minimax, or Chuck Moore's MuP21 or F18A, seem like they would be a lot more comfortable to program on, and they're not much bigger. The MuP21 was 7000 transistors including ugly video output, with 21-bit words instead of 8-bit, and gsmecher's Minimax is a 32-bit RISC-V in 507 LUT6s, which I don't think anyone has done an ASIC of.
______
† Blacksmiths make hardware; who makes software?
sizzzzlerz 4 days ago [-]
That brings back some memories from my early days. I worked on a project that had decided to use the newish C language for a 68000-based system. They chose Whitesmith compiler for it, probably because it was the only one available. For some reason, I was selected to attend a class on learning C and became responsible for installing the compiler and assisting the other engineers on using it. The project was ultimately successful but I don't recall what issues we had with it. I do remember contacting Whitesmith a couple of times to resolve some problems. I guess it possible I was talking directly to P.J. Plauger himself, although, at that time, I would have had no idea who he was.
TomMasz 8 hours ago [-]
I remember using that compiler for M68K in the mid-80s, cross-compiling on a DEC Vax. The debug monitor we were using only displayed hex, no disassembly. The compiler was so predictable that I could locate the memory location for any C statement easily. It made patching code in memory a simple task.
julian55 5 hours ago [-]
It brings back memories for me too. This compiler was my first introduction to C, before that I'd used Pascal or Fortran. I worked on Z80 but we also had a 68K project which ran Whitesmith's Idris UNIX clone before we got real System III ported
vaxman 2 days ago [-]
..directly while also visualizing his neck veins xD
ChrisMarshallNY 1 hours ago [-]
For the first fifteen years or so, of my career, I used Whitesmiths indenting (as opposed to the K&R that I've been using since). I never knew where it came from. It was just a name, to me.
You can see it, if you look at the code.
Rochus 30 minutes ago [-]
What C version does it support (besides K&R C)? The repository seems to include version 2.2; when was it release? Does the compiler any optimizations?
HocusLocus 1 hours ago [-]
Turbo Pascal: One of the earliest bang it out languages that compiled so tightly and quickly it was like a reduced instruction set with benefits
jockm 12 hours ago [-]
I hope one day the source for Whitesmiths unix clone Idris gets released. IIRC it was the first unix clone, and it would just be nice to have that preserved for history
That is just the binaries, unless I am very much mistaken. I was (trying to) refer to the sources as well
icedchai 5 hours ago [-]
Those look like binaries, not source code?
vaxman 2 days ago [-]
Mind. Blown.
On DEC systems, I programmed using FORTRAN, BLISS, MACRO and (on GiGi and RSTS/E) in BASIC for a long time.. then one day the Bell Labs spinoff I worked for bought a Whitesmith’s C license for the VAXcluster (for probably oodles of money) and I was transferred into a group headed by the guy who wrote UNIX’s malloc implementation a long time before I came along. He hated VMS as much as I hated C. He couldn’t use UNIX because it only ran on dogshit computers. I couldn’t use FORTRAN because someone read a book that said C was cool. We all carried around our K&R pamphlet books and the Whitesmith’s manual (which the Indian workers would mispronounce with three syllables lol). The compiler had all kinds of issues on VMS. Eventually, DEC released VAX-11 C (still have my little 5x7” orange book) and that was enough to make me give up (the truly wonderful) VAX FORTRAN and MACRO/BLISS compilers. My home setup (it was not common for anyone to have home setups then, even programmers) was all assembler, FORTH, Pascal and BASIC but with the shift to C at work, I finally sold a kidney and bought Lattice C and later Aztec C and after moving to the Mac (as I sealed my Amigas into the boxes in the garage where they remain to this day), MPW C, THINK C and CodeWarrior C, MS Visual C, before Yggdrasil Linux…GNU C, then GNU Objective C and now (needle scratch silence) Swift? All started with Whitesmith’s C…
icedchai 12 minutes ago [-]
Ahh... memories. I first learned C on an Amiga with Lattice C (which turned into SAS C.) My A500 was souped up with a HD and extra memory.
robinsonb5 9 hours ago [-]
If any of those Amigas had a battery backed clock, please remove the batteries at the earliest opportunity and neutralise the area affected by any leakage with a mild acid such as lemon juice. They'll almost certainly have leaked by now but the longer it's left the worse the damage will be.
burnt-resistor 56 minutes ago [-]
By now, that's the least of the concerns. If they use linear PSUs with massive electrolytic capacitors, I'll bet they're toast (dried or leaking, and so far outside of spec). And anywhere with any amount of humidity without desiccant packets and sealed in plastic will experience corrosion of PCBs and connectors.
bitwize 3 hours ago [-]
When I bought my Amiga, its clock battery had been replaced by a mount for a coin battery. That machine had received some serious love.
gjvc 6 hours ago [-]
Absolutely this. The Varta batteries of the 1990s have inflicted awful irrepebal damage on many systems of the time. Especially sad when people thought they were keeping them safe in their attic and then unpacked them to find the motherboard full of dead components.
Scubabear68 3 hours ago [-]
I was lucky enough to work for Manx Software starting, I believe, in 1988. So I not only had free access to all of the Aztec C products, but also learned tremendous amounts from being able to see and work on the source code itself.
I also ended up being a VI guy because Manx had their own vi implementation…
I have always used (ie since the mid '80s) something like WS layout for C and its descendants. Only much later did I hear that name for it. Often unfashionable, but I have also been a magazine editor, and like the braces to visually lead the eye down the edge of the code that they surround, like a non-indented text para.
mzs 7 hours ago [-]
I prefer the Sun extensions to Indian Hill for grepability but I see the appeal especially to folks that came from pascal. Look closely at the example echo.c, thats not "#include <stdio.h>" ;) We still have this included in lots of code where I work since it dates from around 1980:
% grep '/\*' std.h
/* std.h header file to allow use of Whitesmiths pseudo classes/types. */
/* the pseudo storage classes
/* the pseudo types
/* system parameters
%
And yes for me there are ~600 files I still regularly work in written in WS style.
ok123456 11 hours ago [-]
Take a look at some of his other repositories. There's one that has basically every CP/M programming tool.
b0a04gl 8 hours ago [-]
file layout is the interface here lol you can literally walk the pipeline.. lexer parser codegen linker all just sit where they should. the dir was the flow. back then structure = filesystem. we can cd trace src to bin just by lookin at folders
> You might also enjoy the Advent Of Computing podcast episode about IDRIS, Whitesmiths’ UNIX clone. History of the company and the compiler included, because they’re all related.
Oh wow, I never knew he was an award-winning SF author too. I remember a couple of exchanges with him on the comp.lang.c++.moderated group back in the day.
Not to take anything away from Whitesmiths† C, which has a good reputation, but if you're interested in a C compiler for CP/M, BDS C is fully open source and free software, and also was well regarded. But it's written in assembly, and its compatibility with other C compilers (this was long before ANSI) leaves much to be desired.
We can hope that eventually the Whitesmiths licensing is cleared up, especially since the source is evidently in C. It would be great to have a fully self-sufficient free software development environment that could run on something as simple as an 8080 (6000 transistors, I think NMOS and therefore about 2000 gates) and didn't require you to dip into assembly all the time.
We can probably do better than the 8080 today. Graeme Smecher's Minimax, or Chuck Moore's MuP21 or F18A, seem like they would be a lot more comfortable to program on, and they're not much bigger. The MuP21 was 7000 transistors including ugly video output, with 21-bit words instead of 8-bit, and gsmecher's Minimax is a 32-bit RISC-V in 507 LUT6s, which I don't think anyone has done an ASIC of.
______
† Blacksmiths make hardware; who makes software?
You can see it, if you look at the code.
On DEC systems, I programmed using FORTRAN, BLISS, MACRO and (on GiGi and RSTS/E) in BASIC for a long time.. then one day the Bell Labs spinoff I worked for bought a Whitesmith’s C license for the VAXcluster (for probably oodles of money) and I was transferred into a group headed by the guy who wrote UNIX’s malloc implementation a long time before I came along. He hated VMS as much as I hated C. He couldn’t use UNIX because it only ran on dogshit computers. I couldn’t use FORTRAN because someone read a book that said C was cool. We all carried around our K&R pamphlet books and the Whitesmith’s manual (which the Indian workers would mispronounce with three syllables lol). The compiler had all kinds of issues on VMS. Eventually, DEC released VAX-11 C (still have my little 5x7” orange book) and that was enough to make me give up (the truly wonderful) VAX FORTRAN and MACRO/BLISS compilers. My home setup (it was not common for anyone to have home setups then, even programmers) was all assembler, FORTH, Pascal and BASIC but with the shift to C at work, I finally sold a kidney and bought Lattice C and later Aztec C and after moving to the Mac (as I sealed my Amigas into the boxes in the garage where they remain to this day), MPW C, THINK C and CodeWarrior C, MS Visual C, before Yggdrasil Linux…GNU C, then GNU Objective C and now (needle scratch silence) Swift? All started with Whitesmith’s C…
I also ended up being a VI guy because Manx had their own vi implementation…
Memories indeed.
A bit raw, with floating point bugs in libm ...
> You might also enjoy the Advent Of Computing podcast episode about IDRIS, Whitesmiths’ UNIX clone. History of the company and the compiler included, because they’re all related.
https://adventofcomputing.com/
https://youtu.be/UeZpKgtRfx0