History of our Compilers

Main Menu | CPOC | C68 for QDOS | History | Feedback

The MINIX connection

The MINIX part of the story really began seriously in about 1989 with Christoph van Wuellen. For those who have not come across it before, MINIX is a Unix like operating system that comes with source to everything except the development tools. Christopher decided that he wanted to have a C compiler to which he had the source. GNU C was looked at, but ruled out as being too resource hungry for MINIX. As Christopher was a MINIX-ST user naturally he wanted a compiler that generated code for the Motorola 68000 family of processors.

...I would like to get more input from Christoph to insert at this point

Another variant of MINIX was MINIX-386. This was a development of the original 16-bit Intel variant of MINIX that was amended to run in 32-bit mode on the Intel 386 family of processors. Christopher developed a version of C68 that could generate code suitable for the 386 processor. A few more of the important characteristics of the compiler arose from this development:

We had been MINIX users for a couple of years by this time, and had adopted C68 as our prefered compiler for MINIX. We had watched the developments that Christoph had been doing and had been eagerly adopting each new release of C68.

In about 1992 Christopher decided that he was no longer really interested in maintaining or further developing C68. At about the same time we had been trying to get Ghostscript (a public domain program for converting Postscript output into a form suitable for "ordinary" printers) working on MINIX. Ghostscript is a very large program, and makes heavy use of floating point. The ACK compiler that comes as standard with MINIX does not support floating point, and also the Ghostscript source seemed to trigger many of the bugs in the ACK compiler. We therefore started using Chrisoph's C68 compiler to get Ghostscript working. During this excercise we found that we had to make major changes to the compiler, particularily in the floating point area. Some of the changes were to correct bugs in either the compiler or support routines, but quite a few were to add missing capabilities to the compiler. By now we were becoming quite adept at finding our way around the compiler source (Keith concentrating on the compiler proper and me concentrating on the support routines). Therefore with Christoph's blessing, at this point we took over the further development of C68.

One of the first new developments we did was to add to C68 support for function prototypes. This was a half-way house to the ANSI standard in that it took function prototypes but obeyed K&R rules for parameter promotion. If nothing else, though, this was one way to find a way around the parts of the compiler source with which we were not yet familiar.

During this period, several releases of C68 were made to the Minix community. At that time the Minix news group comp.os.minix was very active, and it also allowed the posting of binaries to the group - in fact if anything they were positively encouraged. This reflected the fact that MINIX was actively being improved and developed, and that alternatives such as LINUX had not yet appeared on the scene. In more recent times distribution of binaries postings to non-binary newsgroups in the comp hierarchy (including the MINIX newsgroup) are now automatically cancelled, and as we did not have easy access to a FTP server, updates to the MINIX community were harder to issue, and have tended not to happen via any formal issue channel. Probably the last formal update we made to the MINIX community was "Version 4.4" of the C68 compiler which took place in late 1994.

The next major phase of development was what we have termed "The QDOS Saga". Much of this happened in parallel with the end of the MINIX story mentioned here, but it gave us a new focus for development, and a new eager user community. However this did not mean that the developments in C68 were/are not relevant to MINIX, just that the focus had shifted, and that the distribution pattern for early release of new versions had changed. In fact one of the aims of this site is to give MINIX-68K users a source from which they can always get the latest versions of the C68 compiler so that they can take advantage of our latest improvements.

Anyway, on to "The QDOS Saga".

Main Menu | CPOC | C68 for QDOS | History | Feedback