CP/M Programming Languages and Developer's Tools


BDS C Compiler/Linker Retail Distributions and Source Code, released 9/19/2002 by Leor Zolman.
The archive contains the last generation retail distributions of BDS C for both "vanilla" CP/M-80 and ZCPR3, and the full corresponding source code (in LASM 8080 assembler format) of the major executable commands in the package: cc, cc2, and clink. Please read the BDS-C readme for more details.

BDS-C complete retail distribution : 1.51M (with full sources and PDF manual).

BDS-C sources : 153K (compiler and linker source code only).

BDS-C PDF manual : 541K This is the BDS C user guide in PDF format (click to view, right-click to download).

Please check out Leor's Web Site for more information and possible updates.


Peter Hochstrasser has released his "Modula-2 System for Z80 CP/M" per the following message fragment (quoted from Hal Bower's Web Site):

      From: "Peter Hochstrasser" 
      Date: Thu, 19 Sep 2002 15:29:58 +0200 
      X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) 


      Having mulled over this for much too long, I say, let's do it. Just put it on the 
      sites you find OK. As stated below, no support is available, and, as I'm sad to say, 
      not even the manual text is available - it was done using WordStar, MagicBind and 
      a Visual-100 terminal with programmable function keys, using command macros for most 
      of the formatting. It was easy to create at that time... 

      Yours truly 
      Peter Hochstrasser 

The Modula-2 System for Z80 CP/M was distributed on three 8-inch diskettes in standard CP/M format. Files on each of these three diskettes were consolidated into one with a version of ZIP utilities that allows extraction with the "UNZIP.COM" program available on the Walnut Creek CP/M CDROM (and other places). This way, you can extract them on native CP/M 2.2 and compatible systems.

DISK1.ZIP : 100K Executable (.COM) programs (1985)

DISK2.ZIP : 68K Module (.MRL) and Symbol (.MSY) files (1985)

DISK3.ZIP : 31K Sample programs and library sources (1985)

Modula-2 manuals : 3.1M,

the original manuals:
10/23/2004  07:23 AM           116,723         Modula2_1_Preface.pdf
10/23/2004  07:22 AM           295,728         Modula2_2_Startup.pdf
10/23/2004  07:19 AM         1,267,472         Modula2_3_Introduction.pdf
10/23/2004  09:14 AM           878,548         Modula2_4_Implementation.pdf
10/23/2004  09:39 AM           294,877         Modula2_5_Programming.pdf
10/23/2004  10:11 AM           370,708         Modula2_6_Appendices.pdf
10/23/2004  10:19 AM           115,720         Modula2_7_Index.pdf

addendum/errata pages:
10/23/2004  10:49 AM            17,406         Modula2_3_Introduction_Addendum.pdf
10/23/2004  10:41 AM            21,135         Modula2_5_Programming_Addendum.pdf
10/23/2004  10:38 AM           137,631         Modula2_4_Implementation_Addendum.pdf
10/23/2004  10:46 AM            18,624         Modula2_New_Bibliography.pdf

PARASOL by Shay Walters

PARASOL, a public domain compiler for CP/M, 155K.

This is what the author writes about it:

     PARASOL is a language I developed myself for my own business 
use.   It  has been tailored to provide the features I needed for 
the  applications I have developed over the last  several  years.  
Due  to the overwhelming popularity of the MS-DOS systems running 
on the 8086, I feel that there is no longer any need to keep this 
to myself.   Therefore,  I am placing this into the public domain 
so that others may benefit from it.
     PARASOL  is not modeled after any one  particular  language, 
but has features derived from COBOL, ALGOL, and PASCAL (and maybe 
just a touch of BASIC).  The individual statements are COBOL-like 
while the structure of the language more closely follows ALGOL.
     The language provides many high-level constructs, especially 
in the area of file record I/O, yet it maintains the closeness to 
the  machine  hardware which is so necessary in  those  difficult 

Z80 ASM by Joe Moore

AS8080.ZIP : 1.85M, Win32 executable

Excerpt from the readme file:
This assembler was written to bootstrap a z80 system with cpm/80. It is not designed to be an every day assembler. It will not assemble most cp/m source without minor modifications to the source.
Included is a disassembler which produces source code which the assembler can assemble.
Included is a program which can convert a binary or a dump listing into commands which can be used to Set memory with DDT or the SD systems firmware monitor.
Included is a program which can be used to create a raw disk image suitable for use with dd (linux-not included)or rawwrite(linux tool for windows- not included)
None of these programs are guaranteed to work in every situation in which one may wish to use them. They may contain bugs which produce erroneous binary code. The programs may contain bugs which cause them to abend. Once you have a workable cp/m system, use the commercial development programs to produce a final system.

Here is some sample code for this assembler: sampz80.zip.


Al Hawley has authorized the free distribution of his ZMAC Z80/Z180 Assembler/Linker/Librarian package in the following message snippet (from Hal Bower's Web Site):

      From: Al Hawley 
      Date: Sat, 25 May 2002 22:04:09 -0700 
      X-Mailer: KMail [version 1.2] 

      Hal, as far as I am concerned, ZMAC and ZML can be distributed freely with no 
      strings attached. I am pretty sure that I will have little to do with them, 
      (rest snipped) 
The files comprising the complete distribution disk are available here as one .ZIP file. Extracting this file under MSDOS or Linux creates a subdirectory (HAWLEY1) containing four more subdirectories with files to go in four User Areas (USER0..USER3) on the CP/M diskette. A 'README' file in each user area explains the contents and necessary instructions.

Al Hawley's ZMAC : 302K Al Hawley's Z80/Z180 Assembler/Linker/Librarian

Pre-CP/M development tools by Processor Tech

The first major assembler that was available to run on S100 systems was Processor Technologies SCS-1 (pre-dates ALS-8). PT put it in the public domain and IMSAI and others sold paper-tape & cassette copies with a manual that had the entire source code listed.
Here's the SCS-1 ("Self Contained System") source code:

ALS-8 source code coming soon....

You may also want to check out the Software Development Tools page at z80.info.

Hardware Reference

Chapter 8 of the "IBM System/32 Functions Reference Manual": 40K, IBM Document GA21-9176-1 Second Edition: May 1975. This document was a standard reference for 8-inch single sided single density formats.

"The IBM Diskette General Information Manual": 102K, IBM Document GA21-9182-4 Fifth Edition: August 1979. Another IBM diskette manual used for general reference.

BACK to main page