home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
567a.lha
/
DICE_v2.06.37
/
README.pp
/
README
Wrap
Text File
|
1991-11-11
|
9KB
|
228 lines
DICE SYSTEM
V2.06.37
9 Oct 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 $6 beyond your cost for your time)
DICE consists of a frontend, preprocessor, C compiler, assembler, and
linker, and support libraries all written by myself. A generated
(non-commodore) 2.0 amiga.lib is included with this distribution. Note
that you may compile 1.3 programs with the 2.0 amiga.lib as long as
you avoid 2.0-specific calls.
Source to the DICE binaries is not included (it isn't included in the
registered version either)
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 FreeWare version of DICE, obtained from the
public nets, and it is missing one vital item: 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:
Commodore
Dept. C
1200 Wilson Drive
West Chester, PA. 19380
USA
(215)431-9100
*** TO PURCHASE THE AMIGA INCLUDES **
Include a check for $20 and request that you want the AmigaDOS V1.3
Native Developer Update. THIS IS A NEW ADDRESS. THE OLD CATS ADDRESS
NO LONGER HANDLES SUPPORT MATERIAL PURCHASES.
NOTE THAT THE AMIGA INCLUDES AND LIBRARIES ARE INCLUDED IN THE
REGISTERED VERSION OF DICE, BUT THE AUTODOCS ARE NOT. THEREFORE,
IF YOU INTEND TO REGISTER YOU PROBABLY DO *NOT* WANT TO PURCHASE
THE NATIVE DEVELOPER UPDATE FROM COMMODORE.
***
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. Some
Functions, such as afp(), CreateTask(), and DeleteTask() are
missing. The utility FDTOLIB was used to generate the library
from the 1.3 and 2.0 .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. Since only the 2.0 amiga.lib
is included you must specify the -2.0 option or DICE will be unable to
link.
1> setenv DCCOPTS "-2.0"
1> setenv DCCOPTS "-2.0 -f"
You can use "-f" ONLY if you are running the standard commodore shell,
this speeds up execution of RESIDENT DICE executables as well as hacks
in ^C handling under 1.3. The -f option has no effect under 2.0
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 ..
the freeware release of DICE cannot include these commodore includes.
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
(or similar copy for the 2.0 includes if you have them)
If you obtain the 1.3 amiga.lib from commodore you may create DICE
compatible amiga.lib's by:
copy amiga.lib dlib:
cd dlib:
rename amiga.lib amigal13.lib ; convert to DICE nomenclature
libtos amigal13.lib amigas13.lib ; generate small-data version
If you obtain and setup the commodore 1.3 includes/amiga.lib you will
want to change your DCCOPTS '-2.0' option to '-1.3' so DICE can find
them. If, on the otherhand, you obtain the commodore 2.0
includes/amiga.lib you will want to leave DCCOPTS set to '-2.0'.
-------------------------- 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/
Note that this may be lharc'd. To unarchive:
1> lharc -r -x -a x dynamic
dynamic.library may be more of use for machine-global shared variables
then for machine-global shared subroutines.
!!
-------------------------- 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
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. Do not delete or modify any files. You may add files according
to whatever distribution method you use or, for example, to translate
documentation to another language, but original documentation must
remain as well.
The registered version of DICE (the one you purchase) may NOT be
redistributed.