
				 DICE SYSTEM

				   V2.06.21
				 29 April 1991

			      Matthew Dillon
			      891 Regal Rd.
			      Berkeley, Ca. 94708
			      USA


			      USENET: uunet.uu.net!overload!dillon
				      dillon@overload.Berkeley.CA.US

			      BIX:    mdillon


    DICE (c)Copyright 1990-1991 by Matthew Dillon, All Rights Reserved

    Please read COPYRIGHT.DOC for info on all copyrights, trademarks, and
    other items refered to an included in the DICE distribution.  This file
    exists on both distribution disks.

    This is the public distribution release for DICE.  Under no
    circumstances may you redistribute a modified version of the
    distribution.  Period. No exceptions (please?).  I cannot allow this to
    get out of control.  Neither may any redistribution for profit be made
    (you can charge up to $5 beyond your cost for your time)

    DICE consists of a frontend, preprocessor, C compiler, assembler, and
	 linker, and support libraries all written by myself.

	 Source to the DICE binaries is not included.

	 Source to C.LIB and other link libraries is not included for the
	 Freeware version ... they are included for the registerd version.

    DICE also includes my DMAKE make utility (though it should be noted
    that DMAKE is extremely difficult to learn how to use).  Source is not
    available (it isn't fit to be distributed).  DMAKE works best running
    under 2.0 due to the available of new system calls.

    This is the unregistered FreeWare version.	If you find yourself using
    DICE seriously, please dig into your pockets a bit and register.  DICE
    is as close to commercial quality as shareware gets and I think you
    will appreciate the kick in the rump I give various other commercial
    compilers by so easily beating them at their own game.  Refer to the
    doc/REGISTER.DOC for information on registration.

    This is the unregistered ShareWare version of DICE, obtained from the
    public nets, it is missing one vital items:  the AMIGA INCLUDES. Most
    developers will already have these but if you do not you can obtain
    them from the Commodore Amiga Technical Support group:

	CATS
	1200 Wilson Drive
	West Chester, PA 19380
	USA

	(215)431-9100

    Include a check for $20 and request that you want the AmigaDOS V1.3
    Native Developer Update.

    NOTE:   The unregistered version of DICE comes with an AMIGAS13.LIB
	    library which implements most of the 1.3 AMIGA.LIB, and
	    AMIGAS20.LIB which implements most of the 2.0 AMIGA.LIB
	    functions, such as afp(), CreateTask(), and DeleteTask() are
	    missing. The utility FDTOLIB was used to generate the library
	    from the 1.3 .FD files plus some additional source that I wrote
	    (FDTOLIB is part of the registered distribution)

    NOTE:   without the commodore includes you are somewhat limited in
	    what you can do with the freeware version.	Note that the
	    registered version comes with the commodore includes and full
	    amiga.lib .  Since the commodore includes are commodore's, I
	    cannot distribute them freely, only through my license which
	    restricts distribution to the registered version of DICE.

    IF YOU OBTAIN THE COMMODORE AMIGA.LIB, you will want to use it to
    get whatever was left out in the distributed compatible.  To use
    the commodore amiga.lib, you must run it through the LIBTOS program:

	1> libtos amiga.lib dlib:amigas13.lib		(1.3 amiga.lib)
	1> libtos amiga.lib dlib:amigas20.lib		(2.0 amiga.lib)

	(note that 's' in the destination name -- small-data model version
	of amiga.lib is called amigas.lib).

	Since the commodore amiga.lib is more complete than the ones
	distributed here you will want to do this if you have them.

    --------------------------	SETTING UP DICE  -------------------------

    DICE requires a few things to be set up properly.  There are two
    principle assignments:

    DINCLUDE:	    assign to DICE's include directory
    DLIB:	    assign to DICE's dlib directory

    and there is one enviroment variable

    ENV:DCCOPTS     DCC core compiler options

    Specifically, you want one of the following in your startup-sequence
    to set up the DCCOPTS enviroment variable:

    1> setenv DCCOPTS "-1.3"
    1> setenv DCCOPTS "-1.3 -f"
    1> setenv DCCOPTS "-2.0"

    If you are running under 1.3 you must use one of the first two
    enviroment variables.  You can use "-f" ONLY if you are running the
    standard commodore shell, this speeds up execution of RESIDENT
    DICE executables.

    If you are running under 2.0 you must use the third variable.

    DICE uses the -1.3/-2.0 option to define it's search path for the
    includes and amiga.lib.  If -1.3 is selected, DINCLUDE:AMIGA13 is
    added to the includes search path and DLIB:AMIGAS13.LIB is used for
    the amiga.lib.  If -2.0 is selected, DINCLUDE:AMIGA20 is adde to
    the includes search path and DLIB:AMIGAS20.LIB is used for
    the amiga.lib

    If you have obtained the amiga includes, you want to set them up as
    follows (example for the 1.3 includes):

	DINCLUDE:			(ANSI DICE and other DICE includes)
	DINCLUDE:AMIGA13/		where the 1.3 includes go
	DINCLUDE:AMIGA13/EXEC/*.H
	DINCLUDE:AMIGA13/LIBRARIES/*.H
	    etc...

    Basically you Copy Includes1.3: DINCLUDE:AMIGA13 CLONE ALL

    --------------------------	DYNAMIC.LIBRARY  -------------------------

    The subdirectory 'dynamic' contains a new dynamic object management
    library to go with DICE's new __dynamic keyword.  If you are interested
    in fooling around with it please CD into dynamic and read the
    documentation, and try out some of the test programs in DYNAMIC/BIN/

				    !!

    --------------------------	     MISC	 -------------------------

    Please read DOC/COMPILER.DOC for further installation instructions

    The documents you want to read first are:

	DOC/BEGINNER_README.DOC For Beginners
	DOC/COMPILER.DOC	SETUP and features (overview)
	DOC/KnownBugs		Things not implemented yet and known bugs
	DOC/DCC.DOC		operation
	DOC/*			other documentation

	MAN/*			manual pages are available to registered
				users.

    DISABLED IN THE UNREGISTERED (FREEWARE) VERSION OF DICE,
    BUT EXISTS IN THE REGISTERED VERSION OF DICE

	* regargs
	* floating point
	* bit fields
	* manual pages for c.lib
	* source to the entire c.lib and other libraries
	* several type qualifier extensions (see EXTENSIONS.DOC)
	* source to many of the utilities (as examples)
	* additional utilities exist in the registered version
	* the commodore includes are not included in the freeware
	  version but are in the registered version

    UNIMPLEMENTED IN EITHER VERSION (WORK IN PROGRESS)

	* structure returns are not implemented yet
	* stack aggregate initialization of arrays and structures is not
	    implemented yet (an ANSI thing)

    DICE stands for:

	Dillon's Integrated C Enviroment

    (name thought up by Dan Wallach)

				--------------

    The unregistered shareware version of DICE may be redistributed only
    in whole.

    The registered shareware version of DICE may NOT be redistributed.
    Refer to COPYRIGHT.DOC for the full rights.

