                            Enforcer 37.28
                                  by
                             Michael Sinz

                 Copyright © 1992 Commodore-Amiga, Inc.

******************************************************************************
*                                                                            *
* Permission is hereby granted to distribute this program's archive          *
* containing the executables and documentation for non-commercial purposes   *
* so long as the archive and its contents are not modified in any way.       *
*                                                                            *
* This program may not be distributed for a profit.                          *
*                                                                            *
* This program is not in the public domain.                                  *
*                                                                            *
******************************************************************************

All new Enforcer V37.28 - For 68020/68851, 68030, and 68040 CPUs

This is a completely new Enforcer for the Amiga.  It has many
new and wonderfull features and many new and wonderfull options.

It requires V37 of the OS or better and no longer has *any*
exceptions in it for specific software.  Nothing should be causing
Enforcer hits.  (See note below. *)

Requires an MMU.  On 68EC030 systems, it may think it is working
even if it is not due to the fact that the missing MMU is very
hard to detect.  Use LawBreaker to check.

This Enforcer has also been highly optimized to be as fast as
possible.  General performance should be much better.

Enforcer can now also be used with CPU or SetCPU FASTROM or most
any other MMU-Kickstart-Mapping tool.  This means that you do not
have to give up your speed in order to use Enforcer.  (Major win
on A2000 and A500 systems)

Much more documentation and information provided.  Major new
output options.  (Such as local output, STDOUT, and parallel
port options...)

Make sure you read the documentation before using these programs.

 *****************
** Read the DOCs **
 *****************  Watch out since Enforcer does not get used
the same as the old Enforcer.  Remember, this thing is a completely
different beast.

-----
Changes from V37.27:
	On 68040 systems with autoconfig cards that are marked as 0-bytes
	in size, Enforcer would not start as it would detect an invalid
	MMU setup request due to the 0-byte expansion board.  It now
	ignores them.

Changes from V37.26:
	On non-68040 systems, Enforcer would sometimes crash when asked
	to turn off.  The problem was fixed in V37.27 and up.

Changes from V37.25:
	When running in pre-3.0 (pre 39.106) kickstart on a 68040, some
	memory in the lower-4K was used for some code from Expansion.
	When the LVO was called/jumped to, Enforcer was unable to deal
	with the instruction fault in all cases.  This release fixes
	this problem.

Please send all comments to Michael Sinz.  Enjoy...

/----------------------------------------------------------------------\
|      /// Michael Sinz  -  Senior Amiga Systems Engineer              |
|     ///                   Operating System Development Group         |
|    ///   BIX:  msinz      UUNET:  mks@cbmvax.commodore.com           |
|\\\///    "Can't I just bend one of the rules?" said the student.     |
| \XX/     The Master just looked back at him with a sad expression.   |
\----------------------------------------------------------------------/

 ************
** Remember **	*NOTHING* should cause an Enforcer hit.  There is
 ************	no reason to ever cause one if the software is written
		correctly.  When Enforcer is running, the VBR is moved
		and even interrupt vector poking should work just fine
		without Enforcer hits.  Software that causes Enforcer
		hits may not be able to run on future systems.  In fact,
		such software may not even run on current systems.

* Note:	MetaScope has been updated and version 1.50 is now
	available.  This version will not cause Enforcer hits
	unless you tell it to.  Thus, you can open a memory
	window while Enforcer is running.  Enforcer does
	not have any special case code in it.  An Enforcer
	hit is an Enforcer hit, period.
