home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Hall of Fame
/
HallofFameCDROM.cdr
/
util2
/
ph-utils.lzh
/
SCANM.DOC
< prev
next >
Wrap
Text File
|
1989-07-11
|
26KB
|
802 lines
SCANM
Memory Scanning Utility
Version 1.00
Released 05-20-89
Herron Software
P.O. Box 1288
Battle Ground, Washington 98604
COPYRIGHT 1988, 1989 Phil Herron. ALL RIGHTS RESERVED.
DISCLAIMER OF WARRANTY
__________________________________________
THIS PRODUCT IS LICENSED AS IS AND WITHOUT
WARRANTY OF ANY KIND. THE AUTHOR MAKES NO
EXPRESS OR IMPLIED WARRANTIES WITH REGARD
TO THIS PRODUCT, INCLUDING BUT NOT LIMITED
TO MERCHANTABILITY OR FITNESS FOR ANY
PURPOSE. IN NO EVENT SHALL THE AUTHOR BE
LIABLE FOR LOSS OF PROFIT OR ANY OTHER
COMMERCIAL DAMAGE ARISING FROM EITHER THE
USE OF OR THE INABILITY TO USE THIS PRODUCT.
This product should be thoroughly evaluated
using backed up or noncritical data and files.
_________________________________________________________________
Table of Contents Section
_________________________________________________________________
Shareware.................................................. 0.1.0
What it is.............................................. 0.1.1
License Terms........................................... 0.1.2
Registration............................................ 0.1.3
Evaluation................................................. 0.2.0
Evaluation Version...................................... 0.2.1
Evaluation Menu......................................... 0.2.2
Virus Prevention........................................ 0.2.3
ScanM...................................................... 1.0
Introduction............................................ 1.1
Explanation............................................. 1.2
System Requirements..................................... 1.3
Installing........................................... 1.3.1
Help.................................................... 1.4
Syntax.................................................. 1.5
Examples................................................ 1.6
Operating Screen........................................ 1.6.1
Some Locations to scan.................................. 1.7
Technical Notes......................................... 1.8
Segmented Memory Addressing.......................... 1.8.1
Address Conversion - Logical to Physical............. 1.8.2
Address Conversion - Physical to Logical............. 1.8.3
Version History......................................... 2.0
Support.................................................... 9.0
Problem Resolution...................................... 9.1
Before Reporting........................................ 9.2
Reporting a problem..................................... 9.3
Custom Modifications.................................... 9.4
Correspondence.......................................... 9.5
Product Catalog........................................... 10.0
_________________________________________________________________
0.1.0 Shareware
_________________________________________________________________
0.1.1 The SHAREWARE Concept
_____________________________
"Shareware" is a software distribution method which enables
the potential user to obtain software at very low initial
cost, for evaluation on a trial basis.
You can evaluate the software in your own environment, on your
own machine, with the programs and data that you normally use.
You're not required to make payment and become a registered
user unless the software meets your needs.
Another benefit of Shareware is lower pricing. By minimizing
the marketing and advertising expenses associated with more
traditional software distribution methods, Shareware products
can be priced lower. You don't pay for what you don't need or
use.
You are encouraged to share the evaluation version of this
software with others, so long as you follow the limitations
set forth in the LICENSE TERMS section below.
0.1.2 LICENSE TERMS
_____________________
This product and its documentation are copyrighted and owned
solely by the author, who reserves all rights to any benefits
derived from it. It is distinctly separate from, and should
not be confused with, those categories of software known as
"public domain" or "freeware."
You are granted without charge a limited license to use the
evaluation version of this software on a trial basis, for
purposes of deciding whether to continue using (and therefore
whether to register) the product, and to transmit this
evaluation version to associates by copying on diskette or
uploading to electronic bulletin board services, so long as
the following CONDITIONS are met:
(a) The program and its documentation file must be
distributed together.
(b) The program and its documentation must not be
altered in any way. If you wish to include
notes for other evaluators, please add them in
a separate file and include that file along
with the program and documentation files.
0.1.3 REGISTRATION
____________________
When you send in the registration form and fee, you'll
receive by return mail a diskette containing the latest
REGISTERED version of the program and documentation.
BENEFITS OF REGISTRATION
The registered version WILL NOT include the Evaluation Menu
front-end or the forms-printing section of this version.
Thus it will be more convenient to use, from either the DOS
prompt or from batch files. It will also be about 16K
bytes smaller, for more efficient disk storage and faster
loading.
The registered version WILL include any new functions
or enhancements made to date.
You will receive notification of future updates and
new products.
You will be able to upgrade to newer versions at a
reduced cost.
REGISTRATION FORM
The registration form and a pre-addressed mailing cover
can be printed from the "Forms Printing" selection of
the Evaluation menu, discussed in section 0.2.2 below.
FEES
The single-quantity registration fee is displayed on the
initial Evaluation Menu screen. Higher quantities are
discussed below.
QUANTITY DISCOUNTS
Each registered copy of this software will be licensed for
operation at only one location (on only one machine) at any
one time. If this software will be in use at more than one
location at the same time, the appropriate number of
registrations must be made.
Multiple-quantity registration fees are displayed in the
"QUANTITY DISCOUNT" section of the Evaluation menu.
You can take advantage of quantity discounts by ordering
multiple registrations of one program or single
registrations of several different programs at the same
time. You also save on shipping and handling charges
by registering several products together.
GROUP REGISTRATIONS
You can also get quantity discounts by combining orders with
associates:
(1) Complete a separate registration form for each person.
Each person's name, address and programs to be
registered are needed for support and update
notification purposes.
(2) Include only one standard shipping and handling charge.
Cross out the "Shipping & handling" amounts on
all but one registration form; the combined
order will be sent to the name and address on
that form.
(3) Send all the forms together in one envelope or mailing
cover, with a single check or money order.
_________________________________________________________________
0.2.0 Evaluation
_________________________________________________________________
0.2.1 EVALUATION VERSION
__________________________
This software contains the complete and fully functional version
of the program, the latest available at the time of this release.
The program itself is identical to the REGISTERED version.
An Evaluation Menu and forms-printing section were added
to ensure that:
(a) Registration information and forms will not
become separated from the program file.
(b) Users who might be unfamiliar with the process
of displaying a file's contents on the screen or
printer will have no difficulty learning about,
evaluating or registering this product.
0.2.2 EVALUATION MENU
_______________________
The program is invoked from the DOS prompt by typing its name
and pressing the RETURN or ENTER key.
The initial screen displays the warranty section and some
information about the program:
Program name,
Version number,
Release date,
Single-quantity registration fee.
It next displays the Shareware Product EVALUATION MENU.
A single key press will select the following functions
from the menu:
_________________________________________
ESC - EXIT to DOS without evaluating this program
R - READ the documentation (THIS file)
x - EVALUATE this program
Q - QUANTITY Discount information
F - FORMS printing menu - registration & mailer
_________________________________________
When you press "R" to READ the documentation, this file will
be shown one screen at a time. The display pauses whenever the
screen becomes full, and prompts...
<downArrow> or Esc
The <downArrow> character is similar to the "MORE" prompt in
other DOS utilities. It indicates that more is available.
Press ESCape to exit back to the Evaluation Menu, or any normal
typing key to continue (space bar is a convenient key to use).
0.2.3 VIRUS PREVENTION
________________________
If you'd like to evaluate this software but you're not sure
where it's been, you can get a copy straight from the source
for a $4.00 charge to cover the cost of the diskette, shipping
and handling. If your address is outside the U.S. and Canada,
add an additional $3.00 (total $7.00, in U.S. funds).
Include your mailing address and the name of the program.
By return mail you'll receive the latest evaluation version
of that program and as many others as will fit on a 5.25
inch diskette.
______________________________________________________________
ScanM
1.0
Memory Scanning Utility
______________________________________________________________
1.1 INTRODUCTION
__________________
You'd like to scan through your system's memory space for
copyrights and other readable text, but either you don't have
the DOS DEBUG utility or you don't have the patience to use it.
Even if you do, you'll still have to manually scan over many
screens of data to find all the text.
1.2 EXPLANATION
_________________
ScanM is designed for easily viewing the printable ASCII text
characters within your system's memory space, while filtering out
control (ASCII values below 32 decimal) and extended characters
(ASCII values above 127 decimal).
ScanM displays any strings of standard ASCII characters that is
four or more characters in length.
Strings found are displayed down the left side of the screen, one
string per line. Spreading out the strings in this manner eases
the task of picking the real information out of the nonsense text.
ScanM pauses at the bottom of each screen, to allow you to
continue scanning or to escape back to DOS. The down-arrow
prompt indicates that more follows; press ESCAPE to terminate,
or any OTHER key to continue.
1.3 SYSTEM REQUIREMENTS
___________________________
PC, XT, AT or compatible.
DOS version 2.1 or later.
64K free memory.
1.3.1 INSTALLING
__________________
The program can be run from diskette or from hard disk.
No installation is necessary, other than copying the files
to a drive and directory of your choosing.
1.4 HELP
__________
Can't remember the command line syntax?
Issue the program's name without any parameters; it
will display a help screen, then return to the DOS prompt.
1.5 SYNTAX
____________
ScanM [[startSeg][:startOfs]] [[endSeg][:endOfs]]
Where...
startSeg = Memory segment to begin scan
startOfs = Offset within segment to begin scan
If not specified, defaults to 0000 hex.
endSeg = Memory segment to end scan
If not specified, defaults to FFFF hex.
endOfs = Offset within segment to end scan
If not specified, defaults to 000F hex.
All parameters must be in hexadecimal (base 16).
1.6 EXAMPLES
______________
ScanM F600 scans from F600:0000 to top of memory space
ScanM F600:A scans from F600:000A to top of memory space
ScanM F600 F800 scans from F600:0000 to F800:0000
ScanM F600:A F800 scans from F600:000A to F800:0000
ScanM F600:A F800:C scans from F600:000A to F800:000C
Top of memory space is physical location FFFFF hex (1,048,575
decimal). The following logical addresses, among others,
point to the top physical address:
FFFF:000F
FFF0:00FF
FF00:0FFF
F000:FFFF
See the TECHNICAL NOTES section below for further explanation.
1.6.1 OPERATING SCREEN
________________________
The operating screen appears whenever "ScanM" is issued from
the DOS prompt with a file specification; in this example,
the complete command line is:
ScanM C800
which scans the area beginning at the hard disk controller ROM.
The screen display is:
__ScanM_______________________
|______________________________|
Scan range C800:0000 to FFFF:000F
\ \
beginning ending
address address
C800:08 (C) Copyright 1984 Western Digital Corporation
C81E:03 SQRUWV
C81F \ \
\ \ Text string found at this address
\ Offset
\
Segment
A running display of the segment being scanned is maintained
on screen; whenever a text string of 4 or more characters is
encountered, the starting offset and the string are displayed.
Only a two-digit offset is displayed; SCANM keeps
it normalized within the range 00 through 0F hex.
1.7 SOME LOCATIONS TO SCAN
____________________________
Long pauses between groups of text strings are normal when
scanning large areas of memory space; the area could contain
junk or program code, or might not have any RAM or ROM devices
assigned to it.
For example, C800:0000 appears to be the standard location for
the first hard disk's controller ROM. If your system does not
have a hard disk controller installed, then that area will
obviously not contain any intelligible text strings.
Memory map for some PC-Compatibles:
Segment Used for
------- ---------------------------------------------
F000 ROM area - diagnostics, BIOS
E000 ROM area - usually empty
D000 ROM area - usually empty
C000 ROM area - hard disk controllers
B000 Display RAM (mono at B000, CGA at B800)
A000 Display RAM expansion (EGA)
9000 User RAM, high end
8000 .
7000 .
6000 .
5000 .
4000 .
3000 .
2000 .
1000 .
0000 User RAM, low end
USER RAM
There's probably little reason, other than curiosity, to
scan the lower regions of the memory space for text strings.
The contents of RAM change depending on the program you are
currently running.
The locations below segment address A000 will all contain
RAM, if you have 640KB of RAM installed; otherwise, some
of them will be empty.
DISPLAY RAM
The display memory areas of A000 and B000 will contain RAM
only for the particular video adapter installed in your
system.
ROM AREAS
Areas containing ROM (the system's "firmware") will contain
copyright notices and software version information from the
manufacturers who programmed that particular ROM.
Typical ZENITH ROM areas
------------------------
F800:0 thru FFFF:F BIOS ROM ( 32K )
F400:0 thru F800:0 Reserved for ROM ( 16K )
C800:0 thru C9FF:F Hard disk controller ROM ( 8K )
Typical IBM ROM areas
---------------------
FE00:0 BIOS ROM ( 8K )
F600:0 BASIC ROM ( 32K )
F400:0 Reserved 8K for ROM
E000:0 PCjr ROM packs
D000:0 " "
C800:0 Hard disk controller ROM
1.8 TECHNICAL NOTES
_____________________
1.8.1 SEGMENTED MEMORY ADDRESSING
___________________________
The Intel 8086/8088 devices can address a million (1024K)
physical memory locations. The newer 80286 and 80386 devices
are limited to addressing the same number of locations when
operated in 8086 compatibility mode, also known as "real" mode,
under DOS version 3.0 and later.
Addressing a million locations requires 20 bits (2^20 =
1,048,576 decimal), but the internal registers of the
8086/8088 are only 16 bits wide.
This shortage of bits is remedied by splitting up physical
memory addresses into segment addresses and offset addresses.
During program memory references, the contents of the segment
register are shifted left by four bits and added to the offset
to form a 20-bit memory address that can directly access 1024KB
of memory.
1.8.2 ADDRESS CONVERSION - Logical to Physical
__________________
Segmented (logical) address to 20-bit physical address...
Multiply the Segment by 10 hex (same as shifting left by
one hex digit or four binary digits), then add the Offset.
Example - Segment:Offset is FFFF:000F
Multiply Seg by 10h FFFF x 10 = FFFF0
Add Offset + 000F
--------
Resulting 20-bit address is FFFFF.
1.8.3 ADDRESS CONVERSION - Physical to Logical
__________________
20-bit physical address to Segmented address...
Offset:
Pick any convenient value. The offset can be up to
four hex digits (16 bits), so it can range from 0000
to FFFF. However it can't be larger than the physical
address, and its LSD (least-significant digit) should
be the same as the LSD of the physical address for
this nefarious scheme to work correctly.
Segment:
Subtract the offset from the physical address, then
divide the result by 10 hex.
Example - physical address is FFFFF
Select an offset of FFFF
Subtract the offset
from the phys.address FFFFF - FFFF = F0000
Divide the above
result by 10 h F0000 / 10 = F000
Result is F000:FFFF
Notice that a given physical address may convert to
various segmented addresses, depending on the offset
chosen. The following logical addresses all point to
physical address FFFFF.
FFFF:000F
FFF0:00FF
FF00:0FFF
F000:FFFF
2.0 VERSION HISTORY
_____________________
1.00 Initial release.
_________________________________________________________________
9.0 Support
_________________________________________________________________
9.1 PROBLEM RESOLUTION
________________________
Please document and report any anomaly in program operation,
whether it's a genuine "bug" or just some feature of the
program that particularly "bugs" you.
If you're the first person to document and report a problem
that we agree needs attention, you'll receive a free upgrade
with the correction when it's been made. If you're a
registered user, you'll get the upgraded registered version;
if you haven't yet registered, you'll get the upgraded
evaluation version.
9.2 BEFORE REPORTING
______________________
Things to try prior to reporting a problem:
1 - Reread the documentation to make sure you understand
what we thought we understood when we wrote it.
2 - If the system reports "Bad command or file name" when
you attempt to run the program, its executable file
(or at least the file name you specified) was not found.
First, make sure no typos or misspellings have crept
into your command line; next, try changing your PATH
setting, or make the drive & directory where the program
resides the "current" drive & directory.
3 - If the program is being run from a batch file, try
deleting lines previous to the line that actually
invokes the program, to see if some prior activity
is causing the problem.
4 - If you have any memory-resident or "TSR" utilities
installed (pop-up calculators/note pads, keyboard
enhancements, etc.), try removing them from memory
and running the program again to see if the problem
reoccurs.
9.3 REPORTING A PROBLEM
_________________________
If the problem persists, please document it as completely and
accurately as possible; we have to be able to duplicate it
before we can begin to resolve it.
Include at least the following:
1 - Version of DOS you are using.
2 - Machine type, drives, memory, etc.
3 - Programs executed prior to the problem.
4 - Problem program's name and version number.
5 - Where and how you obtained the problem program.
6 - Address and/or phone number where you can be contacted.
7 - Anything you can think of that might relate to the problem;
for example, listings of your AUTOEXEC.BAT and CONFIG.SYS
files, or any batch files used to run the program.
8 - Any relevant printouts.
NOTE: If you're a registered user, you'll find the utility
UserResp.Exe on the distribution diskette; it can be used
to print a pre-addressed mailer and a problem report.
If you have not yet registered, send problem reports to the
address below (or print the pre-addressed mailer from the
Evaluation Menu).
9.4 CUSTOM MODIFICATIONS
__________________________
If you need custom modifications to this software for your
particular application, please write to the below address
with complete details of your requirements.
9.5 CORRESPONDENCE
____________________
We welcome any comments or suggestions you might have
concerning improvements and future enhancements to this
product. Send all correspondence to:
Phil Herron
P.O. Box 1288
Battle Ground, Washington USA 98604
_________________________________________________________________
10.0 Product Catalog
_________________________________________________________________
This section contains a list of products available or near
completion as of this release date; it will be updated
whenever new products are added.
ChkD - Drive Total/Free/Used report by value & percent
ChkM - Memory Total/Free/Used report by value & percent
CleanOut - Selective file deletion, with confirmation
CleanTxt - WordStar to Ascii convert, ctrl char strip, tab expand
CleanZ - Ctrl-Z End Of File char strip or replace
FindF - Find File(s) in any directory of current drive
Gen - Generate files for testing printer, storage or timing
KeySet - CapsLock-NumLock-ScrollLock-PrtSc key setup
PrinTest - Parallel Printer Test & Status reporting
Qscn - Convert text to executable file for Quick Screen display.
ScanF - Scan File for text strings
ScanM - Scan Memory for text strings
Split - File splitter
StoRm - STorage RooM needed for files on any disk/any DOS ver.
_______________________________________________________________
| |
| COPYRIGHT 1989 Phil Herron. ALL RIGHTS RESERVED. |
|_______________________________________________________________|