home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / DICEC-1.DMS / in.adf / README.dOC < prev    next >
Encoding:
Text File  |  1993-07-21  |  17.2 KB  |  401 lines

  1.  
  2.                 GENERAL README FOR DICE
  3.  
  4. (0) MEMORY REQUIREMENTS
  5.  
  6.     DICE requires 1.5MB of ram to run reasonably well.    You can run it on a
  7.     1MB machine but you will not be able to put anything in ram or make
  8.     anything resident or even have DME running in the background while
  9.     compiling!
  10.  
  11.     512K    WILL NOT WORK!
  12.  
  13.     1.0 MB    nothing resident, nothing in ram, maybe even have to put
  14.         compiler intermdiate files on disk! (see "RECOURSE WHEN YOU
  15.         RUN OUT OF MEMORY" in section III)
  16.  
  17.     1.5 MB    you can maybe make DCC and DC1 resident but you really need
  18.         the memory so maybe not anything else.
  19.  
  20.     2.0 MB    you can make all major DICE binaries resident
  21.  
  22.     2.5 MB+    all major DICE binaries resident, link libraries in ram,
  23.         some or all includes in ram (under 2.0 you can
  24.         use multi-assignments to mix and match)
  25.  
  26. (I) WARNING ON COMPRESSION OF DICE DISKETTES
  27.  
  28.     ** WARNING ** Most files on the DICE diskettes are *COMPRESSED*, even
  29.     if they do not look it.  In order to access the files on the DICE
  30.      diskettes you must prefix your path(s) with ARCH:    For example:
  31.  
  32.     1> type ARCH:DF0/README.DOC
  33.     1> dir ARCH:DF0
  34.     1> assign fubar: ARCH:DF0
  35.     1> dir fubar:
  36.  
  37.     If you do not wish to boot from the DICE diskettes, the ARCH: handler
  38.     can be started manually with the following command and then used to
  39.     browse/copy the diskettes:
  40.  
  41.     1> run <nil: >nil: XDCC1:L/FSOVL-HANDLER
  42.  
  43.     1> list ARCH:XDCC1
  44.     1> list ARCH:XDCC2
  45.     1>    etc...
  46.  
  47.     ACCESSING MOST FILES WITHOUT USING ARCH: WILL RESULT IN GARBAGE DATA.
  48.     Specifically, accessing most files without arch: will yield the
  49.     compressed version which, needless to say, is unreadable.
  50.  
  51.     ARCH: IS PART OF THE REGISTERED DICE DISTRIBUTION AND LIKE EVERYTHING
  52.     ELSE MAY NOT BE DISTRIBUTED.
  53.  
  54. (II) COPYING THE MASTER DISKETTES
  55.  
  56.     The very first thing you should do is make an exact duplicate of your
  57.     master DICE diskettes and hide them away.  YOU MUST USE DISKCOPY TO DO
  58.     THIS, DO NOT USE THE COPY COMMAND.    Using copy can easily lead to
  59.     confusion due to compression of the DICE diskettes, we strongly suggest
  60.     you use DISKCOPY to backup your DICE master diskettes.
  61.  
  62.     NEVER MODIFY THE MASTER DISKETTES, LEAVE THE MASTER DISKETTES WRITE
  63.     PROTECTED!
  64.  
  65. (III) DICE INSTALLATION
  66.  
  67.     DICE disk #1 is bootable and will bring up a minimal CLI environment
  68.     under both 1.3 and 2.0.  This file is brought up in DME automatically.
  69.     No optimizations are made and using DICE in this environment will be
  70.     slow because everything is on floppy AND everything is compressed.
  71.  
  72.     This environment actually fits on a single floppy drive.  You can
  73.     compile the hello.c program by clicking in the CLI window and typing
  74.     the following line.  Note that since everything is comming off of
  75.     floppy and is compressed to boot, compilation will be very, very
  76.     slow at this point in the installation.
  77.  
  78.     1> dcc hello.c -o t:hello
  79.     1> t:hello
  80.     HELLO WORLD!
  81.     1>
  82.  
  83.     The volume name for disk #1 is DCC1: or DCC: ... these are assignments
  84.     through the ARCH: device and should be used instead of DFn: .  Note that
  85.     the *actual* volume names for the diskettes are XDCC1: XDCC2: and XDCC3:
  86.     but you do NOT want to access the disks this way because you will be
  87.     bypassing ARCH:
  88.  
  89.     Access Method    DiskCopy    Copy/Normal-Usage
  90.     -------------    --------    -----------------
  91.     DCC:  assignment      NOT            OK
  92.     DCCn: assignment      NOT            OK
  93.     ARCH:XDCCn:       NOT            OK
  94.     ARCH:DFn:          NOT            OK
  95.     XDCCn:          OK            NOT
  96.     DFn:          OK            NOT
  97.  
  98.  
  99.                 SINGLE FLOPPY INSTALLATION
  100.  
  101.     DICE disk #1 is bootable, simply make a duplicate using DISKCOPY and
  102.     customize as you like.  Well, not so simple...  you have to be VERY
  103.     CAREFUL to NOT modify certain files through ARCH: ... since most system
  104.     assignments are reassigned through ARCH: this means you have to be
  105.     doubly careful. The following files should be modified directly,
  106.     bypassing ARCH:.  The XDCCn: volume names will bypass ARCH:
  107.  
  108.     XDCC1:S/#?            all files in this directory
  109.     XDCC1:C/#?            all files in this directory
  110.     XDCC1:L/#?            all files in this directory
  111.  
  112.     These files are required for booting by the system.  Since the system
  113.     doesn't know about ARCH: at the time these files are accessed you
  114.     cannot compress them through ARCH:
  115.  
  116.                MULTIPLE FLOPPY INSTALLATION
  117.  
  118.     Under 2.0, the startup-sequence on the boot floppy will automatically
  119.     recognize the existance of INCLUDE and DLIB subdirectories on other
  120.     floppy drives at boot time.  DICE uses 2.0's multi-directory assign,
  121.     the floppies can be accessed with DCC1:, DCC2:, DCC3:, and DCC4: which
  122.     the startup-sequence sets up to go through ARCH:
  123.  
  124.     Under 1.3 the DCC2:, DCC3:, and DCC4: assignments through ARCH:XDCCn:
  125.     will be made only if the disks are present during boot (i.e. in other
  126.     floppy drives).  If, say, disk #2 were not present at boot and you
  127.     wanted to access it later on you would have to make the assignment
  128.     manually as follows (after putting in disk #2):
  129.  
  130.     1> assign DCC2: ARCH:XDCC2
  131.  
  132.     See the section below called CUSTOMIZATION / OPTIMIZATION for
  133.     information on tradeoffs and such.
  134.  
  135.  
  136.                 HARD DISK INSTALLATION
  137.  
  138.     Hard disk installation is easy.  Either boot with DICE disk #1 or
  139.     startup the ARCH: handler by running it in the background as shown in
  140.     section (I).  Then copy each DICE diskette THROUGH the ARCH: handle
  141.     as shown below.  This will result in an *uncompressed* version of all
  142.     DICE files on your hard drive.  Once you do that you don't have to worry
  143.     about ARCH: anymore.
  144.  
  145.     For ease of use the instructions show you how to do a mass copy of
  146.     everything onto your hard drive.  You actually do not need certain
  147.     directories from disk #1 that are used for booting, the last command
  148.     in the following set deletes these superfluous directories.
  149.  
  150.  
  151.     1> makedir work:dice
  152.     1> copy arch:XDCC1 work:dice ALL CLONE
  153.     1> copy arch:XDCC2 work:dice ALL CLONE
  154.     1> copy arch:XDCC3 work:dice ALL CLONE
  155.     1> copy arch:XDCC4 work:dice ALL CLONE
  156.     1> delete work:dice/(l1.3|l2.0|c|libs1.3|libs2.0) all
  157.  
  158.     UNDER 1.3 ONLY YOU NEED TO INSTALL THE 2.0 MATH LIBRARIES IN YOUR LIBS:
  159.     DIRECTORY.    DO THE FOLLOWING COMMAND *ONLY* IF YOU ARE RUNNING UNDER
  160.     1.3 !!!
  161.  
  162.     1> ; DO ONLY IF RUNNING UNDER 1.3
  163.     1> copy dcc:libs libs:
  164.  
  165.     For hard disk installation you probably want to de-archive the various
  166.     archives.  De-archiving is accomplished via the WORK:DICE/BIN/DZRESTORE
  167.     command.  This can be done as follows:
  168.  
  169.     1> cd work:dice
  170.     1> work:dice/bin/dzrestore libsrc.bak
  171.     1> work:dice/bin/dzrestore dlib.orig.bak
  172.     1> cd include
  173.     1> work:dice/bin/dzrestore amiga13.bak
  174.     1> work:dice/bin/dzrestore amiga20.bak
  175.     1> work:dice/bin/dzrestore amiga30.bak
  176.  
  177.     libsrc.bak        - library source code
  178.     dlib.orig.bak    - original commodore-supplied amiga.lib link libs
  179.     include/amiga13.bak - full 1.3 includes
  180.     include/amiga20.bak - full 2.0 includes
  181.     include/amiga30.bak - full 3.0 includes
  182.  
  183.     Once you unpack the archives you can delete them.
  184.  
  185.  
  186.            HARD DISK INSTALLATION - MODIFYING YOUR STARTUP-SEQUENCE
  187.  
  188.     Once you install the DICE files you need to add a command to your
  189.     S:USER-STARTUP file.  If your system does not have an S:USER-STARTUP
  190.     file you should modify S:STARTUP-SEQUENCE.    You should add the following
  191.     line to the appropriate file:
  192.  
  193.     EXECUTE WORK:DICE/S/STARTUP-DICE WORK:DICE
  194.  
  195.     NOTE: the 'work:dice' elements in the above line assume you installed
  196.     the DICE files in WORK:DICE.  Also, if you are doing this after booting
  197.     from the floppy remember to use a full hard drive volume name path
  198.     to get to the hard drive's user-startup (example:
  199.     System2.0:S/user-startup).
  200.  
  201.     * If you have a hard drive you normally do not use the ARCH: handler
  202.       to compress files.  Keep in mind that ARCH: takes around 140K of
  203.       memory, a definite consideration if you do not have much memory.
  204.  
  205.     * If you wish to customize DICE you normally do it by modifying the
  206.       WORK:DICE/S/STARTUP-DICE file.  If you are not familiar with DICE
  207.       I suggest using the defaults for now.
  208.  
  209.  
  210.             RECOURSE WHEN YOU RUN OUT OF MEMORY
  211.  
  212.     If you have only 1MB of ram you will barely be able to use DICE!  If
  213.     you find yourself running out of memory there are a few things you
  214.     can do:
  215.  
  216.     * Make sure nothing is resident
  217.  
  218.     * Put nothing in RAM:
  219.  
  220.     * Modify the DCCOPTS environment variable to put intermediate files on
  221.       floppy/HD instead of in ram: .  To do this you want to add the -T option
  222.       to your DCCOPTS, as in:    -TDF0:    ... note that you do NOT want to go
  223.       through the ARCH: handler.  Your DCCOPTS environment variable might
  224.       then read:
  225.  
  226.       setenv DCCOPTS "-2.0 -f -// -TDF0:"
  227.  
  228.     * Use the 1.3 includes and libraries instead of the 2.0 includes and
  229.       libraries.  DLink is notorious for taking a lot of memory, by using
  230.       the 1.3 includes and link libraries in ARCH:XDCC2/DLIB and
  231.       ARCH:XDCC3/INCLUDE instead of the 2.0 includes and libraries, and
  232.       then changing your DCCOPTS to read "-1.3 -f -// -Tdf0:" instead of
  233.       "-2.0 -f -// -Tdf0:" the linker will use less memory.  Unfortunately,
  234.       this means that you will not be able to write 2.0-specific programs.
  235.  
  236.  
  237.                CUSTOMIZATION AND OPTIMIZATION
  238.  
  239.     If you are not satisfied with your configuration.. and you probably
  240.     will not be satisfied with the default configuration since it skimps so
  241.     much, I have a few suggestions on possible optimizations.  Keep in mind
  242.     that the whole of DICE is huge and for floppy users this means
  243.     compression is necessary. Still, parts of DICE can be cached or made
  244.     resident bypassing the decompression overhead.
  245.  
  246.     There are a number of things you can do to make DICE run faster if you
  247.     have the memory.  By memory I mean at least 2MB of ram.  If you only
  248.     have 1MB DICE will be hard pressed as it is, you will not be able to
  249.     afford to put anything else into ram and would probably even have to
  250.     close down your editor while compiling something.
  251.  
  252.     * You can make any pure executable in the bin/ directory resident with
  253.       the Commodore RESIDENT command.  The primary DICE binaries are dcc,
  254.       dcpp, dc1, das, and dlink.  Note that copying binaries to ram wastes
  255.       a lot more memory then simply making them resident!  Most of the
  256.       binaries in bin/ are residentable, most especially the core compiler
  257.       binaries.
  258.  
  259.     * You can copy commonly used header files and link libraries into ram:.
  260.       Under 2.0 you can setup a multi-assignment to cause the system to look
  261.       in ram: first and then look on disk, thus keeping your environment
  262.       relatively seemless.  For example, under 2.0 you can:
  263.  
  264.       1> assign DLIB: ram:dlib DCC:DLIB
  265.       1> assign DINCLUDE: ram:include DCC:INCLUDE
  266.  
  267.       Under 1.3 you can do something quite similar, and that is to modify
  268.       your DCCOPTS environment variable adding -L and -I options.  -L options
  269.       add new directories to the directory search path used to find link
  270.       libraries and -I adds new directories to the include search path.
  271.  
  272.  
  273.               GENERAL INFORMATION ABOUT .BAK FILES
  274.  
  275.     .BAK files are archives.  I shouldn't really be using lharc/lha because
  276.     DICE is more a commercial package then anything else so instead I use
  277.     my backup/restore program with a new compression algorithm of my own
  278.     design that uses very little memory.
  279.  
  280.     There are two programs, dzback and dzrestore, that reside on disk #3.
  281.     Like everything else they are compressed through ARCH: so to get a
  282.     copy of them you need to use the path:  ARCH:XDCC3/BIN/DZBACK or
  283.     ARCH:XDCC3/BIN/DZRESTORE.
  284.  
  285.     There are three commands:
  286.  
  287.     dzback -c directory -o archivefile.bak        ARCHIVE A DIRECTORY
  288.     dzrestore -t archivefile.bak            LIST AN ARCHIVE
  289.     dzrestore archivefile.bak                UNPACK AN ARCHIVE
  290.  
  291.     You can use these to create, list, and unpack the .bak archives found
  292.     on the DICE diskettes.
  293.  
  294.  
  295. (IV) IMPORTANT INFORMATION ON LINK LIBRARIES
  296.  
  297.     Not all memory-model combinations for DICE's link libraries are shipped.
  298.     However, with the library source you can create the missing libraries if
  299.     you need them.  The most-used libraries are shipped and you should not
  300.     come across very many situations where you might need additional memory
  301.     model combinations.
  302.  
  303.     ONLY SYSTEMS WITH A HARD DRIVE HAVE THE CAPACITY TO REMAKE DICE'S LINK
  304.     LIBRARIES!
  305.  
  306.     *  large-data model libraries are not shipped.  The accepted method of
  307.        linking a program with more then 64KB of combined data+bss is to make
  308.        selected declarations __far so that remaining small-data declartations
  309.        fit within 64K, as in:
  310.  
  311.        __far char HugeArray[100000];
  312.  
  313.     *  registered-profiled libraries are not shipped.  normal-profiled
  314.        libraries are shipped.  Since linking with profiled libraries is
  315.        generally done to determine cpu usage in a program it is not really
  316.        necessary to have all manners of combinations for profiled libraries.
  317.        The profiled libraries are huge.
  318.  
  319.     *  The unix-compatible uc*.lib files are lha'd on disk 3, along with
  320.        the rom*.lib files (used when generating epromable code in non-Amiga
  321.        projects) and a few others.
  322.  
  323. (V) WARNING ON USING ARCH: FOR FLOPPY BASED USERS
  324.  
  325.     *  ARCH: IS EXPERIMENTAL.. It works with the DICE master disks, and you
  326.        are welcome to use ARCH: for personal storage, but ARCH: does not
  327.        fully mimic the filesystem it overlays and is not tested beyond
  328.        working with DICE.  ARCH: (fsovl-handler) is part of the registered
  329.        DICE and like everything else may NOT be distributed.
  330.  
  331.     *  going through ARCH: to access the master diskettes can be confusing,
  332.        so I reiterate that you must be careful!  First of all, ARCH: doesn't
  333.        do well when the disk runs out of space, you will not get a write
  334.        error because ARCH: doesn't write out a file until Close().  ARCH:
  335.        is excellent for providing a fully working environment on three
  336.        diskettes and without ARCH: I would not have even been able to get
  337.        a reasonably effective single-floppy installation, but when it comes
  338.        to using ARCH: as a working environment you have to be damn careful
  339.        in low disk-space situations.
  340.  
  341.     *  ARCH: keeps an in-memory decompressed copy for active files so while
  342.        you can theoretically compress huge filies through arch:, you must
  343.        be sure you have the memory for the job or ARCH: will not work
  344.        properly.
  345.  
  346.     *  A great deal of confusion can occur when you attempt to customize
  347.        your DICE configuration in a floppy-based environment where ARCH:
  348.        is used (in a hard disk environment I strongly suggest NOT using
  349.        ARCH: to make DICE run faster).    I will reiterate that certain
  350.        files are required to not be compressed and while ARCH: will read
  351.        such files just fine, you have to remember not to MODIFY said files
  352.        through the ARCH: driver or they will get compresesd.
  353.  
  354.        You can determine whether a file is compressed or not by its comment
  355.        field obtained when you get a directory of the raw volume (not going
  356.        through the ARCH: driver which filters out the comment field).  A
  357.        Comment field beginning in the form "##xxxxxxxx##" indicates a
  358.        compressed file.  WARNING!  If you write out a compressed file from
  359.        an editor (say, ARCH:DF0/fubar) and want to convert it to a
  360.        non-compressed file, you have to DELETE the file first before writing
  361.        it out with "DF0:fubar".  The reason is that 2.0 does not clear out
  362.        the comment field when you re-open a file modes 1006 so the
  363.        non-compressed file will still have the compression id in the
  364.        comment field, causing any future access with ARCH: to be improperly
  365.        interpreted.
  366.  
  367. (VI) COMMON PROBLEMS WITH FLOATING POINT SUPPORT
  368.  
  369.     *  When you use *printf() to print floating point numbers you must be sure
  370.        to link with the math library.  The option '-lm' to DCC will do this.
  371.        Otherwise printf() will only produce "<float>" as output.
  372.  
  373.     *  *scanf() routines only support reading IEEE float's and either IEEE or
  374.        FFP doubles.  I strongly suggest that you NOT use the -ffp option to
  375.        DCC.
  376.  
  377. (VII) DME QUICK-REFERENCE, LOCATION OF DOCUMENTATION
  378.  
  379.     All DICE documentation resides in ARCH:XDCC2/DOC and ARCH:XDCC2/MAN
  380.     (that is, on disk #2).  If you have installed DICE on your hard disk,
  381.     documentation can be found in DCC:DOC and DCC:MAN.    Under 2.0 you can
  382.     use DCC2: instead of ARCH:DCC2 and DCC3: instead of ARCH:DCC3 as a short
  383.     cut to the other two disks (DCC1: is a short cut to disk #1 under
  384.     both 1.3 and 2.0)).
  385.  
  386.     DME has quick-reference capabilities which can be immediately used.  If
  387.     you have two floppy drives put disk #1 in one and disk #2 in the other.
  388.     The boot sequence automatically brings up DME with the README.DOC file,
  389.     find a phrase 'dcc' in the document somewhere and position the cursor
  390.     over the 'd', then hit the CONTROL-RIGHT-BRACKET (ctl-]) key.  DME
  391.     should be able to find the reference to dcc in the documentation on
  392.     disk #2.
  393.  
  394.     Single-floppy users can also utilize this capability by putting disk #2
  395.     in the floppy drive before hitting the ctl-] key sequence.
  396.  
  397.     Hard-drive installed copies should also work seemlessly presuming
  398.     the documentation is in DCC:MAN and DCC:DOC (as it would be if you
  399.     followed the hard disk installation instructions).
  400.  
  401.