BDS C (or the BD Software C Compiler) is a compiler for a sizeable subset of the C programming language, that ran on and generated code for the Intel 8080 and Zilog Z80 processors. It was the first C compiler for CP/M.[1] It was written by Leor Zolman[2] and first released in 1979 when he was 20 years old. "BDS" stands for "Brain Damage Software."[citation needed]

Original author(s)Leor Zolman
Initial release1979; 44 years ago (1979)
Stable release
Operating systemCP/M
LicensePublic domain

BDS C was popular and influential among CP/M users and developers. It ran much faster than other Z80-hosted compilers. It was possible to run BDS C on single-floppy machines with as little as 30K of RAM in comparison to most other commercial compilers which required many passes and the writing of intermediate files to disk.

Weak points of BDS C were that the floating point math routines and the file access functions were incompatible with the C compiler used on UNIX, and that its relocatable object files were incompatible with the Microsoft MACRO-80 assembler, making it more difficult to integrate C code with assembly language.[3]

BDS C was bundled with a subset of the Unix system written in about 1980, called MARC (Machine Assisted Resource Coordinator). This effort in some ways resembled GNU, though MARC was to be able to run CP/M software through emulation. Unfortunately MARC's author, Ed Ziemba, perished in a snorkeling accident before he could complete the project.[4]

In 2002, Leor Zolman released the 8080 assembly language source code for BDS C into the public domain.


Around 75,000 copies were sold, including a stripped down Japanese version.

A number of commercial CP/M products were written in the BDS C subset of the C language, including PeachText from PeachTree Software, MINCE and Scribble from Mark of the Unicorn, and most of the software in the Perfect Software suite including Perfect Writer, PerfectCalc, PerfectSpeller, and PerfectFiler (which suite was bundled with the Kaypro).

See alsoEdit


  1. ^ "The Official Book for the Commodore 128". BDS-C was the first version of C on the market for CP/M. It has evolved over the years into a very bug-free product preferred by many users. The language is not as complete as the one described by Kernighan and Ritchie's The C Programming Language (Prentice-Hall, 1978), but it does contain a large subset of the important features.
  2. ^ "about". Archived from the original on 2005-12-02. Retrieved 2005-12-16.
  3. ^ "The Official Book for the Commodore 128".
  4. ^ InfoWorld (17 Aug 1981)

External linksEdit