home *** CD-ROM | disk | FTP | other *** search
-
- GENERAL README FOR DICE
-
- (0) MEMORY REQUIREMENTS
-
- DICE requires 1.5MB of ram to run reasonably well. You can run it on a
- 1MB machine but you will not be able to put anything in ram or make
- anything resident or even have DME running in the background while
- compiling!
-
- 512K WILL NOT WORK!
-
- 1.0 MB nothing resident, nothing in ram, maybe even have to put
- compiler intermdiate files on disk! (see "RECOURSE WHEN YOU
- RUN OUT OF MEMORY" in section III)
-
- 1.5 MB you can maybe make DCC and DC1 resident but you really need
- the memory so maybe not anything else.
-
- 2.0 MB you can make all major DICE binaries resident
-
- 2.5 MB+ all major DICE binaries resident, link libraries in ram,
- some or all includes in ram (under 2.0 you can
- use multi-assignments to mix and match)
-
- (I) WARNING ON COMPRESSION OF DICE DISKETTES
-
- ** WARNING ** Most files on the DICE diskettes are *COMPRESSED*, even
- if they do not look it. In order to access the files on the DICE
- diskettes you must prefix your path(s) with ARCH: For example:
-
- 1> type ARCH:DF0/README.DOC
- 1> dir ARCH:DF0
- 1> assign fubar: ARCH:DF0
- 1> dir fubar:
-
- If you do not wish to boot from the DICE diskettes, the ARCH: handler
- can be started manually with the following command and then used to
- browse/copy the diskettes:
-
- 1> run <nil: >nil: XDCC1:L/FSOVL-HANDLER
-
- 1> list ARCH:XDCC1
- 1> list ARCH:XDCC2
- 1> etc...
-
- ACCESSING MOST FILES WITHOUT USING ARCH: WILL RESULT IN GARBAGE DATA.
- Specifically, accessing most files without arch: will yield the
- compressed version which, needless to say, is unreadable.
-
- ARCH: IS PART OF THE REGISTERED DICE DISTRIBUTION AND LIKE EVERYTHING
- ELSE MAY NOT BE DISTRIBUTED.
-
- (II) COPYING THE MASTER DISKETTES
-
- The very first thing you should do is make an exact duplicate of your
- master DICE diskettes and hide them away. YOU MUST USE DISKCOPY TO DO
- THIS, DO NOT USE THE COPY COMMAND. Using copy can easily lead to
- confusion due to compression of the DICE diskettes, we strongly suggest
- you use DISKCOPY to backup your DICE master diskettes.
-
- NEVER MODIFY THE MASTER DISKETTES, LEAVE THE MASTER DISKETTES WRITE
- PROTECTED!
-
- (III) DICE INSTALLATION
-
- DICE disk #1 is bootable and will bring up a minimal CLI environment
- under both 1.3 and 2.0. This file is brought up in DME automatically.
- No optimizations are made and using DICE in this environment will be
- slow because everything is on floppy AND everything is compressed.
-
- This environment actually fits on a single floppy drive. You can
- compile the hello.c program by clicking in the CLI window and typing
- the following line. Note that since everything is comming off of
- floppy and is compressed to boot, compilation will be very, very
- slow at this point in the installation.
-
- 1> dcc hello.c -o t:hello
- 1> t:hello
- HELLO WORLD!
- 1>
-
- The volume name for disk #1 is DCC1: or DCC: ... these are assignments
- through the ARCH: device and should be used instead of DFn: . Note that
- the *actual* volume names for the diskettes are XDCC1: XDCC2: and XDCC3:
- but you do NOT want to access the disks this way because you will be
- bypassing ARCH:
-
- Access Method DiskCopy Copy/Normal-Usage
- ------------- -------- -----------------
- DCC: assignment NOT OK
- DCCn: assignment NOT OK
- ARCH:XDCCn: NOT OK
- ARCH:DFn: NOT OK
- XDCCn: OK NOT
- DFn: OK NOT
-
-
- SINGLE FLOPPY INSTALLATION
-
- DICE disk #1 is bootable, simply make a duplicate using DISKCOPY and
- customize as you like. Well, not so simple... you have to be VERY
- CAREFUL to NOT modify certain files through ARCH: ... since most system
- assignments are reassigned through ARCH: this means you have to be
- doubly careful. The following files should be modified directly,
- bypassing ARCH:. The XDCCn: volume names will bypass ARCH:
-
- XDCC1:S/#? all files in this directory
- XDCC1:C/#? all files in this directory
- XDCC1:L/#? all files in this directory
-
- These files are required for booting by the system. Since the system
- doesn't know about ARCH: at the time these files are accessed you
- cannot compress them through ARCH:
-
- MULTIPLE FLOPPY INSTALLATION
-
- Under 2.0, the startup-sequence on the boot floppy will automatically
- recognize the existance of INCLUDE and DLIB subdirectories on other
- floppy drives at boot time. DICE uses 2.0's multi-directory assign,
- the floppies can be accessed with DCC1:, DCC2:, DCC3:, and DCC4: which
- the startup-sequence sets up to go through ARCH:
-
- Under 1.3 the DCC2:, DCC3:, and DCC4: assignments through ARCH:XDCCn:
- will be made only if the disks are present during boot (i.e. in other
- floppy drives). If, say, disk #2 were not present at boot and you
- wanted to access it later on you would have to make the assignment
- manually as follows (after putting in disk #2):
-
- 1> assign DCC2: ARCH:XDCC2
-
- See the section below called CUSTOMIZATION / OPTIMIZATION for
- information on tradeoffs and such.
-
-
- HARD DISK INSTALLATION
-
- Hard disk installation is easy. Either boot with DICE disk #1 or
- startup the ARCH: handler by running it in the background as shown in
- section (I). Then copy each DICE diskette THROUGH the ARCH: handle
- as shown below. This will result in an *uncompressed* version of all
- DICE files on your hard drive. Once you do that you don't have to worry
- about ARCH: anymore.
-
- For ease of use the instructions show you how to do a mass copy of
- everything onto your hard drive. You actually do not need certain
- directories from disk #1 that are used for booting, the last command
- in the following set deletes these superfluous directories.
-
-
- 1> makedir work:dice
- 1> copy arch:XDCC1 work:dice ALL CLONE
- 1> copy arch:XDCC2 work:dice ALL CLONE
- 1> copy arch:XDCC3 work:dice ALL CLONE
- 1> copy arch:XDCC4 work:dice ALL CLONE
- 1> delete work:dice/(l1.3|l2.0|c|libs1.3|libs2.0) all
-
- UNDER 1.3 ONLY YOU NEED TO INSTALL THE 2.0 MATH LIBRARIES IN YOUR LIBS:
- DIRECTORY. DO THE FOLLOWING COMMAND *ONLY* IF YOU ARE RUNNING UNDER
- 1.3 !!!
-
- 1> ; DO ONLY IF RUNNING UNDER 1.3
- 1> copy dcc:libs libs:
-
- For hard disk installation you probably want to de-archive the various
- archives. De-archiving is accomplished via the WORK:DICE/BIN/DZRESTORE
- command. This can be done as follows:
-
- 1> cd work:dice
- 1> work:dice/bin/dzrestore libsrc.bak
- 1> work:dice/bin/dzrestore dlib.orig.bak
- 1> cd include
- 1> work:dice/bin/dzrestore amiga13.bak
- 1> work:dice/bin/dzrestore amiga20.bak
- 1> work:dice/bin/dzrestore amiga30.bak
-
- libsrc.bak - library source code
- dlib.orig.bak - original commodore-supplied amiga.lib link libs
- include/amiga13.bak - full 1.3 includes
- include/amiga20.bak - full 2.0 includes
- include/amiga30.bak - full 3.0 includes
-
- Once you unpack the archives you can delete them.
-
-
- HARD DISK INSTALLATION - MODIFYING YOUR STARTUP-SEQUENCE
-
- Once you install the DICE files you need to add a command to your
- S:USER-STARTUP file. If your system does not have an S:USER-STARTUP
- file you should modify S:STARTUP-SEQUENCE. You should add the following
- line to the appropriate file:
-
- EXECUTE WORK:DICE/S/STARTUP-DICE WORK:DICE
-
- NOTE: the 'work:dice' elements in the above line assume you installed
- the DICE files in WORK:DICE. Also, if you are doing this after booting
- from the floppy remember to use a full hard drive volume name path
- to get to the hard drive's user-startup (example:
- System2.0:S/user-startup).
-
- * If you have a hard drive you normally do not use the ARCH: handler
- to compress files. Keep in mind that ARCH: takes around 140K of
- memory, a definite consideration if you do not have much memory.
-
- * If you wish to customize DICE you normally do it by modifying the
- WORK:DICE/S/STARTUP-DICE file. If you are not familiar with DICE
- I suggest using the defaults for now.
-
-
- RECOURSE WHEN YOU RUN OUT OF MEMORY
-
- If you have only 1MB of ram you will barely be able to use DICE! If
- you find yourself running out of memory there are a few things you
- can do:
-
- * Make sure nothing is resident
-
- * Put nothing in RAM:
-
- * Modify the DCCOPTS environment variable to put intermediate files on
- floppy/HD instead of in ram: . To do this you want to add the -T option
- to your DCCOPTS, as in: -TDF0: ... note that you do NOT want to go
- through the ARCH: handler. Your DCCOPTS environment variable might
- then read:
-
- setenv DCCOPTS "-2.0 -f -// -TDF0:"
-
- * Use the 1.3 includes and libraries instead of the 2.0 includes and
- libraries. DLink is notorious for taking a lot of memory, by using
- the 1.3 includes and link libraries in ARCH:XDCC2/DLIB and
- ARCH:XDCC3/INCLUDE instead of the 2.0 includes and libraries, and
- then changing your DCCOPTS to read "-1.3 -f -// -Tdf0:" instead of
- "-2.0 -f -// -Tdf0:" the linker will use less memory. Unfortunately,
- this means that you will not be able to write 2.0-specific programs.
-
-
- CUSTOMIZATION AND OPTIMIZATION
-
- If you are not satisfied with your configuration.. and you probably
- will not be satisfied with the default configuration since it skimps so
- much, I have a few suggestions on possible optimizations. Keep in mind
- that the whole of DICE is huge and for floppy users this means
- compression is necessary. Still, parts of DICE can be cached or made
- resident bypassing the decompression overhead.
-
- There are a number of things you can do to make DICE run faster if you
- have the memory. By memory I mean at least 2MB of ram. If you only
- have 1MB DICE will be hard pressed as it is, you will not be able to
- afford to put anything else into ram and would probably even have to
- close down your editor while compiling something.
-
- * You can make any pure executable in the bin/ directory resident with
- the Commodore RESIDENT command. The primary DICE binaries are dcc,
- dcpp, dc1, das, and dlink. Note that copying binaries to ram wastes
- a lot more memory then simply making them resident! Most of the
- binaries in bin/ are residentable, most especially the core compiler
- binaries.
-
- * You can copy commonly used header files and link libraries into ram:.
- Under 2.0 you can setup a multi-assignment to cause the system to look
- in ram: first and then look on disk, thus keeping your environment
- relatively seemless. For example, under 2.0 you can:
-
- 1> assign DLIB: ram:dlib DCC:DLIB
- 1> assign DINCLUDE: ram:include DCC:INCLUDE
-
- Under 1.3 you can do something quite similar, and that is to modify
- your DCCOPTS environment variable adding -L and -I options. -L options
- add new directories to the directory search path used to find link
- libraries and -I adds new directories to the include search path.
-
-
- GENERAL INFORMATION ABOUT .BAK FILES
-
- .BAK files are archives. I shouldn't really be using lharc/lha because
- DICE is more a commercial package then anything else so instead I use
- my backup/restore program with a new compression algorithm of my own
- design that uses very little memory.
-
- There are two programs, dzback and dzrestore, that reside on disk #3.
- Like everything else they are compressed through ARCH: so to get a
- copy of them you need to use the path: ARCH:XDCC3/BIN/DZBACK or
- ARCH:XDCC3/BIN/DZRESTORE.
-
- There are three commands:
-
- dzback -c directory -o archivefile.bak ARCHIVE A DIRECTORY
- dzrestore -t archivefile.bak LIST AN ARCHIVE
- dzrestore archivefile.bak UNPACK AN ARCHIVE
-
- You can use these to create, list, and unpack the .bak archives found
- on the DICE diskettes.
-
-
- (IV) IMPORTANT INFORMATION ON LINK LIBRARIES
-
- Not all memory-model combinations for DICE's link libraries are shipped.
- However, with the library source you can create the missing libraries if
- you need them. The most-used libraries are shipped and you should not
- come across very many situations where you might need additional memory
- model combinations.
-
- ONLY SYSTEMS WITH A HARD DRIVE HAVE THE CAPACITY TO REMAKE DICE'S LINK
- LIBRARIES!
-
- * large-data model libraries are not shipped. The accepted method of
- linking a program with more then 64KB of combined data+bss is to make
- selected declarations __far so that remaining small-data declartations
- fit within 64K, as in:
-
- __far char HugeArray[100000];
-
- * registered-profiled libraries are not shipped. normal-profiled
- libraries are shipped. Since linking with profiled libraries is
- generally done to determine cpu usage in a program it is not really
- necessary to have all manners of combinations for profiled libraries.
- The profiled libraries are huge.
-
- * The unix-compatible uc*.lib files are lha'd on disk 3, along with
- the rom*.lib files (used when generating epromable code in non-Amiga
- projects) and a few others.
-
- (V) WARNING ON USING ARCH: FOR FLOPPY BASED USERS
-
- * ARCH: IS EXPERIMENTAL.. It works with the DICE master disks, and you
- are welcome to use ARCH: for personal storage, but ARCH: does not
- fully mimic the filesystem it overlays and is not tested beyond
- working with DICE. ARCH: (fsovl-handler) is part of the registered
- DICE and like everything else may NOT be distributed.
-
- * going through ARCH: to access the master diskettes can be confusing,
- so I reiterate that you must be careful! First of all, ARCH: doesn't
- do well when the disk runs out of space, you will not get a write
- error because ARCH: doesn't write out a file until Close(). ARCH:
- is excellent for providing a fully working environment on three
- diskettes and without ARCH: I would not have even been able to get
- a reasonably effective single-floppy installation, but when it comes
- to using ARCH: as a working environment you have to be damn careful
- in low disk-space situations.
-
- * ARCH: keeps an in-memory decompressed copy for active files so while
- you can theoretically compress huge filies through arch:, you must
- be sure you have the memory for the job or ARCH: will not work
- properly.
-
- * A great deal of confusion can occur when you attempt to customize
- your DICE configuration in a floppy-based environment where ARCH:
- is used (in a hard disk environment I strongly suggest NOT using
- ARCH: to make DICE run faster). I will reiterate that certain
- files are required to not be compressed and while ARCH: will read
- such files just fine, you have to remember not to MODIFY said files
- through the ARCH: driver or they will get compresesd.
-
- You can determine whether a file is compressed or not by its comment
- field obtained when you get a directory of the raw volume (not going
- through the ARCH: driver which filters out the comment field). A
- Comment field beginning in the form "##xxxxxxxx##" indicates a
- compressed file. WARNING! If you write out a compressed file from
- an editor (say, ARCH:DF0/fubar) and want to convert it to a
- non-compressed file, you have to DELETE the file first before writing
- it out with "DF0:fubar". The reason is that 2.0 does not clear out
- the comment field when you re-open a file modes 1006 so the
- non-compressed file will still have the compression id in the
- comment field, causing any future access with ARCH: to be improperly
- interpreted.
-
- (VI) COMMON PROBLEMS WITH FLOATING POINT SUPPORT
-
- * When you use *printf() to print floating point numbers you must be sure
- to link with the math library. The option '-lm' to DCC will do this.
- Otherwise printf() will only produce "<float>" as output.
-
- * *scanf() routines only support reading IEEE float's and either IEEE or
- FFP doubles. I strongly suggest that you NOT use the -ffp option to
- DCC.
-
- (VII) DME QUICK-REFERENCE, LOCATION OF DOCUMENTATION
-
- All DICE documentation resides in ARCH:XDCC2/DOC and ARCH:XDCC2/MAN
- (that is, on disk #2). If you have installed DICE on your hard disk,
- documentation can be found in DCC:DOC and DCC:MAN. Under 2.0 you can
- use DCC2: instead of ARCH:DCC2 and DCC3: instead of ARCH:DCC3 as a short
- cut to the other two disks (DCC1: is a short cut to disk #1 under
- both 1.3 and 2.0)).
-
- DME has quick-reference capabilities which can be immediately used. If
- you have two floppy drives put disk #1 in one and disk #2 in the other.
- The boot sequence automatically brings up DME with the README.DOC file,
- find a phrase 'dcc' in the document somewhere and position the cursor
- over the 'd', then hit the CONTROL-RIGHT-BRACKET (ctl-]) key. DME
- should be able to find the reference to dcc in the documentation on
- disk #2.
-
- Single-floppy users can also utilize this capability by putting disk #2
- in the floppy drive before hitting the ctl-] key sequence.
-
- Hard-drive installed copies should also work seemlessly presuming
- the documentation is in DCC:MAN and DCC:DOC (as it would be if you
- followed the hard disk installation instructions).
-
-