home *** CD-ROM | disk | FTP | other *** search
- =========================== MemGuard III.a ===========================
- ======================================================================
-
- Was written by Ralf Thanner in 100% assembly language! This release
- fixes some disadvantages encountered with the original MemWatch II
- program written by John Toebes.
-
- ============================== Purpose ===============================
- ======================================================================
-
- MemGuard III checks the first 100 longwords, in particular location
- $00000004, for random trashing. Discovering any change an Alert comes
- up giving you the choice to leave the vectors as they are or to
- restore their original contents. Unlike other tools of this kind
- MemGuard III does not run as task, but rather links itself to the
- level 3 IRQ, checking the vectors each frame. Therefore virtually no
- processing time is wasted, no extra memory is used (very little
- actually, but below 1000 bytes - the original MemWatch II needed about
- 4000 bytes while running) and the checking takes place even while
- task-switching is forbidden. Furthermore most actions overriding the
- vector table are discovered almost instantly.
-
- =============================== Usage ================================
- ======================================================================
-
- MemGuard III can be started both from Workbench and CLI. The following
- options are recognized:
-
- "A" -> Activate MemGuard III
- "Q" -> Terminate MemGuard III
- "?" -> Displays a short list of instructions
-
- Note that these options are available from Workbench, too. A small
- menu will pop up and ask you for a selection.
-
- ============================ How it works ============================
- ======================================================================
-
- MemGuard III allocates a chunk of memory, copies the checking routine
- into it, links it to the Vertical Blank interrupt and exits. As soon
- as an application trashes a low-memory vector an alert of the
- following form comes up:
-
- #====================================================================#
- # #
- # MEMGUARD III (C) 1990 by Ralf Thanner #
- # #
- # Location: $xxxxxxxx Change: yyyyyyyy #
- # #
- # LEFT BUTTON TO CORRECT RIGHT BUTTON TO SAVE CHANGE #
- #====================================================================#
-
- Location displays the address having been overwritten, Change gives
- the value it has received. Pressing the left mouse button will
- restore the original contents of the trashed location, pressing the
- right mouse button will leave the location as it is.
-
- =============================== Author ===============================
- ======================================================================
-
- MemGuard III was written by Ralf Thanner using the Kuma Seka
- assembler, the original MemWatch idea was suggested from MemWatch II
- which had some substancial disadvantages. The executable MemGuard and
- the documentation file (this file) are placed in the public domain.
- If you intend to use this program commercially please contact the
- author first:
-
- Ralf Thanner
- Ellerstrasse 83
- D-4000 Duesseldorf 1
-
- Federal Republic of Germany
-
-
- MemGuard III (C) Copyright 1990 by Ralf Thanner
-
- Special thanks go to Thorsten Hopf & Olaf Barthel!
-
- VERSIONS:
- =========
-
- - MEMGUARD III
-
- Thought, that this was the final version...
- No bug reports.
-
- - MEMGUARD III.a
-
- Because the MEMGUARD level3 IRQ part uses no message
- ports ( would slow down everything ) i took 530(a6) as
- my port. The bad thing is that 530(a6) is the vertical
- blank frequency and programs which check this pointer
- had little problems to interpret the frequencey (PAL ^
- NTSC) when my marks were set, therefore i took now the
- debug data [ 70(a6) ] as my terminal.
-
- Added also a more userfriendly CLI-Interface.
-
- Shortened and improved the check routine:
- - needs now less than 896 bytes of memory.
- - takes only about 2-3 percentage of processing
- time. (MEMWATCH II took about 50%)
-
-