home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / CBMDevKit5.dms / CBMDevKit5.adf / DOCS / tooldocs.lha / enforcer1.3.doc < prev    next >
Encoding:
Text File  |  1993-11-04  |  2.8 KB  |  81 lines

  1. Enforcer1.3
  2. CATEGORY: 1.3-compatible version of MMU-based Watchdog tool
  3. USAGE:    Enforcer [off|on|quiet|fprotect]
  4. USED FOR: Trapping reads and writes of low/non-existent memory
  5. REQUIRES: MMU that is not being used, serial terminal or parallel printer
  6.           with enforcer1.3.par
  7.  
  8. Enclosed is a majik tool for detecting invisible bugs in programs; _The
  9. Enforcer_ uses the MMU to build a shroud of protection over anything that
  10. is not legal memory.  Any "empty holes" in the address space are marked as
  11. illegal by _Enforcer_.    Reads of the system ROMs are allowed, but not
  12. writes.  With the exception of longword reads of location 4, the lowest 1K
  13. of memory is completely off-limits.
  14.  
  15. Enforcer runs on any Amiga or OS revision, as long as the MMU is not already
  16. in use.  This version of Enforcer also works on the A3000 under
  17. SuperKickstart (V1.3 or 2.0).  Under V1.3, Enforcer requires SetPatch
  18. version 1.38 or later.
  19.  
  20. When an illegal access is detected, the power LED will flash and a detailed
  21. message will be sent out the serial port (at the default speed).  Illegal
  22. writes are aborted, illegal reads return NULL data.  For example:
  23.  
  24.  
  25.  
  26. Program Counter (approximate)= 783C460         Fault address        =DEADBEEF
  27. User stack pointer         = 7860ABC           DOS Proccess address = 7839F98
  28. Data: 00000001 01E0F0FB 00000FA0 0783AE18 00000001 01E0987F 01E0A93D 0783C3EC
  29. Addr: 0783AE18 0785FB28 07810114 0783C3EC 07860AC0 00F8F56A 00F8F55E 078021D0
  30. Status register =$8           Special status word =$729 (WRITE-WORD)
  31. Data output buffer  =$FFFFADEF (o)
  32. Process/CLI = Background CLI ,"lawbreaker"
  33. Hunk-O-Matic says: PC address is in hunk #0, near offset $70
  34.  
  35.  
  36.  
  37. CLI command "lawbreaker" has written the word value $ADEF to location
  38. $DEADBEEF.  The write was aborted.  With the information given, it is
  39. usually quite easy to figure out what went wrong.
  40.  
  41.  
  42.  
  43.  
  44. Remote keystrokes:
  45.         ^S    - pause.  You may have to press it more than once.
  46.         ^Q    - resume
  47.         ^X    - When in ^S, press ^X to suspend _Enforcer_ reporting.
  48.           Use ^Q to resume.
  49.  
  50.  
  51. Command line options:
  52.         on
  53.         fprotect    ;Same as on, but write protects $F00000-$F7FFFF
  54.         off
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61. Notes:
  62.  
  63.     If you don't have an external terminal, just use a modem & a terminal
  64.     program.  Most modems will echo back characters at any baud rate. Else,
  65.     just set the baud rate to match the modem.
  66.  
  67.     Illegal hits from CLI commands named "metascope" or "wack" are ignored.
  68.  
  69.     Rebooting an A3000 running Enforcer causes the SuperKickstart to be
  70.     reloaded from scratch next time you boot.  Some call this a feature.
  71.     This will, however, kill RAD:.  When Enforcer is off, SuperKickstart is
  72.     not reloaded.
  73.  
  74.     The Alert() system call writes to locations in the $180-$1C0 area.
  75.  
  76.  
  77. Bugs:
  78.     Won't work on certain third-party processor boards with non-autoconfig
  79.     memory.
  80.  
  81.