***********************************
* Product    : Benchmark Modula-2 *
* Version    : Amiga.01.00        *
* Date       : 08/Feb/88          *
* Description: Release Notes      *
* Author     : Leon Frenkel       *
***********************************


Special Utilities:
------------------
* PKAX - A fast archive extract utility.  This utility is used to decompress
  files stored in an archive.  PKAX is a share-ware utility written by Phil
  Katz.

* PackIt - A utility for packing or unpacking a disk.  This utility is used
  to combine one or more files into one file.  This share-ware utility
  was written by Gary Kemper.

* Using the PKAX and PackIt utilities allowed three disks of demonstration 
  source code to be placed on just one disk.


Demonstration source code:
--------------------------
The second diskette in this package contains the source code for a
large collection of Modula-2 programs.  The source code is stored in
compressed form to save disk space.  As a matter of fact when
decompressed into separate files, the source files require three disks. 

Before any of the demonstration programs may be used, the source files
must be decompressed and unpacked.  Three newly formatted disks will
be required to store the source files for the demonstration programs.
The files "Disk1.arc", "Disk2.arc" and "Disk3.arc" are archive files
created with the "Arc" utility.  A share-ware utility called "PKAX" is
included on the disk, to allow the files to be "un-arced".  The
contents of each of the "arc" files is a number of "pak" files which
are actually sub-directories containing one or more files which has been
packed into just one file.  The "PackIt" program is used to unpack a
"pak" file into its component files.  For instructions on how to use
the "PKAX" program read the file "PKAX.doc" or invoked the "PKAX"
utility without any parameters.  Instructions for the "PackIt" program
may be obtained by invoking the program without any parameters.  The
following are very brief instructions for both utilities:

  +-------------------------------------------------------------------------+
  | PKAX -x <File.arc> [FileName]                                           |
  |                                                                         |
  | The "-x" option designates a file extraction operation.                 |
  | The <File.arc> specified the name of an archive file, extension ".arc". |
  | The [FileName] specifies the name of the file to extract, if a filename |
  | is not specified then all files in the archive are extracted.           |
  | The files extracted from the archive are placed into the current        |
  | directory.                                                              |
  +-------------------------------------------------------------------------+

  +-------------------------------------------------------------------------+
  | PackIt e <Path> <File.pak>                                              |
  |                                                                         |
  | The "e" option specifies an extract operation.                          |
  | The <Path> specified the destination path for the unpack operation.     |
  | The <File.pak> specified the name of a ".pak" file to be unpacked.  The |
  | extension ".pak" should not be specified, the program automatically     |
  | appends ".pak" to the file name.                                        |
  +-------------------------------------------------------------------------+

The following procedure may be used to unarc and unpack the demonstration
programs.  The entire contents of each of the ".arc" files may be unarced
or only selected files maybe accessed.

* Boot up a standard WorkBench disk and exit to the CLI.

* Format four new disks, one disk should be designated as a scratch disk, 
  the other three disks will be used to store the source files.  The disks
  should be formatted as follows:

 FORMAT DRIVE DF0: NAME "TempDisk" NOICONS
 FORMAT DRIVE DF0: NAME "DemoSrc1" NOICONS
 FORMAT DRIVE DF0: NAME "DemoSrc2" NOICONS
 FORMAT DRIVE DF0: NAME "DemoSrc3" NOICONS

* Unarc the contents of one of the ".arc" files to the "TempDisk" using PKAX.
* Unpack the contents of each of the ".pak" files on the "TempDisk" to
  a "DemoSrc" disk using PackIt.

Example of unarcing and unpacking:

 CD TempDisk:
 PKAX -x df0:Disk1.arc Animal.pak BigSets.pak
        MakeDir DemoSrc1:Animal
 PackIt e DemoSrc1:Animal/ Animal
        MakeDir DemoSrc1:BigSets
 PackIt e DemoSrc1:BigSets/ BigSets


Some of the demonstration programs included with the package can not
be compiled without one or more of the optional add-on packages.  In
some cases minor changes will allow a program to be compiled without
the necessary add-on.  Even, if you do not own the necessary add-on
product, the source code may be of interest.  The following table
lists the directories containing the programs and which if any of the
add-on packages are needed to compiler the program(s) in that directory.
The letter(s) in parenthesis specify the add-on products required:

Key to optional add-on packages:
C - "C" Language Library
I - IFF and Image Resource Library
S - Simplified Amiga Library

(   ) Animal
(   ) BigSets
(   ) CMS
(   ) Case
(  S) Chaos
(   ) CtoM2
(   ) DUtil
(   ) Doodle
( I ) GWars
(CIS) Gels
(   ) HP
(C S) Kermit
( I ) Mandel
(CIS) Misc
(   ) Mondrian
(   ) Othello
(   ) Scimpi
(   ) ShowDevs
(   ) Spiro
(C S) TestMods
(   ) Trails
(C S) WarpText
(C S) XText
(   ) xref


Differences from documentation:
-------------------------------
* A few very minor differences in the contents of the disks from the
  layout described in the documentation.  
* The second diskette is not the "Tools" disk, all tools were placed
  in the "Tools" directory of the "Boot" disk.
* Only one copy of the Modula-2 Compiler is included and it is located
  in the "Tools" directory of the "Boot" disk.  This copy of the compiler
  is configured for an Amiga with 512K of memory.  The compiler may be
  easily reconfigured to take advantage of additional memory.
* The files need for the tutorial are on the second disk not the "Boot" disk.


Changes from previous version:
------------------------------
* All known bugs fixed!

Documentation:
* Documentation edited extensively.
* All software changes documented.
* Extensive tutorial information added.

Demos:
* Many new demonstration programs added.

Compiler:
* Added compatibility of CHAR variables with open array parameters.
* Disallowed comparing of BYTE type values, minor changes in source files
  which relied on this non-standard feature.
* New file format for symbol and reference files.  All user modules
  must be recompiled before using with new compiler.
* TRUNC() now returns CARDINAL instead of INTEGER.  Changed for greater
  compatibility.
* Ctrl-C break now allowed even when directing input from a file into the
  compiler, such as "M2 <make".
* Allow strings assignments without a terminating null character. i.e.,
  str: ARRAY [0..2] OF CHAR;  can be assigned "ABC".

Emacs:
* Old buffer-list is deleted automatically even if the buffer containing the
  buffer-list is modified.
* emacs-version command has been eliminated.
* The cursor is disabled during compilation.
* Window updated properly when typing ahead quickly.

Libraries:
* SimpleDBuf - performance improved by 25-50 % in FlipDBufScreen() procedure
* SimpleDBuf - when the CreateDBufScreen() procedure is called the alternate
  buffer is displayed properly.
* Terminal/InOut/TermInOut - WriteString() procedures check for HIGH() since
  changes to compiler allow CHAR variables to be passed to these procedures.
* PrinterBase - new module added to system

================================================================================
