MICRO-C Application and Setup Notes

This archive contains the MICRO-C freeware C compler, written by Dave Dunfield and a product of Dunfield Development Systems of Nepean, Ontario, Canada, (613) 256-5820. While MICRO-C is free, it is not GPL and therefore not officially a part of, but is distributed as an adjunct to, the FreeDOS operating system.

MICRO-C is not fully ANSI compliant and does have some quirks you need to be aware of, due to its origins as a compiler for embedded systems. These are described in the documentation and in the links below. Please understand that  this does not change the fact that MICRO-C is an excellent product and is well suited for generating small DOS programs and utilities on x86 systems. I urge you to give MICRO-C a chance and I think you will be pleased with the compiler's strengths and capabilities, especially when compared to other free C compilers.

If you're interested, The MICRO-C library source code can be purchased from DDS for $25 US / $32.50 Canadian as of this writing.

- Morgan "Hannibal" Toal, April 1998

Quick Start Instructions:


1. Unzip all files to a directory: c:\mc
2. Set environment variable: mcdir=c:\mc
3. Run mcsetup.exe in c:\mc
4. When compiling, use the following switches: cc source.c -fop
5. Read included docs and see below for more extensive usage notes.

Original Links to Files Included with this Archive


ARROWASM.ZIP - The Arrowsoft MASM compatible freeware assembler v2.00c
MC314PC1.ZIP - DDS MICRO-C compiler and documentation
MC314PC2.ZIP - DDS MICRO-C example program source code
MC-PATCH.ZIP - MICRO-C object code patch by Pavel Podvoiski
MC-SWAP.ZIP - Port of Marty Del Vecchio's SWAP300 to MICRO-C by Yury Semenov
VALLINK.ZIP - The VAL freeware linker (includes source)

MICRO-C/FreeDOS Usage Notes, Setup and Examples:


MC-SETUP.TXT - Detailed instructions on setting up the MICRO-C compiler.
MC-DEMO.TXT - Demonstration of how to compile a program with MICRO-C.
MC-NOTES.TXT - MICRO-C compatibility notes by Steffen Kaiser.
MC-PATCH.TXT - Description of Pavel Podvoiski's MICRO-C object code patch from his home page.

MICRO-C DDS Official Application Notes:


APN0001.TXT - MICRO-C: Using a RAMdrive to speed up compilation.
APN0002.TXT - MICRO-C: Using multiple configurations, Debug, ROM etc.
APN0003.TXT - MICRO-C: Converting from #asm/#endasm to asm{ }
APN0004.TXT - MICRO-C: Simulating structs/unions in older MICRO-C versions
APN0005.TXT - MICRO-C: Accessing fixed memory locations.
APN5101.TXT - 8051: Adapting MICRO-C to handle additional SFR's.
APN5102.TXT - 8051: Using CPU variants without LJMP/LCALL