Short: MMU protect free memory. Source included. Author: Børge Nøst Uploader: bnost online no Type: dev/debug Replaces: dev/debug/GAngelRmx.lha Requires: 3.0/3.1, 68040/68060, Enforcer/CyberGuard. Architecture: m68k-amigaos Version 1.1 now complete with source. Works for me (buyer beware)! Full program name: Guardian Angel Remix (short: GAR). This program will protect all _free_ pages in memory (not to be confused with free chunks). It requires a 68040 or 68060 (68851/68030 work started, but I have a bug somewhere that I can't find, and I have no machine to debug that on) with MMU and KickStart 3.0/3.1 (versions prior to these will not work - sorry), and also needs SetPatch and Enforcer/CyberGuard to be run before it is started. Only works with 4K(68040/68060) page size (source uses 1K size for 68030). This version will not function properly if you quit Enforcer after GAR has been started. (Your machine will crash if you do.) (In short: Start SetPatch, start Enforcer, start GAR.) To test that it is working you can use a monitor (like Amiga Monitor 1.65 by Timo Rossi - get it from AmiNet) and do a little memory dump to screen from an address you know to be free. You should now get Enforcer hits that says memory was read at somesuch address. If a program reads or writes to pages in memory that are completely free you will get a hit message from Enforcer. DO NOT RUN MUNGWALL BEFORE GUARDIAN ANGEL REMIX! (Run it after. GAR will not start if Mungwall is running.) There are two versions included in this archive. I had problems getting 'avail free' to work, but a patch to UnLoadSeg() seems to have fixed it. You might want to try both versions if RemLibrary()/RemDevice() hangs your machine. Hope you find this utility useful. You should use 'spatch' to patch Mungwall and Mungwall.par version 37.71. These patches prevent Mungwall from filling free memory when it is first started (remember, GAR is already protecting this). When you apply these patches Mungwall 37.71 will work fine together with GAR. You can use the "FlushAngel" program to turn off the protection. Note that some memory will not be freed if you do this. It might also fail depending on what patches have been installed in your system. You will have to quit Mungwall to make this work. New in version 1.1: Small speed optimisation. No extra work is done if the allocation starts and stops inside a page that is already allocated in part. Fixed bug that froze "avail flush" (freeing libraries and devices didn't work), and probably got a little faster by this. Patch files for Mungwall supplied. MungMem versions removed. "FlushAngel" added. Non-working 68030/68851 version embedded in the source (but a little rough so far). Source included.