CP/M 80

Writing something new on the CP / M is an impossible operation. As they say, “rivers of ink” have been spilled and with current technology “kW * h of energy have been consumed” to popularize the CP / M operating system. However let’s see if something comes out.

The CP / M I will cover is the version for 8080-Z80. The CP / M (Control Program for Microcomputer) is an operating system that originally used hard disks as secondary memory and later foldable disks (floppy disks). It provides a general program development and application management environment for Personal Computers with 8080, Z80 or 8085 type microprocessor.

The typical CP / M must have at least 20 KB of direct access primary memory available and is used to store both the OS and the program to be executed. This operating system requires at least one external memory unit and manages up to 16 in the CP / M 3 version. The external memory units are classified with the letters of the English alphabet from “A” to “P”.

The CP / M has been designed and implemented for functional parts. FDOS is the part that manages the disk and more generally the data transfer. In turn, it consists of two parts: the BIOS and the BDOS. BIOS is responsible for peripheral device activity, monitors their activity and error status. Handles data flow and validity. The BDOS regards the data transfer rates to and from the disk drives. It is the controller of the reliability of the transfer, of the maintenance of the management of the file system on disk. the CCP (Console Command Processor) is the module that allows the user interface with the OS. Accept the keyboard commands, verify their correctness and start the invoked functionality.

Exempli gratia:

DIR lists the names of the files contained on the disk

ERA deletes a file on the disk

TYPE displays the contents of a file on the screen

These commands are immediately available as they are resident in memory.

All programs that are not resident in memory are on disk ready to be recalled one at a time and are called transients.

C language

The following C compilers are for the CP / M 80 and are available on the network.

Ad esempio:

DIR elenca i nomi dei file contenuti sul disco

ERA cancella un file sul disco

TYPE visualizza il contenuto di un file su schermo

These commands are immediately available as they are resident in memory.

All programs that are not resident in memory are on disk ready to be recalled one at a time and are called transients.

C language

The following C compilers are for the CP / M 80 and are available on the network.

Arnor C 1.00 (without math library, originally for CPC Amstrad)

Aztec C 1.06d

BDS-C 1.6 (recently made free)

Ecosoft C Compiler 3.43 (for Z80 thanks to Rolf Harrmann)

HiTech C 3.09 (for Z80 local link) and  text manual and manual in pdf  (local link)

HiSoft C 1.35

ManxC 1.05

Mi-C 3.18 i in German

Mix C Compiler 2.0 

Q/C Compiler V3.1a (from Codeworks for Z80 also known as Quality Computer Systems))

SIL 1.5 di Digilog (a subset of C, but with other extensions)

Small C 2.1  (no floating point, partially K & R, source supplied here)

Small C 2.7 (written by F.A. Scacchitti in 1986)

Small C 1.2 (for Z80 with floating point)

Small C/Plus v1.0 (with floating point, structures and merges from 1988)

Another variation of Small C called MESCC with code optimization, written by Miguel Lòpez and you can find it at this  link.

Whitesmith C 2.1 (full version)

The C compiler I use is modified Hi-tech C 3.09 (that’s what you find in download).

Loading