*************************
Crc32Sav.EXE  VERSION 1.1
*************************

NAME          SIZE   DATE        TIME     CRC32-VALUE
------------  -----  ----------- -------  -----------
Crc32Sav.EXE  16896  11-apr-2002  1:10:00 F2FF8B06

-----------
DESCRIPTION
-----------

A SPSS data file consists of three consecutive parts:

- file header
- dictionary
- data

Crc32Sav.exe computes CRC32-values for each part separately.

This enables you to quickly check SPSS files for equality of the dictionaries
and/or the data.

CRC32-values are shown in hex. Also the length of the file parts is displayed
(number of bytes).


--------------------
MINIMUM REQUIREMENTS
--------------------

Windows 95 / 98 /2000 or Windows NT 4.0


------------
INSTALLATION
------------

Just run the program. It doesn't write to or read information from the
Windows registry.


-----
USAGE
-----

Usage is quite straight forward. Just open a SPSS data file, and the program
starts reading the file immediately. While reading, a message is shown in the
status bar: reading file <name of file>. When ready, the results are displayed.
You can save the results (the text) to a file. That's all.
- it is also possible to open a file by drag and drop
- the program can handle quite large files
- SPSS data files are accessed for reading only


-------
DETAILS
-------

1. FILE HEADER

Besides CRC32-values for the file parts, Crc32Sav displays some general
file information contained in the SPSS file header:
- the SPSS version the file was written with
- file creation date
- file creation time
- number of cases (only if the file contains this information)
- number of variables (to get this information the dictionary is read also)
- case size : number of bytes per case (in uncompressed/decompressed state)
- file size
- file is unweighted, or, if weighted, the sequence number of the weighting
  variable
- data are compressed/uncompressed.

The file header is always 176 bytes long. Immediately after the file header
the dictionary starts, ending with an end-of-dictionary record.


2. DICTIONARY

Note: the CRC32 value for the dictionaries of two SPSS files can only be equal
if the files were written by the same version of SPSS, because the SPSS version
number is contained in the dictionary.


3. DATA

The end of the data area in an uncompressed SPSS file coincides with the end of
the file.
In a compressed file, though, this need not be the case. The data area can end
a few bytes before file end - at a maximum 8 bytes before file end. The
possible bytes after the end of the data area have no meaning and can differ
between two files although the files might be exactly equal in all other
respects.
To prevent taking into account these 'garbage' bytes in computing the
CRC32-value of the data area, the last eight bytes of the file are checked for
presence of an end-of-data marker (ascii value 252). If found, the remaining
bytes are ignored.

The program shows the file offset of the begin of the data area (in hex)
and the number of bytes between the end of the data area and the end of file.
For example:
 file offset of begin data        00023A58
 distance end data from end file  3 bytes


---------------
VERSION HISTORY
---------------

1.1 9-apr-2002 increased speed 10%-20%
1.0 1-sep-2001 first release

---------------
TECHNICAL NOTES
---------------

* Information on the structure of SPSS data files is available from:

  http://www.spss.com/tech/downloads/developer.htm       SPSS Developer's Guide
  http://www.wotsit.org                                  spssdata.zip
  http://www.gnu.org/software/pspp/manual/pspp_toc.html  PSPP

* This program is written in Assembly using Microsoft MASM and the MASM32
  developing environment (see www.pbq.com.au/home/hutch/).
  The algorithm used for computing the CRC32-value of an array of bytes was
  borrowed from G. Adam Stanislav, Whiz Kid Technomagic, Rhinelander, WI 54501
  USA (http://www.geocities.com/SiliconValley/Heights/7394/).


--------------
IMPORTANT NOTE
--------------

USE OF THIS SOFTWARE IS SUBJECT TO THE SOFTWARE LICENSE TERMS SET FORTH BELOW.
USING THE SOFTWARE INDICATES YOUR ACCEPTANCE OF THESE TERMS. IF YOU DO NOT
ACCEPT THESE TERMS, YOU MUST RETURN OR DELETE THE SOFTWARE IMMEDIATELY.

This software is distributed as a FREEWARE. It may be freely used. In case of
distribution you do not need permission to distribute it.
The author does not accept liability for the software in any way.

You may not claim ownership of the software. You may give copies of this
software to other people as long as no file is changed and no file is omitted.
You may not sell, rent or lease the software to others. After the installation
of the software, the author is not responsible of any damage subject to the
system you are using, any missing feature of the software, and any misusage of
the software for illegal purposes.

----------
DISCLAIMER
----------

THIS SOFTWARE AND THE ACCOMPANYING FILES ARE HANDOUT "AS IS" AND WITHOUT
WARRANTIES AS TO PERFORMANCE OF MERCHANTABILITY OR ANY OTHER WARRANTIES WHETHER
EXPRESSED OR IMPLIED. Because of the various hardware and software environments
into which the software (All Versions) may be put,
NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED. Good data processing
procedure dictates that any program be thoroughly tested with non-critical data
before relying on it. The user must assume the entire risk of using the program.


------
AUTHOR
------

Karel Asselberghs, The Netherlands

mailto: asselberghs@dds.nl


