                            Enforcer 37.55
                                  by
                             Michael Sinz

                        Copyright © 1992-1993


Enforcer V37 - For 68020/68851, 68030, and 68040 CPUs

It requires V37 of the OS or better and does not have *any*
exceptions in it for specific software.  Nothing should be causing
Enforcer hits.

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.

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.52:

	Added a new tool (and icon for it) called RebootOff.
	This tool will automatically turn off Enforcer during a keyboard
	reset on machines that support keyboard reset handlers.
	It is mainly useful for the A3000 machines with SuperKickstart
	and they support Keyboard Reset Handlers.  (This tool lets you
	not cause a Kickstart reload on a keyboard reset...)

	Well, with the fine help of Robert Chapman and his hardware
	setup, I think I have finally cracked the last of the Enforcer OFF
	problems.  I don't have all of the Amigas and configurations
	available, so I have to use nice people to help test via long
	distance.

	Some more documentation changes...  Added the
	Copyright link in the first page rather than
	just in the index...

	Updated the copyright notice in the executable to match
	the documentation.

	The NORELOADKICK option had to be removed.  Most (99%) of the
	production A3000 machines with SuperKickstart would hang
	so hard that you had to power-down the machine if you did
	use this option.  Oh well, people wanted it but it is just
	not possible.  Sorry...

Changes from V37.50:

	Added much more to the AmigaGuide Enforcer documentation.
	Now includes a click-able Enforcer hit and descriptions
	of what the various fields are.

	Added the NORELOADKICK/S option to tell Enforcer not to
	force a Kickstart reload on SuperKickstart A3000 machines.

	Added the NOALERTPATCH/S option to tell Enforcer not to
	add the Alert() patch feature.

Changes from V37.49:

	Well, I did not have FindHit supporting all of the older
	versions of SAS/C 5.x...  It seems that sometimes SAS/C 5.x
	would not produce a 'LINE' debug hunk but would produce
	an extended 'SRC ' hunk which included the data from the
	'LINE' hunk is a new and magical way.  Anyway, FindHit
	now knows about this form and will magically use that if no
	'LINE' debug hunk is found.  A rather strange benefit to
	this is that SAS/C 5.x would extend the file name with
	the full path name in the 'SRC ' hunk.  This is not the case
	with SAS/C 6.x as the path is relative to where you did the
	compile.

	Also added to the doc the fact that DICE also supports the
	'LINE' debug hunk and works with FindHit.

Changes from V37.42:

	Added a patch to Alert() such that Enforcer can display
	the alert in the Enforcer output stream (plus some more details)
	and such that dead-end alerts can correctly shut down the
	system and still be displayed as needed.  This does, however,
	remove the flashing display of the recoverable alerts and
	only display them in the Enforcer output.

	Updated LawBreaker to also do an Alert such that the results
	of an Alert can be seen by the user.

	Added a new tool:  FindHit
	This tool will read executables and, if LINE debug
	information is in it, will print the source file name
	and line number of the hit.

	LawBreaker executable now has LINE debug information
	such that people can try FindHit.

	Documentation changes and additions for FindHit and Alert patch

	Enforcer now checks to make sure the argument to the
	PRIORITY keyword is valid.  (Minor change)  Most
	people should not be using this keyword.

	Changed some of the documentation.

	Added AmigaGuide documentation.

	Added a new feature to SegTracker for future SAS/C
	CPR features...

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

/----------------------------------------------------------------------\
|      /// Michael Sinz                                                |
|     ///                   UUNET:  mks@cbmvax.cbm.commodore.com       |
|    ///   BIX:  msinz      or      msinz@bix.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.
