


******************************************************************************
    1/91   -dpg

    Note the text below is Out of date.  

    This code is now included as part of the 4.0 basic release.  All
    files created on machines that meet the below restrictions will be portable
    among others of the same.  

    For machines that do not fit those restrictions, they will have to 
    resort to the old non-portable format by specifiying this at the
    GISGEN step.
******************************************************************************

    The dig, and dig_plus files are inherently non-portable.  This 
can be seen in moving files between a SUN 386i and other SUN machines.
The recommended way to transport files was always to convert to ASCII
(b.a.vect) and copy the ASCII files:  dig_ascii and dig_att to the 
destination machine.

    The problem lies in the way that different architectures internally
represent data.   If a number is internally store as  0x01020304 on
a 680x0 family machine, the same number will be stored as
0x04030201 on an 80386 class machine.

    The CERL port of GRASS to the Compaq 386 already has code to deal
with this incompatibility.  This code converts all files that are written
out to conform to the 680x0 standard.  These binary files can then be 
shared between machines without conversion.
    This code is designed to work with the majority of computers in use
today that fit the following requirements:
    byte     ==  8 bits
    int      ==  4 bytes
    long     ==  4 bytes
    double   ==  IEEE standard 64 bit
    float    ==  IEEE standard 32 bit
    bytes can be swapped around in any reasonable way, but bits within each
    byte must be maintained in normal high to low ordering:  76543210

    If this ability is desired on a SUN 386i, for example, you simply
define the compiler flag  CERL_PORTABLE in the src/CMD/makehead  file
and recompile all of the mapdev programs.

    WARNING!  WARNING!  WARNING!  WARNING!  WARNING!  WARNING
Files read and written with these new routines are NOT compatible
with any files created on the 386 machine before the changes were made
to the code.  So if you use this code, first convert ALL vector data files
to their ASCII versions and remove all binary dig and dig_plus files.
After installing the new code, you can then re-import the ASCII files
back to binary.

    Binary DLG files are NOT supported by this code, and will continue to
be non-portable between different architectures.
    
    This procedure is not recommended and you do it at your own risk.  I make
it available for those of you, who like us at CERL have a heterogenous
network and need compatibility for file sharing.



 -dave gerdes
