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


NOTE: Due to space limitations, many of the larger/more complex/obscure
demo programs are no longer included with the freeware version of Micro-C.

MICRO-C EXAMPLE PROGRAMS (List revised 17-Jul-2001):

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