home *** CD-ROM | disk | FTP | other *** search
- --- ---
- (o) (o) SearchMem 4.0 (19940311)
- ^
- \_____/ by Stephen D. Childers
-
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ******* NOTICE ! NOTICE ! *******
-
- Certain areas of memory within your Amiga system are linked to the
- registers of special purpose chips, and searching through these areas may
- cause very strange things to happen. Be prepared to reset your system.
-
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Program Description:
-
- 1) Program searches a given memory range for a given search pattern.
- An address will be printed (in hex format) for every match found.
-
- NOTE 1: This version of SearchMem does not check memory size of
- your system. It attempts to search the memory range that
- you specify whether that memory is or is not installed.
-
- 2) Option -c will look for any case condition of the pattern.
-
- 3) Option -d will disable multitasking while searching.
- Not using this option may lead to erroneous results when searching
- memory. Using this option freezes EVERYTHING until SearchMem is
- done searching, but system will unfreeze momentarily when SearchMem
- finds a match and prints a line.
-
- 4) Option -s will show a line of data that surround pattern.
-
- The pattern, and data that surround the pattern, will be shown
- as printable characters (the pattern portion will be shown in a
- different colour). Non printable characters will appear as an
- asterick of another different colour.
-
- NOTE 2: When SearchMem finds a match within memory the data may be
- changed by other processes just before SearchMem prints the
- data to window; when this happens the data printed in window
- will not match pattern argument.
-
- NOTE 3: If option -h is used then printout is shown in hex format.
-
- 5) Option -n means no ansi codes will be used by option -s.
-
- 6) Control-C will break SearchMem (but only if option d is NOT set)
- and display the memory location that was about to be searched
- when break occured; this is so you may later resume a search
- without having to start at the original search location.
-
- 7) When program ends, it will print out the last address searched.
- The last address that is searched is computed by the following
- formula:
- location + range - pattern length
-
- You may use this address if you plan to begin again where you
- left off.
-
- 8) Can only be used from CLI. Can be made resident.
-
- 9) Program (when run from CLI) will interact with the 'c:Why' command
- after program failures; this command may provide a more detailed
- explanation of why the program failed.
-
- The 'Why' command should be used immediately after a program
- failure to extract the last program's result code, because
- that result code is changed upon the execution of the next CLI
- command.
-
- 10) Certain error reports will contain the name of the argument, file,
- device, (etc) that is associated with failure when it occurs.
-
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- CLI Usage:
-
- > SearchMem [!|?] [[-options] location range pattern]
-
- ! = Show author info
- ? = Show some help
-
- options c = case insensitive
- d = disable multitasking during search
- h = pattern is in hex format
- s = show characters surrounding pattern
- n = no ANSI codes when using option -s
-
- location = Address to start search from.
- The range of input values for location are:
- Decimal = 0 to 4294967295
- Hex = H0 to Hffffffff
-
- range = How much memory to search.
- The range of input values for range are:
- Decimal = 1 to 4294967295
- Hex = H1 to Hffffffff
-
- pattern = The pattern to find, which may be in string
- format (default) or hex format (use option -h for hex)
-
- Hex values for location and range must be preceded with 'h'.
-
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- CLI examples:
-
- Example 1:
-
- > SearchMem -sc hf80000 h80000 Code
- > SearchMem -sc 16252928 h80000 Code
- > SearchMem -sc 16252928 524288 code
- > SearchMem -sch hf80000 h80000 436f6465
-
- All of the above lines will accomplish the exact same thing.
-
- Example 2:
-
- > SearchMem -sc hf80000 h80000 .library
-
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Version History:
-
- The following information briefly describes changes or improvements
- made to each version, and they will be described in descending order;
- meaning latest version information begins first:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Version 4.0 (19940311) -
- 1) Changed version numbering format. Program can now be used with the
- "Version" command. Date within parenthesis is shown in a somewhat
- international format as (yyyymmdd).
- 2) Added new options -s & -n
- 3) Modified option -c because of new option -s
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Version 19930804 -
- 1) Optimized and refined source code thereby making program smaller.
- 2) Alas, removed a small bug (programmer's error) which would
- sometimes print eroneous results when using option -c.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Version 19920107 -
- 1) Removed a CLI parsing problem.
- 2) Removed yet another problem from my code which involved pattern
- matching. Certain patterns containing repeated characters would
- not match with memory that contained data that matched pattern.
- An example of the problem follows:
- Suppose the pattern to search for was equal to "0001", and the
- memory to search contained the following data:
- "00001000010000100001"
- Note the differences between pattern and memory data.
- The program would not find any matches, although it should have.
- 3) Program should now search a little faster when using c option.
- 4) Can be made resident.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Version 19910918 - The first version.
-
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- /X_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_X\
- /X/ \X\
- /X/ 9 Know ye not that the unrighteous shall not inherit \X\
- \X\ the kingdom of God? Be not deceived: neither fornicators, /X/
- /X/ nor idolaters, nor adulterers, nor effeminate, nor abusers \X\
- \X\ of themselves with mankind, /X/
- /X/ 10 Nor thieves, nor covetous, nor drunkards, nor revilers, \X\
- \X\ nor extortioners, shall inherit the kingdom of God. /X/
- /X/ \X\
- \X\ The Holy King James Bible - 1st Corinthians 6:9-10 /X/
- \X\_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _/X/
- \X_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_}-{_X/
-
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- End Of Document
-
-