                                       MT, v2.2
                         Model 4/4P/4D Memory Tester Utility
              Copyright (c) 1989 by Shane Dawalt.  All Rights Reserved.


            MT  will test all known RAM in the TRS-80 Model 4/4P/4D  computer 
          systems  running under any TRSDOS/LS-DOS  version.   The  following 
          tests are performed (in the order given):

               Main core
               Low core
               Banks (if installed)
               Video
               Graphics board (if installed)

            RAM is tested for storage ability,  NOT execution ability.   Bank 
          autodetection  will  work  correctly  as  long  as  the  banks  are 
          accessable through standard DOS service calls (XLR8er modifications 
          are known to work with this program).  MicroLabs and Tandy graphics 
          boards will be autodetected and tested accordingly.   The formatted 
          screen  will  show testing progress plus  other  information.   RAM 
          error  testing  activities may be programmed by the user  from  the 
          command line.


          RAM SECTION NAMES
          =================
            Memtest uses names for any given RAM section.  The following list 
          shows  the RAM section names used by Memtest and the address  range 
          which is included within the RAM section.

          Section        Usage                              Address Range
          =============  =================================  =============
          LOW CORE       TRSDOS/LS-DOS and major system     0000H - 2FFFH
                         drivers plus operating system
                         services.

          MAIN CORE      Normal area for execution of       3000H - 7FFFH
                         applications.

          BANK           A 32K byte area of RAM mapped      8000H - FFFFH
                         by the hardware into the upper
                         32K above MAIN CORE.  Used by
                         RAMDisk drivers as well as some
                         applications.

          VIDEO          2K area used to for the video      F800H - FF7FH
                         screen.  Is mapped into the
                         upper 4K area of BANK 0 by the
                         hardware.

          GRAPHICS       A separate area of memory which    Tandy:
                         is accessed via I/O ports. Used    0/0 - 127/255
                         to store a full screen image of
                         graphics data.                     MicroLabs:
                                                            0/0 - 79/255
          =================================================================

          PROGRAM EXECUTION
          =================
            The MT command line syntax is:

          mt [-sw][-sw]...

            All  switches  are optional.   Switches always start with  a  '-' 
          directly  preceeding the switch name.   Switch names may be  upper-
          case,  lowercase  or a combination of both.   Switch names  may  be 
          abbreviated to whatever level if the resulting name is  unambiguous 
          (i.e.  two  or  more  switches  have the  same  at  that  level  of 
          abbreviation).   In this version,  all switches may be qualified by 
          their first letter.  Spaces are not needed between switches.  Legal 
          switches are:

          ====================================================================
          Switch & Syntax     Function
          ---------------     ------------------------------------------
          -PR                 Enable printer output of test information

          -FERR               ERROR CRITERIA: Select First Error exit

          -CONT               ERROR CRITERIA: Select Continuous test
                              (no exit on error)

          -SKIPP              ERROR CRITERIA: Skip patterns on an error

          -ALLP               ERROR CRITERIA: Test all patterns regardless
                              of error condition

          ====================================================================

          Examples of valid MT execution command lines are:

          MT<ENTER>
            Does testing with all test reports being displayed on-screen

          MT -PR<ENTER>
            Does testing with test reports being displayed on-screen and to
            the printer

          MT -P-F-SKIPP<ENTER>
            Tests with reports displayed on-screen & to the printer.  Tests
            exit on first error and all patterns not tested are skipped.

          MT -C-S<ENTER>
            Tests with reports displayed on-screen.  All locations in current 
          test are tested.   If an error occurs,  all patterns not tested are 
          skipped.

          The  default setting for the Exit Criteria defaults  to  continuous 
          test with all patterns.


          TESTING ALGORITHM
          =================
            Each RAM cell is tested with a table of 4 patterns contained with 
          MT.  These patterns are (in the ordered tested): 00H, 55H, AAH, FFH 
          in  hexidecimal  notation.   When a cell  test  begins,  the  first 
          pattern  is  tested.  If no errors occur,  the  second  pattern  is 
          tested.   If  no  error occurs after the last  pattern  is  tested, 
          screen status is updated and the next RAM cell is addressed for the 
          test.

            If a RAM cell fails a test, Memtest determines the next action to 
          be  taken  by examining the Exit Criteria which may be set  by  the 
          operator from the command line.


          EXIT CRITERIA
          =============
            If a RAM cell tests flawed, it could be a data bus problem, or it 
          could be a hardware selection problem.  Still, it could be that the 
          RAM chip has actually "bit-the-dust".   The Exit Criteria allow you 
          to set the exit condition for RAM tests.   The switches were  given 
          in the PROGRAM EXECUTION section as well as a description of  their 
          effect on Memtest.   You may control the table pattern flow  and/or 
          the  test  termination  condition.   That is,  you  may  force  the 
          untested  patterns  to  be skipped OR you  may  test  all  patterns 
          regardless  of an error condition.   In a similar manner,  you  may 
          specify  if  the  current test is to  be  exited  immediately  upon 
          detection of an error OR if all RAM in the section should be tested 
          regardless of an error condition.


          THE SCREEN
          ==========
            The  screen  information  is  segregated  into  the  following  6 
          sections:

          TEST  SWITCHES  - Displays status of Exit Criteria  and  any  other                                       
                            switches.

          SYSTEM SETUP    - This area shows the system environment as it  was                   
                            auto-detected.

          TEST QUEUE LISTING - The listing of tests yet to be executed.  This
                               list is dual columned and scrolls if more than
                               one column is showing. (128 tests may be
                               queued at one time.)

          TESTING STATUS  - Shows the progress of the current test.

               TEST RUNNING : Section of RAM currently being tested.  If a
                              graphics board is being tested, the graphics
                              board type is listed behind the test name.
                              (T) for Tandy board and (ML) for MicroLabs.

               RANGE        : Address of RAM currently being tested.  When
                              testing RAM, the addresses will be displayed in
                              hexidecimal.  When testing the graphics board,
                              the information will be given in decimal and
                              will be of the form "ROW/COLUMN - ROW/COLUMN".
                              Where the first group is start and the last
                              group is finish.

               POSITION     : A pseudo-current location pointer.  This is
                              updated every 2K bytes when testing RAM and
                              every 16 horizontal lines when testing the
                              graphics board.  

               PRINTER      : Shows the four printer status conditions.
                              The printer is continuously monitored by
                              MT, therefore, these conditions will change as
                              required during the course of testing.  For
                              more information, refer to PRINTER OUTPUT
                              section.

          ERROR COUNT TOTAL : Number of errors found during the previous RAM
                              section test.  This is updated AFTER each test. 

          ERROR INFORMATION : "Error Report" generated when an error occurs
                              during a test.  Refer to ERROR REPORT for more
                              information on the Error Report format and
                              interpretation.

          GENERAL AREA      : The bottom of the screen (where the  message
                              "<BREAK> to abort testing" resides) is a  gene-
                              ral purpose area.   Internal Error messages are 
                              displayed here as well as Printer and BREAK key 
                              alerts.

          ERROR REPORT
          ============
            An error report consists of four elements, each described below:

          i) ADDRESS:
            This   is the address where the error occured.    This  uses  the 
          standard   method   of  displaying   RAM/Graphics   board   address 
          information as noted above in RANGE.

          ii) TEST PATTERN:
            A  2  digit hexidecimal representation of the test  pattern  used 
          when  the  error was generated.    This is from the  internal  test 
          pattern table.

          iii) RETURNED PATTERN:
            A  2  digit  hexidecimal representation  of  the  recovered  data 
          directly from the memory location identified by ADDRESS.

          iv) BITS:
            This is an 8 character long area which uses numbers to denote bit 
          positions.   This  field follows the standard convention where  the 
          most significant  bit  (7th bit) is  on the left most side  of  the  
          binary   representation.   The  0th bit will be on the  right  most 
          side.  If all bits were in error, the following would be displayed:

                                        BITS: 76543210

            Bits  which are  not in error do not  have   their  corresponding 
          number  displayed  in  the BITS field.  For example, assume  a  RAM 
          location  had bits 0,  1, 5, and 7 in error.  The BITS field  would 
          display this as:

                                        BITS: 7 5   10



          QUITING/EXITING MT
          ==================
                After  the  test queue is exhausted OR the  user  aborts  all 
          tests,  MT  returns to DOS.   Original system functioning  will  be 
          restored and a reboot will not be necessary.   Memory integrity  is 
          saved in the sections being tested,  even the graphics board.  This 
          means  a RAMDISK may be active during MT operation and will not  be 
          effected adversely.

               To terminate Memtest before all tests are concluded, press the 
          BREAK key to get Memtest's attention.   (This key is sampled  every 
          .2  or .3 seconds so a simple tap of the BREAK key may not  produce 
          the  desired response.)  When acknowledged,  a BREAK alert will  be 
          displayed in the screen's general area.  Basically, three keys will 
          be active (four if you are splitting hairs): <N> will terminate the 
          current  test  and  continue to the  next  queued  test,  <C>  will 
          continue with the current test,  and <T> or <BREAK> will  terminate 
          MT completely.


          PRINTER OUTPUT
          ==============
            If this option is enabled by the -PR command line switch, printer 
          output is generated for all queued tests.   MT must be termined  to 
          halt printing.   Be sure the printer is set up before running  this 
          program with the -PR switch.

            The   hardcopy   format  will  display  these  four   pieces   of 
          information:

               Test running:
               Range:
                  .
                  .  Any error reports generated
                  .
               Error count:


            Error reports will be of the form described in ERROR  INFORMATION 
          above.  A blank line will seperate each test.  Memtest will not use 
          form feeds.

            If a printer error occurs,  the PRINTER status field will display 
          *ERROR*.  See the table below for more information about the status 
          values taken on by the PRINTER status field.   If the error can  be 
          corrected  on-the-fly,  correct the error and press  <ENTER>.   The 
          line which caused the error will be reprinted and the testing  will 
          resume.   If  the  error cannot be fixed,  press <BREAK>  to  abort 
          testing.

            MT honors device filtering/linking/routing.   Therefore, *PR (the 
          printer  device)  may be routed to any other device  or  file.   If 
          routed to a file, be sure there is enough room on the drive just in 
          case errors are generated.

          IMPORTANT:
          MT uses the system services to dump output to the  printer.   While 
          this is occuring,  the 'DUMPING' status is displayed in the PRINTER 
          status field.  If an error is detected, the system will hang for 10 
          seconds.  During this time, the BREAK key will not respond.


          STATUS         MEANING
          ===================================================================
          DISABLED       Printer option not requested by operator.

          ENABLED        Printer option selected.  Printer will produce
                         hardcopy.

          DUMPING        Program is waiting on system services to dump data
                         to the printer device.

          *ERROR*        System services returned an error condition after
                         the last attempted data dump.
          ===================================================================
                                    PRINTER status table


          BUGS n' SUCH
          ============
          NOTICE:
          MT disables the Real Time Clock during testing.  The clock will not 
          be accurate after testing.

            MT has an internal error handler which tests some internal  info.  
          If  things are not right,  MT lets you know about  them.   Internal 
          error  messages  are will be displayed in the General Area  of  the 
          display.  Most are harmless and will do nothing more than scrap the 
          current test and go to the next test.   There is one internal error 
          which  will  halt your computer.   This is due to  MT  trapping  an 
          illegal  address which signals possible corruption of  your  in-RAM 
          operating  system.   To  keep problems from occuring  on  disk,  MT 
          forces you to reboot your machine.

            Before rebooting or allowing the test to terminate,  please  copy 
          the  "namecode"  and  "problem description" and send  them  to  the 
          author at the address (or CIS account number) listed below.

            The syntax of an Internal Error is:

          INTERR:  (namecode) problem description     action taken

            Send comments, questions, suggestions and/or bug report(s) to:

                    Shane Dawalt
                    Compuserve Information Service ID: 71076,511
                    EMAIL or LDOS marked message accepted


                                   Shane Dawalt
                                   03 July 1989

.
...................................
.                                 .
.    Downloaded in 1989 from:     .
.                                 .
.      ********************       .
.      *     8/N/1 #1     *       .
.      *   904/377-1200   *       .
.      * Gainesville, FL  *       .
.      * Guy Omer - SYSOP *       .
.      ********************       .
.                                 .
. Software support for the TRS-80 .
...................................
