home *** CD-ROM | disk | FTP | other *** search
/ Hall of Fame / HallofFameCDROM.cdr / util2 / ph-utils.lzh / SCANM.DOC < prev    next >
Text File  |  1989-07-11  |  26KB  |  802 lines

  1.  
  2.  
  3.                   SCANM
  4.  
  5.  
  6.  
  7.                   Memory Scanning Utility
  8.  
  9.  
  10.  
  11.                   Version  1.00
  12.                   Released 05-20-89
  13.  
  14.  
  15.  
  16.  
  17.                   Herron Software
  18.                   P.O. Box 1288
  19.                   Battle Ground, Washington  98604
  20.  
  21.  
  22.  
  23.  
  24.          COPYRIGHT 1988, 1989 Phil Herron.  ALL RIGHTS RESERVED.
  25.  
  26.  
  27.                   DISCLAIMER OF WARRANTY
  28.             __________________________________________
  29.  
  30.  
  31.             THIS PRODUCT IS LICENSED AS IS AND WITHOUT
  32.             WARRANTY OF ANY KIND.  THE AUTHOR MAKES NO
  33.             EXPRESS OR IMPLIED WARRANTIES WITH REGARD
  34.             TO THIS PRODUCT, INCLUDING BUT NOT LIMITED
  35.             TO MERCHANTABILITY OR FITNESS FOR ANY
  36.             PURPOSE.  IN NO EVENT SHALL THE AUTHOR BE
  37.             LIABLE FOR LOSS OF PROFIT OR ANY OTHER
  38.             COMMERCIAL DAMAGE ARISING FROM EITHER THE
  39.             USE OF OR THE INABILITY TO USE THIS PRODUCT.
  40.  
  41.  
  42.             This product should be thoroughly evaluated
  43.             using backed up or noncritical data and files.
  44.  
  45.  
  46.  
  47.  
  48.  
  49.    _________________________________________________________________
  50.  
  51.    Table of Contents                                         Section
  52.    _________________________________________________________________
  53.  
  54.    Shareware.................................................. 0.1.0
  55.       What it is.............................................. 0.1.1
  56.       License Terms........................................... 0.1.2
  57.       Registration............................................ 0.1.3
  58.  
  59.    Evaluation................................................. 0.2.0
  60.       Evaluation Version...................................... 0.2.1
  61.       Evaluation Menu......................................... 0.2.2
  62.       Virus Prevention........................................ 0.2.3
  63.  
  64.    ScanM...................................................... 1.0
  65.       Introduction............................................ 1.1
  66.       Explanation............................................. 1.2
  67.       System Requirements..................................... 1.3
  68.          Installing........................................... 1.3.1
  69.       Help.................................................... 1.4
  70.       Syntax.................................................. 1.5
  71.       Examples................................................ 1.6
  72.       Operating Screen........................................ 1.6.1
  73.       Some Locations to scan.................................. 1.7
  74.       Technical Notes......................................... 1.8
  75.          Segmented Memory Addressing.......................... 1.8.1
  76.          Address Conversion - Logical to Physical............. 1.8.2
  77.          Address Conversion - Physical to Logical............. 1.8.3
  78.       Version History......................................... 2.0
  79.  
  80.    Support.................................................... 9.0
  81.       Problem Resolution...................................... 9.1
  82.       Before Reporting........................................ 9.2
  83.       Reporting a problem..................................... 9.3
  84.       Custom Modifications.................................... 9.4
  85.       Correspondence.......................................... 9.5
  86.  
  87.    Product Catalog........................................... 10.0
  88.  
  89.  
  90.  
  91.  
  92. _________________________________________________________________
  93.  
  94. 0.1.0          Shareware
  95. _________________________________________________________________
  96.  
  97.  
  98.  
  99.  
  100. 0.1.1   The SHAREWARE Concept
  101. _____________________________
  102.  
  103.    "Shareware" is a software distribution method which enables
  104.    the potential user to obtain software at very low initial
  105.    cost, for evaluation on a trial basis.
  106.  
  107.    You can evaluate the software in your own environment, on your
  108.    own machine, with the programs and data that you normally use.
  109.    You're not required to make payment and become a registered
  110.    user unless the software meets your needs.
  111.  
  112.    Another benefit of Shareware is lower pricing.  By minimizing
  113.    the marketing and advertising expenses associated with more
  114.    traditional software distribution methods, Shareware products
  115.    can be priced lower.  You don't pay for what you don't need or
  116.    use.
  117.  
  118.    You are encouraged to share the evaluation version of this
  119.    software with others, so long as you follow the limitations
  120.    set forth in the LICENSE TERMS section below.
  121.  
  122.  
  123.  
  124.  
  125. 0.1.2   LICENSE TERMS
  126. _____________________
  127.  
  128.    This product and its documentation are copyrighted and owned
  129.    solely by the author, who reserves all rights to any benefits
  130.    derived from it.  It is distinctly separate from, and should
  131.    not be confused with, those categories of software known as
  132.    "public domain" or "freeware."
  133.  
  134.    You are granted without charge a limited license to use the
  135.    evaluation version of this software on a trial basis, for
  136.    purposes of deciding whether to continue using (and therefore
  137.    whether to register) the product, and to transmit this
  138.    evaluation version to associates by copying on diskette or
  139.    uploading to electronic bulletin board services, so long as
  140.    the following CONDITIONS are met:
  141.  
  142.       (a) The program and its documentation file must be
  143.           distributed together.
  144.  
  145.       (b) The program and its documentation must not be
  146.           altered in any way.  If you wish to include
  147.           notes for other evaluators, please add them in
  148.           a separate file and include that file along
  149.           with the program and documentation files.
  150.  
  151.  
  152.  
  153.  
  154. 0.1.3   REGISTRATION
  155. ____________________
  156.  
  157.       When you send in the registration form and fee, you'll
  158.       receive by return mail a diskette containing the latest
  159.       REGISTERED version of the program and documentation.
  160.  
  161.  
  162.    BENEFITS OF REGISTRATION
  163.  
  164.       The registered version WILL NOT include the Evaluation Menu
  165.       front-end or the forms-printing section of this version.
  166.       Thus it will be more convenient to use, from either the DOS
  167.       prompt or from batch files.  It will also be about 16K
  168.       bytes smaller, for more efficient disk storage and faster
  169.       loading.
  170.  
  171.       The registered version WILL include any new functions
  172.       or enhancements made to date.
  173.  
  174.       You will receive notification of future updates and
  175.       new products.
  176.  
  177.       You will be able to upgrade to newer versions at a
  178.       reduced cost.
  179.  
  180.  
  181.    REGISTRATION FORM
  182.  
  183.       The registration form and a pre-addressed mailing cover
  184.       can be printed from the "Forms Printing" selection of
  185.       the Evaluation menu, discussed in section 0.2.2 below.
  186.  
  187.  
  188.    FEES
  189.  
  190.       The single-quantity registration fee is displayed on the
  191.       initial Evaluation Menu screen.  Higher quantities are
  192.       discussed below.
  193.  
  194.  
  195.    QUANTITY DISCOUNTS
  196.  
  197.       Each registered copy of this software will be licensed for
  198.       operation at only one location (on only one machine) at any
  199.       one time.  If this software will be in use at more than one
  200.       location at the same time, the appropriate number of
  201.       registrations must be made.
  202.  
  203.       Multiple-quantity registration fees are displayed in the
  204.       "QUANTITY DISCOUNT" section of the Evaluation menu.
  205.  
  206.       You can take advantage of quantity discounts by ordering
  207.       multiple registrations of one program or single
  208.       registrations of several different programs at the same
  209.       time.  You also save on shipping and handling charges
  210.       by registering several products together.
  211.  
  212.  
  213.    GROUP REGISTRATIONS
  214.  
  215.       You can also get quantity discounts by combining orders with
  216.       associates:
  217.  
  218.          (1)   Complete a separate registration form for each person.
  219.                   Each person's name, address and programs to be
  220.                   registered are needed for support and update
  221.                   notification purposes.
  222.  
  223.          (2)   Include only one standard shipping and handling charge.
  224.                   Cross out the "Shipping & handling" amounts on
  225.                   all but one registration form; the combined
  226.                   order will be sent to the name and address on
  227.                   that form.
  228.  
  229.          (3)   Send all the forms together in one envelope or mailing
  230.                   cover, with a single check or money order.
  231.  
  232.  
  233.  
  234.  
  235. _________________________________________________________________
  236.  
  237. 0.2.0          Evaluation
  238. _________________________________________________________________
  239.  
  240.  
  241.  
  242.  
  243. 0.2.1   EVALUATION VERSION
  244. __________________________
  245.  
  246.    This software contains the complete and fully functional version
  247.    of the program, the latest available at the time of this release.
  248.  
  249.    The program itself is identical to the REGISTERED version.
  250.    An Evaluation Menu and forms-printing section were added
  251.    to ensure that:
  252.  
  253.       (a)   Registration information and forms will not
  254.             become separated from the program file.
  255.  
  256.       (b)   Users who might be unfamiliar with the process
  257.             of displaying a file's contents on the screen or
  258.             printer will have no difficulty learning about,
  259.             evaluating or registering this product.
  260.  
  261.  
  262.  
  263.  
  264. 0.2.2   EVALUATION MENU
  265. _______________________
  266.  
  267.    The program is invoked from the DOS prompt by typing its name
  268.    and pressing the RETURN or ENTER key.
  269.  
  270.  
  271.    The initial screen displays the warranty section and some
  272.    information about the program:
  273.  
  274.       Program name,
  275.       Version number,
  276.       Release date,
  277.       Single-quantity registration fee.
  278.  
  279.  
  280.    It next displays the Shareware Product EVALUATION MENU.
  281.    A single key press will select the following functions
  282.    from the menu:
  283.       _________________________________________
  284.  
  285.       ESC - EXIT to DOS without evaluating this program
  286.  
  287.        R  - READ the documentation (THIS file)
  288.  
  289.        x  - EVALUATE this program
  290.  
  291.        Q  - QUANTITY Discount information
  292.  
  293.        F  - FORMS printing menu - registration & mailer
  294.       _________________________________________
  295.  
  296.  
  297.    When you press "R" to READ the documentation, this file will
  298.    be shown one screen at a time.  The display pauses whenever the
  299.    screen becomes full, and prompts...
  300.  
  301.                      <downArrow> or Esc
  302.  
  303.    The <downArrow> character is similar to the "MORE" prompt in
  304.    other DOS utilities.  It indicates that more is available.
  305.    Press ESCape to exit back to the Evaluation Menu, or any normal
  306.    typing key to continue (space bar is a convenient key to use).
  307.  
  308.  
  309.  
  310.  
  311. 0.2.3   VIRUS PREVENTION
  312. ________________________
  313.  
  314.    If you'd like to evaluate this software but you're not sure
  315.    where it's been, you can get a copy straight from the source
  316.    for a $4.00 charge to cover the cost of the diskette, shipping
  317.    and handling.  If your address is outside the U.S. and Canada,
  318.    add an additional $3.00 (total $7.00, in U.S. funds).
  319.  
  320.    Include your mailing address and the name of the program.
  321.    By return mail you'll receive the latest evaluation version
  322.    of that program and as many others as will fit on a 5.25
  323.    inch diskette.
  324.  
  325.  
  326.  
  327.  
  328. ______________________________________________________________
  329.  
  330.                ScanM
  331. 1.0
  332.                Memory Scanning Utility
  333. ______________________________________________________________
  334.  
  335.  
  336.  
  337.  
  338. 1.1   INTRODUCTION
  339. __________________
  340.  
  341.    You'd like to scan through your system's memory space for
  342.    copyrights and other readable text, but either you don't have
  343.    the DOS DEBUG utility or you don't have the patience to use it.
  344.  
  345.    Even if you do, you'll still have to manually scan over many
  346.    screens of data to find all the text.
  347.  
  348.  
  349.  
  350.  
  351. 1.2   EXPLANATION
  352. _________________
  353.  
  354.    ScanM is designed for easily viewing the printable ASCII text
  355.    characters within your system's memory space, while filtering out
  356.    control (ASCII values below 32 decimal) and extended characters
  357.    (ASCII values above 127 decimal).
  358.  
  359.    ScanM displays any strings of standard ASCII characters that is
  360.    four or more characters in length.
  361.  
  362.    Strings found are displayed down the left side of the screen, one
  363.    string per line.  Spreading out the strings in this manner eases
  364.    the task of picking the real information out of the nonsense text.
  365.  
  366.    ScanM pauses at the bottom of each screen, to allow you to
  367.    continue scanning or to escape back to DOS.  The down-arrow
  368.    prompt indicates that more follows; press ESCAPE to terminate,
  369.    or any OTHER key to continue.
  370.  
  371.  
  372.  
  373.  
  374.  
  375. 1.3     SYSTEM REQUIREMENTS
  376. ___________________________
  377.  
  378.    PC, XT, AT or compatible.
  379.    DOS version 2.1 or later.
  380.    64K free memory.
  381.  
  382.  
  383.  
  384.  
  385. 1.3.1   INSTALLING
  386. __________________
  387.  
  388.    The program can be run from diskette or from hard disk.
  389.    No installation is necessary, other than copying the files
  390.    to a drive and directory of your choosing.
  391.  
  392.  
  393.  
  394.  
  395. 1.4   HELP
  396. __________
  397.  
  398.    Can't remember the command line syntax?
  399.    Issue the program's name without any parameters; it
  400.    will display a help screen, then return to the DOS prompt.
  401.  
  402.  
  403.  
  404.  
  405. 1.5   SYNTAX
  406. ____________
  407.  
  408.  
  409.       ScanM [[startSeg][:startOfs]] [[endSeg][:endOfs]]
  410.  
  411.  
  412.          Where...
  413.             startSeg = Memory segment to begin scan
  414.  
  415.             startOfs = Offset within segment to begin scan
  416.                         If not specified, defaults to 0000 hex.
  417.             endSeg   = Memory segment to end scan
  418.                         If not specified, defaults to FFFF hex.
  419.             endOfs   = Offset within segment to end scan
  420.                         If not specified, defaults to 000F hex.
  421.  
  422.          All parameters must be in hexadecimal (base 16).
  423.  
  424.  
  425.  
  426.  
  427. 1.6   EXAMPLES
  428. ______________
  429.  
  430.       ScanM F600          scans from F600:0000 to top of memory space
  431.       ScanM F600:A        scans from F600:000A to top of memory space
  432.       ScanM F600   F800   scans from F600:0000 to F800:0000
  433.       ScanM F600:A F800   scans from F600:000A to F800:0000
  434.       ScanM F600:A F800:C scans from F600:000A to F800:000C
  435.  
  436.       Top of memory space is physical location FFFFF hex (1,048,575
  437.       decimal).  The following logical addresses, among others,
  438.       point to the top physical address:
  439.  
  440.                         FFFF:000F
  441.                         FFF0:00FF
  442.                         FF00:0FFF
  443.                         F000:FFFF
  444.  
  445.       See the TECHNICAL NOTES section below for further explanation.
  446.  
  447.  
  448.  
  449.  
  450. 1.6.1   OPERATING SCREEN
  451. ________________________
  452.  
  453.    The operating screen appears whenever "ScanM" is issued from
  454.    the DOS prompt with a file specification; in this example,
  455.    the complete command line is:
  456.  
  457.             ScanM C800
  458.  
  459.    which scans the area beginning at the hard disk controller ROM.
  460.    The screen display is:
  461.  
  462.        __ScanM_______________________
  463.       |______________________________|
  464.  
  465.       Scan range C800:0000 to FFFF:000F
  466.                       \            \
  467.                     beginning     ending
  468.                     address       address
  469.  
  470.  
  471.       C800:08  (C) Copyright 1984 Western Digital Corporation
  472.       C81E:03  SQRUWV
  473.       C81F  \      \
  474.          \   \      Text string found at this address
  475.           \   Offset
  476.            \
  477.             Segment
  478.  
  479.    A running display of the segment being scanned is maintained
  480.    on screen; whenever a text string of 4 or more characters is
  481.    encountered, the starting offset and the string are displayed.
  482.  
  483.    Only a two-digit offset is displayed; SCANM keeps
  484.    it normalized within the range 00 through 0F hex.
  485.  
  486.  
  487.  
  488.  
  489. 1.7   SOME LOCATIONS TO SCAN
  490. ____________________________
  491.  
  492.    Long pauses between groups of text strings are normal when
  493.    scanning large areas of memory space; the area could contain
  494.    junk or program code, or might not have any RAM or ROM devices
  495.    assigned to it.
  496.  
  497.    For example, C800:0000 appears to be the standard location for
  498.    the first hard disk's controller ROM.  If your system does not
  499.    have a hard disk controller installed, then that area will
  500.    obviously not contain any intelligible text strings.
  501.  
  502.  
  503.       Memory map for some PC-Compatibles:
  504.  
  505.          Segment     Used for
  506.          -------     ---------------------------------------------
  507.           F000        ROM area - diagnostics, BIOS
  508.           E000        ROM area - usually empty
  509.           D000        ROM area - usually empty
  510.           C000        ROM area - hard disk controllers
  511.           B000        Display RAM (mono at B000, CGA at B800)
  512.           A000        Display RAM expansion (EGA)
  513.           9000        User RAM, high end
  514.           8000         .
  515.           7000         .
  516.           6000         .
  517.           5000         .
  518.           4000         .
  519.           3000         .
  520.           2000         .
  521.           1000         .
  522.           0000        User RAM, low end
  523.  
  524.  
  525.    USER RAM
  526.  
  527.       There's probably little reason, other than curiosity, to
  528.       scan the lower regions of the memory space for text strings.
  529.       The contents of RAM change depending on the program you are
  530.       currently running.
  531.  
  532.       The locations below segment address A000 will all contain
  533.       RAM, if you have 640KB of RAM installed; otherwise, some
  534.       of them will be empty.
  535.  
  536.  
  537.    DISPLAY RAM
  538.  
  539.       The display memory areas of A000 and B000 will contain RAM
  540.       only for the particular video adapter installed in your
  541.       system.
  542.  
  543.  
  544.    ROM AREAS
  545.  
  546.       Areas containing ROM (the system's "firmware") will contain
  547.       copyright notices and software version information from the
  548.       manufacturers who programmed that particular ROM.
  549.  
  550.       Typical ZENITH ROM areas
  551.       ------------------------
  552.       F800:0 thru FFFF:F  BIOS ROM                 ( 32K )
  553.       F400:0 thru F800:0  Reserved for ROM         ( 16K )
  554.       C800:0 thru C9FF:F  Hard disk controller ROM (  8K )
  555.  
  556.       Typical IBM ROM areas
  557.       ---------------------
  558.       FE00:0   BIOS ROM  (  8K )
  559.       F600:0   BASIC ROM ( 32K )
  560.       F400:0   Reserved 8K for ROM
  561.       E000:0   PCjr ROM packs
  562.       D000:0   "    "
  563.       C800:0   Hard disk controller ROM
  564.  
  565.  
  566.  
  567.  
  568. 1.8   TECHNICAL NOTES
  569. _____________________
  570.  
  571.  
  572. 1.8.1   SEGMENTED MEMORY ADDRESSING
  573.         ___________________________
  574.  
  575.    The Intel 8086/8088 devices can address a million (1024K)
  576.    physical memory locations.  The newer 80286 and 80386 devices
  577.    are limited to addressing the same number of locations when
  578.    operated in 8086 compatibility mode, also known as "real" mode,
  579.    under DOS version 3.0 and later.
  580.  
  581.  
  582.    Addressing a million locations requires 20 bits (2^20 =
  583.    1,048,576 decimal), but the internal registers of the
  584.    8086/8088 are only 16 bits wide.
  585.  
  586.    This shortage of bits is remedied by splitting up physical
  587.    memory addresses into segment addresses and offset addresses.
  588.    During program memory references, the contents of the segment
  589.    register are shifted left by four bits and added to the offset
  590.    to form a 20-bit memory address that can directly access 1024KB
  591.    of memory.
  592.  
  593.  
  594.  
  595. 1.8.2   ADDRESS CONVERSION - Logical to Physical
  596.         __________________
  597.  
  598.    Segmented (logical) address to 20-bit physical address...
  599.  
  600.       Multiply the Segment by 10 hex (same as shifting left by
  601.       one hex digit or four binary digits), then add the Offset.
  602.  
  603.       Example - Segment:Offset is FFFF:000F
  604.  
  605.          Multiply Seg by 10h      FFFF x 10 = FFFF0
  606.          Add Offset                         +  000F
  607.                                              --------
  608.          Resulting 20-bit address is          FFFFF.
  609.  
  610.  
  611.  
  612. 1.8.3   ADDRESS CONVERSION - Physical to Logical
  613.         __________________
  614.  
  615.    20-bit physical address to Segmented address...
  616.  
  617.       Offset:
  618.          Pick any convenient value.  The offset can be up to
  619.          four hex digits (16 bits), so it can range from 0000
  620.          to FFFF.  However it can't be larger than the physical
  621.          address, and its LSD (least-significant digit) should
  622.          be the same as the LSD of the physical address for
  623.          this nefarious scheme to work correctly.
  624.  
  625.       Segment:
  626.          Subtract the offset from the physical address, then
  627.          divide the result by 10 hex.
  628.  
  629.       Example - physical address is FFFFF
  630.  
  631.          Select an offset of FFFF
  632.          Subtract the offset
  633.             from the phys.address   FFFFF - FFFF = F0000
  634.          Divide the above
  635.             result by 10 h          F0000 / 10   =  F000
  636.          Result is F000:FFFF
  637.  
  638.       Notice that a given physical address may convert to
  639.       various segmented addresses, depending on the offset
  640.       chosen.  The following logical addresses all point to
  641.       physical address FFFFF.
  642.  
  643.                FFFF:000F
  644.                FFF0:00FF
  645.                FF00:0FFF
  646.                F000:FFFF
  647.  
  648.  
  649.  
  650.  
  651. 2.0   VERSION HISTORY
  652. _____________________
  653.  
  654.    1.00  Initial release.
  655.  
  656.  
  657.  
  658.  
  659. _________________________________________________________________
  660.  
  661. 9.0            Support
  662. _________________________________________________________________
  663.  
  664.  
  665.  
  666.  
  667. 9.1   PROBLEM RESOLUTION
  668. ________________________
  669.  
  670.    Please document and report any anomaly in program operation,
  671.    whether it's a genuine "bug" or just some feature of the
  672.    program that particularly "bugs" you.
  673.  
  674.    If you're the first person to document and report a problem
  675.    that we agree needs attention, you'll receive a free upgrade
  676.    with the correction when it's been made.  If you're a
  677.    registered user, you'll get the upgraded registered version;
  678.    if you haven't yet registered, you'll get the upgraded
  679.    evaluation version.
  680.  
  681.  
  682.  
  683.  
  684. 9.2   BEFORE REPORTING
  685. ______________________
  686.  
  687.    Things to try prior to reporting a problem:
  688.  
  689.       1 - Reread the documentation to make sure you understand
  690.           what we thought we understood when we wrote it.
  691.  
  692.       2 - If the system reports "Bad command or file name" when
  693.           you attempt to run the program, its executable file
  694.           (or at least the file name you specified) was not found.
  695.  
  696.           First, make sure no typos or misspellings have crept
  697.           into your command line; next, try changing your PATH
  698.           setting, or make the drive & directory where the program
  699.           resides the "current" drive & directory.
  700.  
  701.       3 - If the program is being run from a batch file, try
  702.           deleting lines previous to the line that actually
  703.           invokes the program, to see if some prior activity
  704.           is causing the problem.
  705.  
  706.       4 - If you have any memory-resident or "TSR" utilities
  707.           installed (pop-up calculators/note pads, keyboard
  708.           enhancements, etc.), try removing them from memory
  709.           and running the program again to see if the problem
  710.           reoccurs.
  711.  
  712.  
  713.  
  714.  
  715. 9.3   REPORTING A PROBLEM
  716. _________________________
  717.  
  718.    If the problem persists, please document it as completely and
  719.    accurately as possible; we have to be able to duplicate it
  720.    before we can begin to resolve it.
  721.  
  722.    Include at least the following:
  723.  
  724.       1 - Version of DOS you are using.
  725.       2 - Machine type, drives, memory, etc.
  726.       3 - Programs executed prior to the problem.
  727.       4 - Problem program's name and version number.
  728.       5 - Where and how you obtained the problem program.
  729.       6 - Address and/or phone number where you can be contacted.
  730.       7 - Anything you can think of that might relate to the problem;
  731.           for example, listings of your AUTOEXEC.BAT and CONFIG.SYS
  732.           files, or any batch files used to run the program.
  733.       8 - Any relevant printouts.
  734.  
  735.  
  736.    NOTE: If you're a registered user, you'll find the utility
  737.          UserResp.Exe on the distribution diskette; it can be used
  738.          to print a pre-addressed mailer and a problem report.
  739.  
  740.          If you have not yet registered, send problem reports to the
  741.          address below (or print the pre-addressed mailer from the
  742.          Evaluation Menu).
  743.  
  744.  
  745.  
  746.  
  747. 9.4   CUSTOM MODIFICATIONS
  748. __________________________
  749.  
  750.    If you need custom modifications to this software for your
  751.    particular application, please write to the below address
  752.    with complete details of your requirements.
  753.  
  754.  
  755.  
  756.  
  757. 9.5   CORRESPONDENCE
  758. ____________________
  759.  
  760.    We welcome any comments or suggestions you might have
  761.    concerning improvements and future enhancements to this
  762.    product.  Send all correspondence to:
  763.  
  764.              Phil Herron
  765.              P.O. Box 1288
  766.              Battle Ground, Washington  USA  98604
  767.  
  768.  
  769.  
  770.  
  771. _________________________________________________________________
  772.  
  773. 10.0           Product Catalog
  774. _________________________________________________________________
  775.  
  776.  
  777.    This section contains a list of products available or near
  778.    completion as of this release date; it will be updated
  779.    whenever new products are added.
  780.  
  781.  
  782.  
  783.       ChkD     - Drive  Total/Free/Used report by value & percent
  784.       ChkM     - Memory Total/Free/Used report by value & percent
  785.       CleanOut - Selective file deletion, with confirmation
  786.       CleanTxt - WordStar to Ascii convert, ctrl char strip, tab expand
  787.       CleanZ   - Ctrl-Z End Of File char strip or replace
  788.       FindF    - Find File(s) in any directory of current drive
  789.       Gen      - Generate files for testing printer, storage or timing
  790.       KeySet   - CapsLock-NumLock-ScrollLock-PrtSc key setup
  791.       PrinTest - Parallel Printer Test & Status reporting
  792.       Qscn     - Convert text to executable file for Quick Screen display.
  793.       ScanF    - Scan File   for text strings
  794.       ScanM    - Scan Memory for text strings
  795.       Split    - File splitter
  796.       StoRm    - STorage RooM needed for files on any disk/any DOS ver.
  797.  
  798.  _______________________________________________________________
  799. |                                                               |
  800. |        COPYRIGHT 1989 Phil Herron.  ALL RIGHTS RESERVED.      |
  801. |_______________________________________________________________|
  802.