DDS MICRO-C/PC example programs:

NOTE: If you have not read the README.TXT file contained in the Micro-C/PC
      distribution, please do so now.

The programs in these directories are being provided, as examples of working
MICRO-C programs, which you may examine to gain greater insight into MICRO-C
programming techniques. The programs are for personal use only, any commercial
use of this software is prohibited.

The programs are provided "as is", without warranty of any kind. Any use you
make of them is entirely at your own risk. Neither Dunfield Development
Systems nor any of the authors of these programs assume any responsibility
for the use or reliability of this software.

NOTE: MANY OF THE PROGRAMS RELY ON LIBRARY FUNCTIONS OR OTHER FEATURES THAT
ARE UNIQUE TO MICRO-C, AND WILL REQUIRE MODIFICATION TO WORK WITH ANY OTHER
COMPILER OR LIBRARY.

All of these programs will compile with the PC/8086 version of the MICRO-C
compiler and library. Most of the programs will require some modification
to be used with the MICRO-C compilers and libraries for smaller processors.
This is mostly due to the lack of file and video access functions.

NOTE: Due to extensive re-work of the PC library in version 3.13, many of
these programs will not compile with previous versions of MICRO-C/PC.

Dave Dunfield
Dunfield Development Systems

MICRO-C EXAMPLE PROGRAMS (List revised 22-Jul-2012):

DOSUTIL: DOS utilities              CUTIL: 'C' utilities
----------------------------------- -----------------------------------
16550A  - 16550A uart FIFO control  CALLS   - Display func. call tree
ANYFILE - Check for ANY file        CCREF   - cross referencing program
ASMFREQ - Analyze ASM source code   COMEXT  - Extract comments
ATTRIB  - Better "ATTRIB" command   CSTATS  - C source code reporter
BOOTMENU- Multi config boot         CVTCOM  - Convert '//' to '/* */'
CALC    - TSR calculator            FB      - Find matching {}
CAN     - Permanent args to .COM    FCALLS  - Another func. call tree
CHAINSAW- Kill directory tree       FIXLINK - Patch free linker for C
CMOS    - Read/Write/Verify CMOS    JWAFIX  - Modify source for JWASM
COMCHK  - Check COM file at load    OBSCURE - Make source un-readable
CSET    - TSR map of PC charset     PPC     - Pretty Printer for 'C'
DIFF    - Show diffs in 2 files     SHELL   - Cmd line/interact shell
DUMP    - Hex/Oct/ASCII dump pgm
EDTABLE - Edit BIOS drive table     MICROCAD: A VGA drawing program
EQUIP   - Show installed h/w        -----------------------------------
FIND    - Better "FIND" command     MICROCAD- VGA/Mouse drawing pgm
FIXDATE - TSR to change sys date    MCPRINT - Print on LJET / EPSON
FIXYEAR - For non-Y2K sys/pgms      MCDRAW  - Min. display routines
GREP    - Like unix "grep"          FE      - Font Editor
HEM     - TSR trap unexpectd int
HEXED   - Hex file editor           MISC: Other misc. programs
LZC     - TSR Control HP printer    -----------------------------------
MEMSAVE - Save mem image to file    12DAYS  - The 12 days of christmas
MORE    - Better "MORE" command     3TO4    - Binary->ASCII encoding
MTERM   - TSR ANSI tty/XMODEM       ASM86   - 8086 assembler
NEEDLE  - Sector search HD/strings  BASIC   - BASIC interpreter
NRO     - Like unix "nroff"         BDIR    - Display OPUS/MAXIMUS dir
OFF     - Screen saver              BCHK    - Check OPUS/MAXIMUS dir
PACKET  - Ethernet packet demo      BIGNUM  - +-*/% very large numbers
PARK    - Configurable HD parker    BITARRAY- Example of array of bits
PCD     - A "countdown" timer       BUZZ    - Jargon generator
RERROR  - Redirect stderr to file   BYTESWAP- Example of using UNION's
ROUTPUT - Redirect all TTY output   CALENDAR- Calendar for month/year
RETAB   - Retabulate text files     DEBUG   - Demo of debug features
SAVERAM - Save RAM image to disk    DUFF    - Duffs Device
SCRUB   - Clean floppy drive        FARSTRNG- Use strings in far mem.
SHOWEXE - Dump .EXE information     FIBO    - Compute fibonacci series
SIZE    - Show #chars & #lines      FORTUNE - A "fortune cookie"
SOUND   - SoundBlaster record/play  HELLO   - Standard C demo program
STUFF   - Stuff keyboard buffer     HFTEXT  - Text Huffman encoding
TFB     - TSR File Browser          INT09H  - Int9-Disable BREAK/PAUSE
TIMEIT  - Time DOS commands         KIDSMENU- mouse/kbd menu for kids
TR      - Like unix TR(anslate)     KMEDIT  - Editor for kidsmenu
TREE    - Better "TREE" command     LNUM    - Large number functions
TYPE4   - TYPE/tabs at 4 spaces     LONGCALC- Long number calculator
UNGRAPH - Translate PC graphics     MAGIC   - A number solving problem
UNHTML  - Remove HTML formatting    MDCFS   - DOS compat. File System
VALIDATE- ID files with 2 CRCs      MORSE   - Morse code trainer
VIDEO   - Video color/attrib table  OBFUSC  - How NOT to write 'C'
XCOPY   - Better "XCOPY" command    PATHFIND- Path finding algorithm
XDISK   - Read/Write raw disk img   PI      - Print value of PI
                                    PRIME   - Calculates prime numbers
GAMES: Assorted games               PRIME1  - Faster prime numbers
----------------------------------- PRIME2  - Long prime numbers
BLKJACK - Blackjack (21) game       PTR2FUNC- Demo's ptrs to functions
CASTLE  - Large "adventure" game    QUOTEARG- Using "quoted" arguments
CATMOUSE- Cat & Mouse in a maze     RAIN    - Text 'falls' off screen
CHOPPERS- Animated helicopters      RESIZE  - How to resize data block
HANOI   - Visual "towers of hanoi"  RDC     - File compression program
INVADER - Space invaders!           RENUMBER- Renumbers BASIC programs
MCMAN   - Tiny "pacman" like game   RLTEXT  - Text run length encoding
MEMORY  - Two player memory game    ROBOFACE- Draws a "robot face"
MMIND   - Digit guessing game       SAVEXIT - Trap int21 save exit code
MSWEEP  - MineSweeper               SCANEXIT- Find COMMAND.COM variable
PONG    - Two player Ping-Pong      SCODER  - Encrypt/Decrypt data
PONG1   - Improved "" "" ""         SELFDUP - Self-replicating pgm.
SETS    - Find sets in a card deck  SIEVE   - Classic prime num pgm.
SIMON   - Play "Simon-Says" game    SIGNLONG- Signed long numbers
SNAKE   - Classic snake game        STRCON  - MCP string concat. demo
SOLITAIR- Solitaire                 SUBSET  - Show subsets of sets
TTT3D   - 3 dimensional tic-tac-toe TEXTNUM - Print numbers as words
                                    VCRPLUS - Decode VCR+ codes
LAPTALK: Small/Powerful TTY pgm     WINDEMO - Demo MICRO-C windowing
-----------------------------------
LAPTALK - TTY with script lang.
XMODEM  - Xmodem/1K/CRC etc.

