Version 2.51 of the DeSmet compiler is probably the best known, because it is also (under another name) the PCC compiler, still floating around the web. It's the version I've used exclusively since 1985, have tons of code snippits, and my fingers "think" in it.

I still have my (paper!) manual, and have scanned it and converted it to a .PDF with searchable text -- C88_251.PDF. Be warned, it's 6.3MB.

If you want to take a crack at a smaller / better OCR'ed manual, please let me know. I can provide you with the .TIF's I scanned, or even a paper copy.

A smaller, though less complete, version of the 2.51 manual is available in the PCC distribution, in the file PCC.DOC. Note that is an ASCII TEXT file, not a Microsoft Word document.

The early compiler version limitation that all structure/union elements must be globally unique names is gone, but remnants still persist through version 3.03 of the compiler. They are even used in the LIB88 program, as an example:

union { int word; char byte; };
char *inin;
will allow references like
i = inin->word;
to reference 16-bit data via a pointer to 8-bit data without explicit typecasting.

Version 2.51 came on four floppies:

Disk 1 which contains the compiler
the compiler (C88.EXE, GEN.EXE)
assembler (ASM88.EXE)
linker (BIND.EXE)
librarian (LIB88.EXE)
debugger (D88.EXE)
editor (SEE.EXE)
standard headers (STDIO.H, MATH.H, SETJMP.H)
libraries (CSTDIO.S, CSTDIO7.S, EXEC.O, MSVER1.O)
Disk 2 which contains additional programs
the profiler (PROF*.EXE)
some utilities (RAM.COM, BUF128.*, DUMP.* LATER.C, CB.C, CLIST.EXE, COMPARE.*)
some games (BUGS!, LIFE)
Note the D88 and SEE .O files -- back in the early "not everything was a PC-compatible computer" days, they allowed you to customize the screen I/O of the debugger and editor for your system.
Disk 3 this is the "hacker" disk, which contains
documentation on the floating point calls (FLOAT.DOC)
the C init code (ISETUP.A for DOS, CSETUP.A for CPM/86)
the source to DOS 2.0+ file I/O (CREAT3.C)
an .O file dumper (DUMPO.C, OBJ.H)
the source to the RAM disk (RAM.ASM)
a CP/M disk reader (FROMCPM.C)
some utilities (EQUAL.C, FREE.C, LS.C, ENVIRON.C)
Disk 4 this is the "DOS Link" disk, which lets you create Microsoft compatible .OBJ files
TOOBJ.EXE is an extra pass used by C88 or ASM88 (via the M command line paramter) to translate the .O file to an .OBJ file. It can also be used stand-alone.
MASM compatible startup code (C.*)
Sample of segmentation controls needed to link to C88 (STUB.ASM)
MASM compatible C88 libraries (C88*.LIB)
A rather simple "core dump" program (DUMP.C)

Back to main page



These pages last modified 7/22/2005

[an error occurred while processing this directive]