Enclosed is a majik tool for detecting invisible bugs in programs; _The Enforcer_ uses the MMU to build a shroud of protection over anything that is not legal memory. Any "empty holes" in the address space are marked as illegal by _Enforcer_. Reads of the system ROMs are allowed, but not writes. With the exception of longword reads of location 4, the lowest 1K of memory is completely off-limits. When an illegal access is detected, the power LED will flash and a detailed message will be sent out the serial port (at the default speed). Illegal writes are aborted, illegal reads return NULL data. For example: Program Counter (approximate)= 28EB3E Fault address =C0EDBABE User stack pointer = 2E39EC DOS process address = 23C810 Data: DDDD0000 DDDD1100 DDDD2200 DDDD3300 DDDD4400 DDDD5500 DDDD6600 DDDD7700 Addr: AAAA0000 AAAA1100 AAAA2200 AAAA3300 AAAA4400 AAAA5500 AAAA6600 000FFFA0 Data output buffer =$DDDD0000 ( ) Status register =$8 Special status word =$709 (WRITE-LONG) Process/CLI = AmigaShell ,"lawbreaker" CLI command "lawbreaker" has written the value $DDDD0000 to location $C0EDBABE. The write was aborted. With the information given, it is usually quite easy to figure out what went wrong. Remote keystrokes: ^S - pause ^Q - resume ^X - disable _Enforcer_ reporting until next ^Q. Notes: If you don't have an external terminal, just use a modem & a terminal program. Most modems will echo back characters at any baud rate. Else, just set the baud rate to match the modem. Illegal hits from CLI commands named "metascope" or "wack" are ignored. The Alert() system call writes to locations in the $180-$1C0 area. _The Enforcer_ works on any V1.2,V1.3 or V2.0 system, provided the MMU is available.