C Compilers for CP/M 80 by Mix Software, Inc.
The "Almost Official" MIX C for CP/M 80 Online Museum
This Website is privately held by Bill Buckels and not affiliated with Mix Software Inc. in any but a friendly way.
>> Back to Main Page
Introduction
MIX C Compilers for CP/M 80 are no longer available for purchase or support from their Copyright holder, Mix Software, Inc. In December, 2008, Mix Software granted permission but WITHOUT ANY SUPPORT or WARRANTY for Bill Buckels to make the CP/M 80 versions of the MIX compiler available from this website to whoever wants to use them.
The MIX CP/M C compilers provided for download from here are free (and fun) to use, but WITHOUT ANY SUPPORT or WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. If you do not agree then don't download from here.
Since this website is a Work in Progress it will be expanded over time.
<< Back to Top
>> Back to Main Page
History
The MIX C Compiler for MS-DOS and the MIX C compiler for CP/M 80 were offered as supported products by Mix Software, Inc. of Richardson, Texas, USA, starting in 1985. In 1987, Mix Software rebranded their MS-DOS C compiler as "MIX Power C", and continued development of Power C making it ANSI compliant and adding functionality. The MIX CP/M C compiler remained available for some time after, still being offered for sale in the early 1990's.
The Author
Dennis Saunders is the owner of Mix Software, Inc. and the developer of the MIX compilers, past and present. He is one of the 14 programmers profiled in "The Craft of C" by the also prolific Herbert Schildt, chosen IIRC because the author felt they were instrumental in the advancement of the C language. Shildt also profiles Dennis in "Born To Code In C".
Dennis, unlike Herb and others of their ilk who are very high profile and sometimes controversial , is not "in the public eye". (I have a reprint request to place Dennis's profile on this site and if and when Herb gives me permission I will do so.)
<< Back to Top
MIX C compiler for CP/M 80 - "A Class Act"
Parts of the following are condensed from the Les Bell and Associates Languages and Software Development Article originally written in 1984.
Details about using the MIX C compiler for CP/M 80 are listed in the Mix C CP/M 80 Compiler version 2.1 Tools Manual. This is only a portion of the now out-of-print roughly 450 page manual which is unfortunately not available in its entirety in an electronic format from this website.
This compiler predates ANSII C and is a full implementation of the C language as described in K & R (The C Programming Language, by Brian Kernighan and Dennis Ritchie).
The compiler comprises a single program, apparently single pass, with a matching linker. It produces a source code listing on the screen as it works. This is especially useful for the beginning programmer as any errors are displayed in context with error numbers and even an arrow to the offending character in the erroneous statement. Explanations of the error numbers are not printed until the end of the listing, but many will be obvious in any case.
The output of the compiler is a .MIX file which contains relocatable object code. This is passed to the linker, which links it with the standard library to generate a .COM file
An optional optimisation program (SPEEDUP.COM) can be passed over the object .MIX file to produce worthwhile improvements in performance at minimal cost in file size.
A similar optimiser called SHRINK.COM will provide space improvements. Alternatively, the run-time code can be omitted from the generated .COM file to make it even smaller (it must then be loaded at run-time from the RUNTIME.OVY file).
The package provides an unusual way of managing the standard function library; rather than providing a librarian, a program (CONVERT.COM) is used to convert the library into an ASCII file which can then be edited and appended to. It can then be re-converted back into its binary form. The contents of the library can be reviewed in the converted library file and by redirecting the output of CONVERT.COM from screen to file. (In this case, doing so will partially compensate for the lack of a list of functions in an electronic manual.)
When it was offered for sale the MIX C compiler for CP/M 80 was comparable to other compilers at five to ten times the price; a marketing approach that holds true in principle even today.
<< Back to Top
The Present
CP/M may be gone but Mix C still lives on. As mentioned above, one of the best features of the MIX compiler has always been their manuals which include excellent tutorials. Many of us can thank MIX C for our training when we first learned C. In fact their focus especially today remains strong in teaching and training and now includes video courses.
Another of the best features (also mentioned above) is the low cost and high quality of the compiler which just got better and better over time.
"Almost on that fateful day that my Power C arrived in the late '80's I quit my job in the Engineering office. After spending the next few months in my basement with my old XT and Power C I walked into a C programming job and never looked back. That first year in programming I made more money than I'd ever been paid in a year before, and the following years got better." - Bill Buckels
The following zip file contains a small sample program for MS-DOS written in Mix Power C 2.0.2: graphs.zip
Today Mix Power C for MS-DOS is still actively sold and supported by Mix Software, Inc. To date more than 130,000 copies of Power C have been distributed by Mix Software and although I say so quietly this probably represents only a portion of the programmers who have used Power C since its release. Mix Software also offers other programming tools, like the C/Database Toolchest. Co-authored by Kim Shrier and Carol Deihl (shown below who also share a history in CP/M), over 50,000 copies have been sold.
<< Back to Top
>> Back to Main Page
Contributors
Dennis Saunders - For writing the compilers, permission, the training and everything .
Daniel E. Wallace - For providing the Apple II disks and typing the tools manual.
Peter Dassow - For making the earlier release available.
Freek Heite - For providing the complete Apple II release.
If you have MIX CP/M compilers or related documentation in addition to the downloads available from this website feel free to email them to Bill Buckels as an attachment (preferably in zip file format) and they will likely be placed here.
If you wish to forward your related source code, libraries, documentation, additional tools or other enhancements they must be free of charge for all to use and distribute. Your permission must be included saying so and they must not be crippled in any way.
Downloads and Links
Downloads
Note: 2 separate downloads of Mix C 2.1 are available; The first I created from Apple CP/M disks provided by Dan Wallace. The Second was created by Freek Heite and includes the Mix ASM Utility. Both are listed below as well as a zip from Peter Dassow of the earlier version 2.0. Only Freek Heite's version offers the ASM utility.
Mix C CP/M 80 Compiler version 2.1
Dan Wallace has provided us with a manual for the tools that came with the Mix C CP/M 80 Compiler version 2.1. Dan provided me with the disks that I created the images from in the first place then painstakingly transcribed the entire tools section of his copy of the manual into a Word document which I converted to the pdf below. Dan also has a header file on the Apple disk images and some extra goodies are there as well as mentioned below. Thanks Dan for everything and getting me started on this,
Mix C CP/M 80 Compiler version 2.1 Tools Manual
Mix C 2.1 CP/M 80 is available for download at the following link:
http://www.cpm8680.com/mix/mix-c21.zip
Unzip with directories intact.
1. This zip file contains 4- Apple II CP/M Disk Images created using DSK2FILE on an Apple //e with a Softcard Clone. You can use DSK2FILE or DISKMAKER.8 to recreate these on a real Apple //e.
Disks 1-3 contain the MIX Compiler Version 2.1
Disk 4 Contains the MIX Editor Version 1.1
The MIX Editor is also available separately elsewhere on the internet and also available from here:.
http://www.cpm8680.com/mix/MIXED110.ZIP
Some extra utilities and a ramdisk and other goodies are also included on the Apple disk images. Apple II CP/M 80 users who program in C will find this quite well done.
2. This zip file also contains a myz80 disk image of the compiler. A hello program is all that has been added besides the original compiler files.
Before running myz80 from the command line set the myz80 environment C.DSK=MIX21.DSK
The point of the myz80 disk image is to use the compiler on a Windows machine or in an MS-DOS emulator to quickly compile and test programs before transferring them to a real CP/M machine.
3. The compiler is also included as individual files just as it is in the zip file for the older version found elsewhere on the Internet and also available from here.
http://www.cpm8680.com/mix/mix-c20.zip
You can use these to build your own disks for whatever CP/M 80 target you use.
If you have a c128 or use WinVice you can build disk images using ctools.
4. A manual for the compiler and tools is also included in pdf format. This is the manual from Dan Wallace noted above.
<< Back to Top
>> Back to Main Page
Alternate Mix C 2.1 CP/M 80 Disk Images Including ASM Utility
Freek Heite has provided us with five ADT diskette images from the original Mix diskettes and these include the Mix ASM utility. None of these is bootable.
Available for download at the following link:
http://www.cpm8680.com/mix/mix-c21-max.zip
Unzip with directories intact.
1. The diskette images are:
#1: Mix C - version 2.1.0 - CP/M - Apple II with Z80 - serial 2036070849783 - disk 1 of 3 - (C) 1985 Mix Software, Inc.
#2: Mix C - version 2.1.0 - CP/M - Apple II with Z80 - disk 2 of 3 - (C) 1985 Mix Software, Inc.
#3: Mix C - version 2.1.0 - CP/M - Apple II with Z80 - disk 3 of 3 - (C) 1985 Mix Software, Inc.
#4: Mix Editor - version 1.1.0 - CP/M - Apple II with Z80 - serial 1036070852192 - (C) 1985 Mix Software, Inc.
#5: Mix Asm Utility - version 1.1.0 - CP/M 2.x or 3.0 - Apple II with Z80 - serial 5036030356074 - (C) 1985 Mix Software, Inc.
2. Each diskette is also included as individual files in their respective subdirectories.
3. A myz80 disk image is included called MAXMIX21.DSK.
The point of the myz80 disk image is to use the compiler on a Windows machine or in an MS-DOS emulator to quickly compile and test programs before transferring them to a real CP/M machine.
Everything from these 5 diskette images has been placed together on the same disk so no disk swapping is needed to use the compiler, the editor, or the ASM utility.
The Mix Editor (from disk 4) has been set-up as an ASCII compatible editor using SETEDIT and the SUBMIT files for the ASM utility (from disk 5) have been edited and the drive letters removed. The READ.ME for the ASM utility has been renamed to ASM.ME and the READ.ME for the editor has been renamed to EDIT.ME to avoid naming conflicts with the compiler READ.ME.
To use this disk image, assuming you have downloaded Lee Bradley's myz80 tutorial (maxz80) from the following link:
http://primepuzzle.com/mouse/maxz80.zip
You can just place MAXMIX21.DSK and maxmix.bat in the maxz80 directory and run maxmix.bat from the command prompt in the maxz80 directory. This will set-up MAXMIX21.DSK as your C: drive in myz80.
<< Back to Top
>> Back to Main Page
Caveat Emptor
MIX C Compilers for CP/M 80 are no longer available for purchase or support from their Copyright holder, Mix Software, Inc. In particular, the MIX CP/M 80 compilers available from this website are provided WITHOUT ANY SUPPORT or WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Neither Mix Software, Inc. or Bill Buckels have any warranty obligations or liability resulting from their use in any way whatsoever.
USE AT YOUR OWN RISK!
This website is maintained by Bill Buckels. Its contents are either owned and Copyrighted by Bill Buckels or provide their own licencing from their respective Copyright Holders. In any case you are free to download from here.
It is provided in the hope that it will be interesting or useful or both, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. In particular, Bill Buckels has no warranty obligations or liability resulting from its use in any way whatsoever.
<< Back to Top
>> Back to Main Page