REPORTER V1.3 by Steve Tibbett (V1.3 notes are near the end of this file) INTRODUCTION Reporter is a program that works with Enforcer 2.8b, by Commodore, to provide Enforcer's debugging output in a format you can deal with without losing access to your serial port. Reporter does this by intercepting Enforcer's output, and sending it to Reporter's own standard output. Reporter only works with Enforcer 2.8b, size of 6400 bytes, and only runs under Kickstart 2.04 or greater. When a program generates an enforcer hit, Enforcer generates debugging information, and sends it to the serial port. Reporter steps in and takes this information, buffers it (since the information is being sent during a page fault) and prints it to standard output as soon as possible. If a program generates more than about 15 enforcer hits during a single interrupt or high priority task, then Reporter may lose some hits. Reporter flashes the screen red when a hit happens. Because of this, even if you redirect Reporter's output to NIL:, or if the buffer is full, you will still see the hits happening. Another benefit to using Reporter is that since the output is not being done during the page fault, the system processes the error much more quickly. The information is printed to a console during normal task scheduling. This combined with redirecting Reporter's output to NIL: can let you use programs on an Amiga 3000 that are otherwise unusable since they cause so many bus errors as to virtually lock up the system. INSTALLATION To install Reporter, first run Enforcer 2.8b. Next, run Reporter, and pay attention to where it's output will be going, as all your enforcer hits will be going there. Simply invoking Reporter in a shell window will cause all the hits to show up in that shell window. However, putting Enforcer and then Reporter in your User-Startup, and redirecting Reporter output to "CON:0/0/640/200/Reporter/AUTO/WAIT/CLOSE" would mean you wouldn't even know it was running, until a hit happened when a Reporter output window would open. WARNING Reporter is doing "illegal" things to catch Enforcer's output. I have never been able to blame a crash on it, but it could be possible. I take no responsibility for anything this does to your system. Also, there is a bug in there somewhere that prevents Reporter from seeing the last line of Enforcer's output on some machines. I don't know why. Your best course of action, if you want to use Reporter, should be to start Enforcer, start Reporter, and then cause some Enforcer hits. The "Peek" debugging command from Commodore is an excellent way of doing this: Type "Peek L 0" and if you see a READ-LONG hit at location $0 and you get the last line of the hit (with the READ-LONG text), then you know it works. If anybody has a clue as to why this might be happening, please give me a call or send me email! VERSION 1.3 Version 1.3 of Reporter adds Mungwall support. Mungwall is a program which prints illegal FreeMem() calls and other interesting, illegal things. Mungwall is detected and patched automatically, the way Enforcer is. When you start Reporter now, it will say it either patched or could not find both Enforcer and Mungwall. The version of Mungwall it is written for is V37.51, 11032 bytes in length. Reporter will only patch this version of Mungwall. The red screen flash you see when you get an enforcer hit, will be Blue for a Mungwall hit. Also, there is a new command line option to ask Reporter to not print anything (since the default now is to print a banner with the version number and programs patched). Use "Reporter QUIET" instead of just "Reporter". DISTRIBUTION Reporter is Copyright 1992 Steve Tibbett. It may be freely redistributed, but may not be included with commercially available products, nor sold as an individual product, without the Author's permission. I am available on Bix as s.tibbett, Portal as SteveX, and through Internet mail as SteveX@cup.portal.com. You can call me in the evening at 613-731-5316.