






                    __________________________________________________
                                          T H E 
                                        M O D E M
                                       D O C T O R
                                    Version 7.0S / 7.0R
                  Hank Volpe copyright 1989,1990,1991,1992,1993,1994, 1996
                                      P.O. Box 43214
                                    Baltimore MD 21236      
                    __________________________________________________


     What's New  . . . . . . . . . . . . . . . . . . . . . . . . .    Page 4

     Forward . . . . . . . . . . . . . . . . . . . . . . . . . . .    Page 5

     Section 1. Introduction . . . . . . . . . . . . . . . . . . .    Page 7

     Section 2. Starting MDR . . . . . . . . . . . . . . . . . . .    Page 9
          The /B switch  . . . . . . . . . . . . . . . . . . . . .   Page 10
          The /D Switch  . . . . . . . . . . . . . . . . . . . . .   Page 10
          The /E switch  . . . . . . . . . . . . . . . . . . . . .   Page 10
          The /Q switch  . . . . . . . . . . . . . . . . . . . . .   Page 10
          The /S switch  . . . . . . . . . . . . . . . . . . . . .   Page 11
          The /X switch  . . . . . . . . . . . . . . . . . . . . .   Page 11
          The /F switch  . . . . . . . . . . . . . . . . . . . . .   Page 11

     Section 3. First Time Setup . . . . . . . . . . . . . . . . .   Page 12
          A. Test Modem/ Uart      . . . . . . . . . . . . . . . .   Page 14
          B. Uart Tests  . . . . . . . . . . . . . . . . . . . . .   Page 17
          C. Return to main menu . . . . . . . . . . . . . . . . .   Page 18

     Section 4.0 The Main Menu . . . . . . . . . . . . . . . . . .   Page 18
          4.01 Hot-Key selection   . . . . . . . . . . . . . . . .   Page 18
               ALT-F . . . . . . . . . . . . . . . . . . . . . . .   Page 19
               ALT-T . . . . . . . . . . . . . . . . . . . . . . .   Page 19
               ALT-H . . . . . . . . . . . . . . . . . . . . . . .   Page 19
          4.1 Login In Comm ports  . . . . . . . . . . . . . . . .   Page 19
          4.11 What do IRQ's and COMM Ports do ? . . . . . . . . .   Page 20
          4.12 Port assignments and their meaning  . . . . . . . .   Page 20
          4.13 Testing defective Ports   . . . . . . . . . . . . .   Page 22
          4.2 Regs       . . . . . . . . . . . . . . . . . . . . .   Page 23
               Line Control Register . . . . . . . . . . . . . . .   Page 24
               Line Status Register  . . . . . . . . . . . . . . .   Page 25
               Modem Control Register  . . . . . . . . . . . . . .   Page 26
               Modem Status Register . . . . . . . . . . . . . . .   Page 27
               Interrupt ID Register . . . . . . . . . . . . . . .   Page 28
               Interrupt Enable Register . . . . . . . . . . . . .   Page 30
               Interrupt Mask Register . . . . . . . . . . . . . .   Page 31














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


               Interrupt Mask Register . . . . . . . . . . . . . .   Page 31
          4.30 Handshaking tests . . . . . . . . . . . . . . . . .   Page 32
          4.30A S-Register Displays  . . . . . . . . . . . . . . .   Page 33
          4.31 Carrier Tests   . . . . . . . . . . . . . . . . . .   Page 34
          4.31 Modem Driver Modules  . . . . . . . . . . . . . . .   Page 34
          4.32 Types of Carrier Tests  . . . . . . . . . . . . . .   Page 36
          4.33 AT Instruction Set Tests  . . . . . . . . . . . . .   Page 36
          4.34 Uart or Dumb Modem Tests  . . . . . . . . . . . . .   Page 37
          4.35 Error Messages  . . . . . . . . . . . . . . . . . .   Page 38
          4.36 IRQ Failures  . . . . . . . . . . . . . . . . . . .   Page 39
          4.38 Burst Mode Tests  . . . . . . . . . . . . . . . . .   Page 39
          4.4 Loopback Tests . . . . . . . . . . . . . . . . . . .   Page 41
          4.41 Loopback Test Error messages  . . . . . . . . . . .   Page 43

     4.42 Burst Mode Tests . . . . . . . . . . . . . . . . . . . .   Page 43

     4.5 Options Mode  . . . . . . . . . . . . . . . . . . . . . .   Page 45
          4.51 Interactive Mode  . . . . . . . . . . . . . . . . .   Page 45
               ALT-B . . . . . . . . . . . . . . . . . . . . . . .   Page 45
               ALT-C . . . . . . . . . . . . . . . . . . . . . . .   Page 45
               ALT-N . . . . . . . . . . . . . . . . . . . . . . .   Page 45
               ALT-R . . . . . . . . . . . . . . . . . . . . . . .   Page 45
               ALT-H . . . . . . . . . . . . . . . . . . . . . . .   Page 46
               ALT-X . . . . . . . . . . . . . . . . . . . . . . .   Page 46
          4.51A Testing for Interrupt Latency  . . . . . . . . . .   Page 46
          4.51B View Fax Mode Settings . . . . . . . . . . . . . .   Page 47
          4.52 View Current Statistics . . . . . . . . . . . . . .   Page 47
          4.53 Print Current Statistics  . . . . . . . . . . . . .   Page 47
          4.54 Reset Current Statistics  . . . . . . . . . . . . .   Page 47
          4.55 Generate MDRD Windows File  . . . . . . . . . . . .   Page 48
          4.6 Setup Mode . . . . . . . . . . . . . . . . . . . . .   Page 49
               Mdr Color Selection Screen  . . . . . . . . . . . .   Page 49
          4.7 Exit Program . . . . . . . . . . . . . . . . . . . .   Page 50

     5.0 Error Messages and their Meanings . . . . . . . . . . . .   Page 51
          General Program Errors or Warnings . . . . . . . . . . .   Page 51
          Setup Mode Diagnostics . . . . . . . . . . . . . . . . .   Page 52
          Uart diagnostics . . . . . . . . . . . . . . . . . . . .   Page 56
          Report Generator Messages  . . . . . . . . . . . . . . .   Page 57
          Static DTR/DSR   RTS/CTS . . . . . . . . . . . . . . . .   Page 57
          Carrier and Dynamic tests  . . . . . . . . . . . . . . .   Page 58
          General program warnings . . . . . . . . . . . . . . . .   Page 60


                                      Page 2














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     Section 6. Special Modes and Information  . . . . . . . . . .   Page 64
          6.1 Using Modem Drivers  . . . . . . . . . . . . . . . .   Page 64
               6.11 External Modem Drivers . . . . . . . . . . . .   Page 65
          6.2 Using the Command Line Mode switch /S  . . . . . . .   Page 65
          6.3 Using the Hot-Keys   . . . . . . . . . . . . . . . .   Page 67
               ALT-B Change Baud rate  . . . . . . . . . . . . . .   Page 67
               ALT-C Clear Screen  . . . . . . . . . . . . . . . .   Page 68
               ALT-F Force Microprocessor  . . . . . . . . . . . .   Page 68
               ALT-H Help  . . . . . . . . . . . . . . . . . . . .   Page 68
               ALT-R Register Display  . . . . . . . . . . . . . .   Page 68
               ALT-X Exit Mode . . . . . . . . . . . . . . . . . .   Page 68
               Control -Break  . . . . . . . . . . . . . . . . . .   Page 68
          6.4 Logging in Defective Ports   . . . . . . . . . . . .   Page 69
          6.5 What tests cannot Do . . . . . . . . . . . . . . . .   Page 69
          6.6 Quirks with Some Modems  . . . . . . . . . . . . . .   Page 70
          6.7 Buffered vs Direct Connect Modems  . . . . . . . . .   Page 71
          6.8 Using Digiboard Serial Ports . . . . . . . . . . . .   Page 72
          6.9 Running Modem Doctor under Windows 3.1 . . . . . . .   Page 74
          6.91 Modem Doctor for Windows  . . . . . . . . . . . . .   Page 74
          6.92 Running Modem Doctor on Networks  . . . . . . . . .   Page 75

     Section 7. Benefits of Registration . . . . . . . . . . . . .   Page 75

     Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . .   Page 76

     Disclaimer  . . . . . . . . . . . . . . . . . . . . . . . . .   Page 76

     Modem Doctor History
     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   Page 77


     All of  the documentation  text contained in  this file  is copyrighted
     1989-1994 by  Hank Volpe. This  file is the technical  reference manual
     that accompanies the Modem Doctor. This manual has been written for the
     expert user who  would like to  have background information on  how the
     Modem  Doctor conducts  its various  tests. It  also catalogs  the many
     error messages and their meanings,  explains some of the mnemonics used
     in testing, and  contains a brief history of the  different versions of
     the  program.  Distribution  of  this text  without  the  Modem  Doctor
     shareware version and its support files is prohibited by the author.




                                      Page 3














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe



                      -------------------------------------------
                         What's New in Modem Doctor Version 7.0
                      -------------------------------------------

     For  those of you familiar  with Modem Doctor, here  is a brief look at
     the improved and added features of version 7. If you are new to Modem
     Doctor, take a look at the users manual file (MDRFIRST.TXT) that
     accompanies your Modem Doctor package.

      1) Adds Modem "SNOOP" feature that detects active devices attached 
         to your serial port.
      2) Generates a Windows-type .INI file (MDRD.INI) which can be used
         stand alone or together with Modem Doctor for Windows. 
      3) Improved comm buffer communication routines. Handles modems that
          send NULL characters for delays
      4) Updated internal driver table now supports modems with speeds
          up to 115.2kbps.

     In addition to these new features, existing commands have been enhanced
     or   rewritten  to  accommodate  the  changing  technical  features  of
     contemporary hardware.

      1) Improves 16550AFN tests. Buffers are tested 14 levels deep (instead
         of 8) in both normal and new "burst mode" tests.
      3) Tests for FAX modems, indicates Fax Group and Class.
      4) Increase Baud Rate to 115200 in registered version.
      5) Diagnostic Toggle mode for DTR and RTS signals, helpful in finding
          bad cables or missing signals in cables.
      6) Burst and Signature Rate Tests for Analog loop and Carrier.
      7) Support for DIGIBOARD Comm ports via the Digiboard Driver.
      8) Improve FOSSIL throughput routines.
      9) Detects AT, PS-2 and Dual Bus Computers, Supports Dual 8259 PIC's.
     10) Support for Digiboard Intelligent Serial ports that use Digiboard's
         TSR comm port driver. Modem Doctor can test and support up to 4
         boards with a maximum of 16 serial ports on each board.
     11) Manual Login feature active in both shareware and registered
         versions.
     12) New /E switch to accommodate older display adapters (IBM 8541's)
         that use Com4's address as a video display adapter address.
     13) Improved interrupt stack routines for PS/2 machines.
     14) Support for 33.6kbps modems.
     15) Improved uart hardware I/O routines.

                                      Page 4














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     16) Default startup mode uses polled TX operations. Some uarts in
         inexpensive modems have a well-know defect detected by Modem Doctor
         and other communication program authors that cause transmit
         interrupt problems. You can change this selection with the ALT-T
         command at any time.
     17) Accommodations for BOCA modems with non-standard uarts. The Line
         Status registers of most uarts are meant to be read only except for
         bit 1. In the BOCA uarts, all bits are read/write, causing
         communication lockups. Uart routines in Modem Doctor have been
         changed to work with this problem.

     Thanks to many fine people that participated in the beta testing, Modem
     Doctor is a better program today than in any previous version. To these
     people go  my thanks  for helping  improve the  program and  make me  a
     better programmer.

     Forward
     -------
     Welcome to the Modem Doctor.  This documentation along with the program
     is a good source  of information about how Uarts and  Serial Ports work
     with modems in your Personal Computer.
              
     There are two versions of the Modem Doctor;  The shareware version 7.0S
     and the registered Version 7.0R. There are some differences between the
     two.   Both   however  are   full-functioned  diagnostics   tools.  The
     differences between the  two are as follows;
              
              Version 7.0S supports speeds to 2400 bps
              Version 7.0R supports speeds to 115,200 bps
              Version 7.0S does not include the Digital or the Analog 
                Loopback testing, or any of the dynamic handshaking tests 
                supported in version 7.0R, or the /s or /x  command-line 
                modes of operation.

     The  remaining 65+  tests of your  modem and  uart system  hardware are
     fully functional. Although many people register for the higher DTE baud
     rates,the  shareware version  of Modem  Doctor  is just  as capable  at
     detecting your problems  as the registered  version. The higher  speeds
     and uart tests serve as incentives for you to register your copy. 
     Modem Doctor  has been featured  in many reviews  and included  in many
     technical manuals. You can find background information in; 



                                      Page 5














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe



            Killer PC Utilities                     QUE
            Upgrading and Repairing PC's            QUE
            Modems Made Easy                        Bantam
            PC-Secrets                              IDG Books
            Dos 6.0 Powertools                      Bantam

     Reviews of early versions of Modem Doctor can be found in many national
     computer columns and also in many publications. The two best known are
     PC-World and the German weekly "Der Speigel". 

     The best way to find out about Modem Doctor and Modem Doctor support 
     is our BBS. We're up and running 24hrs a day at 410-256-3631. There are
     hundreds  of hard-to-find communication  utilities and free  advice for
     those who  call. The BBS  is free to  all who  call, no fees  or upload
     requirements. The  BBS, and improvement  to Modem Doctor  are supported
     totally by those who register. I sincerely wish Modem Doctor could be a
     full time occupation,  but the reality is that Modem Doctor is a labor-
     of-love. This is why I appreciate your support of the program. It makes
     communication problems simpler for all  who are just setting forth into
     Cyberspace.  This  documentation  covers  both  versions,  however  the
     feature differences above are provided for your  reference. This manual
     is  provided as a  technical reference for advanced  users or for those
     wishing to  get more  background information on  tests. For  first time
     users  I would  suggest reading  the Getting  started Manual  text file
     MDR7FST.TXT, which is a  little more basic in its approach.  If you are
     using the  shareware version and  wish to  order, please use  the Order
     form  included  with  this  package  or  see  Section  7,  Benefits  of
     registration  at the end of this  documentation. You can always get the
     latest version of Modem Doctor from the Modem Doctor BBS (410-256-3631,
     24 hrs, speeds to 28.8kbps). 













                                      Page 6














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     Section 1. Introduction - 
     ------------------------- 
     The Modem  Doctor is  a professional diagnostic  tool designed  to work
     with  IBM-PC's and  compatibles. There  are two  versions of  the Modem
     Doctor,  the  shareware   version  and  the  registered   version.  The
     registered  version of the  Modem Doctor contains  complete diagnostics
     for  8250-B,  8250-A,  16450,16550, 16550A(x),  and  compatible  Uarts,
     RS-232  data lines,  and carrier  tests.  Some of  the many  diagnostic
     features of the registered version are;            
      **  Support for COM 1 through COM 8 using system IRQ's 2,3,4,5 or 7.
      **  Baud Rates from 300 to 115200 bps
      **  Support for Courier HST/Dual Standard/V.32 Modems [+],
          US Robotics Sportster, V.34 28.8kbps modems,
          Hayes 1200, 2400, Ultra and V9600 series Modems [+*],
          Hayes 28.8kbps Optima modems, ZyXEL E, E+, Practical Peripherals, 
          Intel, and Sierra Semiconductor modems. A Generic Driver 
          is provided for all others.
      **  Auto-detection of modems that use &T0 (CCITT V.54) diagnostics
      **  Auto log-in of COMM ports 1 - 4 to DOS for use by other programs.
      **  Manual log-in of up to 8 COMM ports for non-standard hardware,
          including those with defective Uarts (on manual selection). 
      **  On-screen display of all 8250 /16450/ 16550 Uart registers.
      **  On-screen display of modem S-Registers.
      **  Full Diagnostic tests of Uart and RS-232 Channels including;
            -- ALL Uart registers.
            -- ALL RS-232 handshaking Signals.
            -- 8259 Interrupt Controller mask registers 
               including dual-pic environments.
            -- Digital loopback Uart tests including chips with Tri-stated 
               OUT2 signals.
            -- Analog loopback data tests.
       **  Full diagnostic checks of "AT" instruction set modems;
            -- Carrier tests on both originate and answer frequencies.
            -- Carrier test interface for "dumb" modems or data channels.   
            -- Burst mode tests that stress modulation requirements and
               measure system throughput.
            -- Modem microprocessor command channel diagnostics.
            -- Support for high speed modems.           
            -- Support for modems that use the alternate &T0 self test mode.
            -- Dynamic simulated on-line testing of RTS/CTS and XON/XOFF 
               handshaking.
            -- Static DTR/DSR and RTS/CTS uart handshaking tests.
            -- Ability to display any S-Register pairs

                                      Page 7














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


       **  Interactive Mode with 16K communications buffer for;    
           -- TTY mode interactive communications over serial port or modem 
               while on-line.
           -- Interrupt latency test, you can use this to determine if your
              display adapter is too slow for your high-speed modem.
           -- Custom designed tests...help menu included.
           -- On-line "Hot-key" viewing of 8250 Uart registers.
       **  Hot-Keys for selecting the baud rate, to force a modem
              microprocessor test mode, and to enable/disable transmitter
              driven interrupts.
       **  User Selection of modem drivers. Like printer drivers, these
              software modules add more selections and more test capability
              to The Modem Doctor. 
       **  Ability to use external modem drivers. External modem drivers
              make it possible to add special modems that might not use
              standard AT conventions to the Modem Doctor without you having
              to update to a new version of the program.
       **  Built in report generator that displays the results of all tests
              run on all serial ports and modems. Report can be printed at
              any time and reset at any time by the user. 
       **  Status bar that continuously displays the port, speed,
              microprocessor status, Transmitter Interrupt enable status
              and modem driver selections.
       **  User defined Colors for all screens
       **  Compatibility with mouse drivers. Mouse drivers also properly
               enabled after exiting Modem Doctor.
       **  Command Line Mode interface for setting up a modem to an
               initialization string contained in a user created file;
          -- A small text file contains the port (and optional address), the
            speed, and the string to send to the modem. Any text editor can
            create the file at any time!
       **  Automatic detection of incorrect Com1 and Com2 port assignments,
           IRQ assignment errors, missing IRQ signals, and missing handshake
           signals.

     The Modem Doctor and all of its documentation is copyrighted by Hank
     Volpe. The shareware version of this program may be distributed on
     not charged for its duplication or acquisition (except for BBS systems
     that charge a user fee for system access). 

     Important for Shareware Distributors. Like version 6.0, version
     7.0 can be freely distributed  via these channels. The only requirement
     that  I  absolutely insist  upon is  that you  mail us  a copy  of your

                                      Page 8














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     catalog for  our files and that you encourage  users of your service to
     register this and all other shareware that you distribute.

     Under no conditions  can anyone accept registration fees  for the Modem
     Doctor but  Hank Volpe or agents  authorized for resale by  Hank Volpe.
     The Modem Doctor is distributed on as "as-is" basis, with no warranties
     for  usefulness  or suitability  expressed  or  implied. Users  of  the
     shareware version are granted a limited license to use this program for
     a trial  period only. Please  let your conscience  be your guide  as to
     what you believe has been a fair trial period, for without  the support
     of users who have registered, the Modem Doctor would not be the product
     that it is today.

     The Modem Doctor is  a very flexible package for both  the new user and
     for the experienced technician. The focus of this manual is to give you
     a technical reference regarding how the Modem Doctor works, what is the
     meaning of error messages you may encounter, and how the tests are
     constructed to operate between your PC and your modem. First time users
     or those unfamiliar with how the Modem Doctor operates should read  the
     file  MDR7FST.TXT. MDR7FST  explains how  to  start and  use the  Modem
     Doctor, how the  pulldowns operate, and how to use the menu and control
     system.      

     Section 2. Starting MDR     
     ------------------------     
     The Modem Doctor  has been designed to  work with PC-Type  serial ports
     and  "AT" instruction set (so called  Hayes compatible[++]) modems. The
     Modem Doctor requires at least 1 serial port to operate. MDR is written
     to  run under  MS  or PC  DOS 2.2  or higher,  and  will work  with any
     standard display adaptor  in normal text mode. The  program requires at
     least 200K of program memory space. 

     When MDR is started, it will use your current text mode. If you have
     created a custom color file (see Options mode), your screen colors will
     be displayed  as you  selected  them. If  not, default  colors will  be
     loaded depending  on the  mode you  are  currently in  (Color or  Black
     /White). Modem Doctor  starts just like any other program. From the dos
     prompt, type MDR.  There are however several command  line switches you
     might need to use from time to time.





                                      Page 9














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     The /B switch
     -------------
     Code  has  been  included to  work  with  hardware-incompatible display
     adapters as long as they are at least IBM-PC Bios compatible.  For most
     computers, this  is not necessary  and will slow down  screen displays,
     plus it will change the appearance of the input windows. The reason for
     using this switch is (for example), if you wish to  route the output of
     the program through  a voice synthesizer or operate  it under a program
     that requires all screen writes to go through your Bios. If you wish to
     use this bios  compatible mode instead of direct  display writes, start
     the program using the Bios switch ;   MDR /B 

     The /D Switch
     --------------
     Starting MDR  with this  switch active  enables  support for  Digiboard
     intelligent serial ports  (ComXi series) using Digiboard's  TSR support
     driver. Support  includes many  diagnostic  and configuration  options.
     Support is  included for  4 boards simultaneously  containing up  to 16
     serial ports on  each board. See the section  entitled "Using Digiboard
     Serial Ports".

     The /E switch
     --------------
     Certain  video adapters, mainly those attempting compatibility with IBM
     8541 display adapters, use an address that is identical to the industry
     standard address for Com4. The /E switch allows Modem Doctor to operate
     on these machines. To start in this manner type; MDR /E

     The /Q switch
     -------------
     Starting in version 5.x tests were included to verify the accuracy of
     IRQ settings. However this self-testing might not be desirable in some
     computer environments. The  /Q switch makes it possible  to defeat this
     self  test of  IRQ  assignments.  Using /Q,  Modem  Doctor will  report
     "Standard Assignments" and not  verify the proper configuration  of IRQ
     settings.  Use this  switch  if  you experience  a  "freeze-up" of  the
     program  at the  initial sign-on  screen.  To bypass  IRQ verification,
     start  the program with the IRQ switch; MDR  /Q.  If your computer is a
     PS/2, Modem Doctor will now detect  this problem and switch in code  to
     accommodate this peculiarity without the need for the /Q  switch.  NOTE
     - IF  You wish to run Modem  Doctor under Windows, you  need to include
     this  /Q switch  in  your  .PIF file  command  line. For  Windows  comm
     problems, use Modem Doctor for Windows.     

                                     Page 10














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     The /S switch
     --------------
     Registered versions 4.0 and  higher also can be run  to quickly program
     and setup a Modem.  To use this mode  start the program with  the setup
     switch ; MDR /S (see Section 3). 

     The /X switch
     --------------
     Registered versions 4.0 and higher have the ability to swap the
     communication  pointers for COM1 and COM2 in  memory. To use this mode,
     type MDR /X. Com1's  pointer will be swapped to COM2  (and visa versa).
     You can specify any one of the 4 comm ports used by dos by typing; 
     MDR /X [port] [port], where each [port] is a different comm port..ie to
     swap Com1 and Com3, type MDR /X  1 3. MDR /X without port numbers flips
     com1  and com2  by default.  This condition  is not permanent.  To flip
     these again, just type MDR /X  or if you used comm numbers, type MDR /X
     [port]  [port].  The  reason  for  this  command  line  switch  is  for
     convenience and  also to make  it easier for  technicians to  swap port
     assignments without  having to  change port jumpers.  This mode  is not
     generally  useful  except when  you  believe  you  have  addresses  set
     incorrectly or if you wish to use a serial device that is normally Com2
     as Com1 (such as a serial printer) from a high-level language that does
     not support 2 comm ports.  These changes are temporary. Permanent fixes
     can only be  done in these cases if you physically change the addresses
     on your serial card.

     The /F switch
     -------------
     Normally,  Modem Doctor  and most  comm programs  directly  control the
     hardware of your  computer. Uart registers, interrupt  controllers, and
     system hooks  are all  involved. Another  way to perform  control in  a
     machine-independent way is by using kernels. Kernels are small programs
     that reside  as TSR's (Terminate  Stay Resident) in your  computer. You
     can  instruct Modem Doctor  to operate in  this manner,  and instead of
     assuming  complete  control over  your system,  Modem Doctor  will work
     through system  kernels. X00  and BNU  are  two such  kernel or  FOSSIL
     programs. If you use Modem Doctor in this manner, some uart programming
     and error trapping  is not possible (because the FOSSIL  drivers do not
     support function  calls to handle  all test conditions).  However, this
     command can  be useful if  you wish to test  the proper operation  of a
     FOSSIL  driver  in your  system.  Other  Int14  type kernels  are  also
     supported. To start Modem Doctor in this mode, type MDR /F.


                                     Page 11














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe



     Section 3. First Time Setup     
     ---------------------------     
     The first time you start the Modem Doctor, it will begin several system
     checks. These checks are not repeated until you start the program over
     again from the Dos prompt. First, the Modem Doctor checks to see what
     hardware is available and reports its results to you. Displayed on the
     bottom  line is  the  serial  number unique  to  each copy  (registered
     version). If  incorrect  COMM  addresses  are detected  or  if  swapped
     addresses are  detected, an  Alert-bar will be  displayed, warning  you
     that a non-standard  assignment was detected, and you are  asked if you
     wish to have this fixed for testing purposes only.    

      The Modem DoctorĿ
                         Welcome to the Modem Doctor                     
     
     [ Modem / Uart Hardware Detection ]͸
      Port assignments  Base(hex)    Irq   Port Usage        MODEM        
      Com port 1   [ ]     3f8        4                                   
      Com port 2   [ ]     2f8        3    IRQ/MOUSE                      
      Com port 3   [ ]     3e8        4                      Modem On     
      Com port 4   [ ]     2e8        3    IRQ/MOUSE                      
      Com port 5   [ ]                                                    
      Com port 6   [ ]                                                    
      Com port 7   [ ]                                                    
      Com port 8   [ ]                                                    
        Bus type: AT Bus    Interrupt Levels: 15   HD uses DMA Ch3?: NO   
        Interrupt Status :  15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0         
     

     [  Serial Port Detection ]ͻ
                            Serial port detection                         
                Searching for other standard active Comm ports            
                                                                          
                               Total Comm ports  =2                       
                         PRESS ANY KEY TO START TESTING                   
                                                                          
                                                                          
                                                                          
      ͼ




                                     Page 12














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     Modem Doctor 7.0 uses a heads-up display  that shows you the Comm port 
     assignment number, the base i/o address, and the interrupt line in use.
     Unlike other  IRQ mapping  utilities, Modem  Doctor actually  creates a
     system interrupt and traps its ID. Running under DOS, Modem Doctor will
     always identify the correct IRQ line. In multi-tasking situations, this
     test may  not be valid, which is  why a new window has  been created to
     allow you to easily select any IRQ line you wish to use.

     Version 7.0 includes a new "SNOOP" feature that looks for active serial
     ports. If a  modem is found with an  active CTS line, the  words "Modem
     On" are  displayed under  "MODEM". Also, Modem  Doctor looks  for IRQ's
     used  by a  serial mouse. If  one is  found, the words  "IRQ/MOUSE" are
     displayed under "Port Usage". Port Usage also  will display information
     about FOSSIL drivers as well (as explained later in this document).

     Modem Doctor  also identifies  the Computer  BUS type  in use  (PC, AT,
     PS/2), the maximum number of  system hardware interrupts, the status of
     DMA channel  3 (sometimes used  for Hard Drive access,   sometimes free
     for use by  intelligent serial board DMA transfers),  and the status of
     all interrupts (gray means inactive, white means active).
        [  Ports  ]ͻ   [  IRQ's  ]ͻ  [  Baud  ]ͻ
         Use COM 1      Use IRQ 2       300 BPS  
         Use COM 2      Use IRQ 3      1200 BPS  
         Use COM 3      Use IRQ 4      2400 BPS  
         Use COM 4      Use IRQ 5      4800 BPS   *               
        ͼ    Use IRQ 7      9600 BPS   * 
                          Use IRQ 9     19200 BPS   *
                          Use IRQ10     38400 BPS   Registered Versions
                          Use IRQ11     57600 BPS   * only
                          Use IRQ12    115200 BPS   *                 
                          Use IRQ15    ͼ  
                         ͼ
     Next, you are instructed to pick from  a list of valid Comm ports.  The
     only ports that are listed are valid ports that MDR found when it first
     started, or ports you logged in using the manual login mode. 
     Use the  arrow keys to  find your selection,  and then press  return to
     select.

     A window now opens showing you  your IRQ line choices. The sliding  bar
     will pick the IRQ line Modem Doctor found valid during the first set of
     tests. You  can change this to any IRQ line you wish. A note of caution
     though, if you pick an incorrect IRQ line, the following tests will not
     be valid.

                                     Page 13














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     A window  now opens showing you valid Comm  port speeds. Select a speed
     fromthis menu. Please note, don't select a speed faster than your modem
     can  handle. The reason for faster speeds is so communication links can
     also be tested.   Use  the arrow  keys and  press return  to make  your
     selection.
              
     At this point you are in the options menu. If  you select "Test Modem",
     a series of commands and tests will  be performed. Please check to make
     sure  the modem  is  on line  and  running. If  you  select "Test  Uart
     Hardware", only  the Uart will be tested. The  modem will not be setup.
     This selection is useful only  if you wish to test an RS-232  line or a
     "dumb" modem.Selection  3 aborts to  the main menu. (NOTE:  Version 5.0
     and higher include "hot-keys" to force the Modem Doctor to  believe you
     are using a modem with a microprocessor and for changing the baud rate.
     Read Section 4 on the menu system for more details).       

     A. Test Modem/ Uart     
       ---------------------
     [ Modem / Uart System Diagnostics ]͸
      Comm port /IRQ in use [ ] Port = 3  Address = 3E8  IRQ = 4          
      Int 14 interface      [ ] Inactive                                  
      Uart type             [ ] 16550AN/AF/AFN buffered Uart detected     
      Baud rate selected    [ ] 2400                                      
      Baud Rate reg test    [ ] Confirmed correct baud rate               
      Modem Microprocessor  [ ] Diagnostics passed                        
      Modem ID Type         [ ] 16800+ bps modem                          
      Modem Fax Ability     [ ] G3 EIA Class 2 Fax Capable                
      Modem Memory/Rom      [ ] Memory /Rom test passed                   
     
     [ Diagnostic Dialog]͸
                   Modem microprocessor command bus active                
      Modem ID reports a 16800 ZyXel U-1496 Series &T1  modem installed   
                         Modem uses EIA Fax Commands                      
                     Modem microprocessor memory tests OK                 
                 Modem microprocessor accepts setup commands              
                         Modem microprocessor ON-LINE                     
                     Modem - uart status appears correct                  
                          Press any key to continue                       
     


     The preceding page shows you the results of a normal test with a modem.
     The first  step tests  the uart  to modem  hardware. If any  connection

                                     Page 14














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     errors  are discovered, they  are reported to the  screen. If no errors
     are detected, the Modem Doctor will check to see what type of uart is
     installed. 

     There are differences between the different types of uarts, and
     the Modem  Doctor uses this test to determine  how to test the uart and
     what registers to display to the screen.  Next, the uart is set to  the
     desired baud rate, and the uart speed  register is queried to make sure
     it did set  up properly. Next, the  modem command bus is  tested and if
     its  compatible, the  modem ID  information is  queried from  the modem
     microprocessor. The Modem Doctor then  issues a command that forces the
     modem to run a checksum of its ram or rom memory. If your modem returns
     an OK, then the Modem Doctor assumes your modem passed properly.  If an
     error is returned, you  will receive an error message  stating that the
     modem  reported  a  rom/ram  check  failure.   If  your  modem  has fax
     capabilities, Modem  Doctor attempts  to determine  is Group  (command)
     capabilities. Finally, the modem is setup  for diagnostics. Note: These
     setup strings do not overwrite any non-volatile storage. 

     If your modem setup properly, all the uart registers and the First 16
     Modem S registers  are displayed.  This display is  not shown the  next
     time you  log in a  Comm port unless  you press  the space bar.  If the
     modem  does not respond  to certain parts of  the tests, error messages
     are reported. 

                              Testing Modem Microprocessor
                              ---------------------------- 
                     Modem Microprocessor Command Mode Not Detected 
                              Software Reset Initiated      
              
     This message  is displayed if the modem did  not respond the first time
     for a query to its status. This could happen for any number of reasons,
     including that the modem was still on-line and not in the command mode.
     A  soft-reset  is  performed,  which  essentially  tries  to  wake  the
     processor up. 

             No Response...resetting Modem Microprocessor ...attempt #1
             No Response...resetting Modem Microprocessor ...attempt #2
             No Response...resetting Modem Microprocessor ...attempt #3
              
     After 3 soft-resets, the Modem Doctor assumes that the modem is  jammed
     and needs  a hardware reset. A hardware reset is the program equivalent
     of  turning the modem on and  off again. This is  the only way to reset

                                     Page 15














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     some  internal modems   that get  "jammed" when  the computer  is first
     turned on. Clearing a "jam" usually takes no more than 2 attempts.   


                   Trying Hardware reset of the Modem Microprocessor
              
     The Hardware reset is performed, and again the modem microprocessor is
     strobed for its status.  
              
                             Software Reset Initiated
              
     After a hardware reset, a soft reset is performed again, attempting to
     wake  the  processor up.  If  this fails,  the    following message  is
     displayed; 
              
                   Modem Microprocessor Did Not Accept Setup Commands 
                   Trying a Hardware reset of the Modem Microprocessor
       

     After one more attempt at waking the modem up, the Modem Doctor assumes
     that the modem is  not compatible  and based on the  status given it by
     the Uart, it will report if the device is off or not connected.  
              
               WARNING..This unit does not have a Compatible Modem attached
               WARNING..The Modem Device appears to be off or not connected

     The registers are now displayed for diagnostic tests, and a conclusion
     based  on  the status  of the  registers is  displayed. There  are many
     reasons  why the modem/uart could fail.  See the error code section for
     details.  If the  Uart is fine,  but the  modem is not  compatible, the
     program will tell you that the Uart hardware tests ok and  display this
     in a window to the right of the register display.        

     Note: The reason for testing the modem command set so extensively is so
     there can be no doubt about the modem accepting commands. You can force
     The Modem Doctor to believe it has a modem with a compatible
     microprocessor by  using the  hot-key Alt-F. See  Section 4  about Menu
     system commands.
        





                                     Page 16














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     B. Uart Tests     
     ---------------     
     The uart test is performed every time either the modem or the uart test
     is selected. Essentially,  the uart test programs all  of the registers
     of the uart  and looks to see that the correct  values have been placed
     in them. If  any one of the  registers fails to  set, the Modem  Doctor
     will display all of the registers and a diagnostic message. After that,
     it looks to see that an RS-232  loop is active. If not, it displays  an
     error message saying that the loop is either disconnected or a register
     in  the uart is  defective. If all  checks well, the  type of uart chip
     that is installed is  returned. The type of uart chip  is important for
     the  way the Modem  Doctor will test and  display the uart. Essentially
     there are 3 types it can detect;      

     8250-B
     This is the original uart installed in many PC's and serial port add-on
     cards.      
              
     16450/8250-A
     This is  an upgraded  uart that  fixes a  bug in  the interrupt  enable
     register of  the 8250-B and  also tri-stated the  OUT2 pin of  the chip
     during loopbacks.  It also adds  a scratch-pad register as  the highest
     register. This register is tested by the Modem Doctor but not displayed
     because it never  has what you  would consider as a  "correct" setting.
     The 16450 is    used primarily in 80286 (AT) systems.

     16550
     This chip is essentially a faster 16450. However, it cannot be  used in
     a  FIFO  buffering mode,  but it  does  allow for  a programmer  to use
     multiple DMA channels  and thus increase throughput on  an AT or higher
     class computer system.      

     16550A(x)
     This chip is a faster 16450 with a built in transmit and receive FIFO
     buffer. It also allows multiple DMA channel access. You should see this
     chip in your 80386, 80486, Pentium, or RISC type machine. You should 
     also consider installing this chip if you do any serious communications
     at 9600 bps or higher while you are multi-tasking. Whenever a 16450,
     16550 or 16550AN is displayed, different diagnostics and/or different 
     register mnemonics are displayed. The 16550AN's ability to enable 
     and disable FIFO mode is also tested. In any case and with any uart, 
     each register is checked for proper values. If anyone of them fail, 
     a window will open and display a possible cause for the problem. 

                                     Page 17














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


                        Preliminary Diagnostic Checks of Hardware 
                        ----------------------------------------- 
                               Testing Uart Hardware Only  
                               -------------------------- 
                             A 8250-B Uart has been detected 
                           Modem - Uart Status appears correct
              
     The first time through these tests, the registers will display for
     diagnostics. Unlike the modem tests, only the uart registers are
     displayed. From then on, if the test results are correct, you will be
     prompted if you wish  to have the registers displayed. If  a test fails
     at any time, you will always see the registers displayed along with an 
     appropriate diagnostic message.        
              
     C. Return to main menu     
     ----------------------     
     Selecting this returns you to the main  menu, this allows you to change
     an entry made in error without having to wait for the diagnostic checks
     to fail. In any event, after any of these tests have been run, you will
     then enter the Modem Doctor's Main Menu.

     Section 4.0 The Main Menu
     -------------------------
     The main  menu  consists of  a sliding  bar from  which  you make  your
     selections.  Using the  arrow keys  you slide  left or  right. Pressing
     ENTER selects a  feature. If the feature has a pulldown window, you use
     the up  or  down arrows  to navigate,  and then  ENTER  to select  that
     feature.

     4.01 Hot-Key selection 
     ----------------------  
     In addition to these menu selections, there are three hot-keys that are
     active at nearly  all times in the Modem Doctor.  The ALT-B combination
     can be used to  change the baud  rate from the  main menu, from  inside
     pulldowns and Manual  test section. A  window will pop-up  and you  can
     pick your  desired serial port speed. This can save  a lot of time when
     you  wish to test  a modem at  various speeds.  Using the Setup  / Test
     Modem & Uart  mode is  the safest  way (because it  verifies the  modem
     microprocessor  accepts  commands  properly  at  the  selected  speed),
     however if you  use the ALT-B command,  you will take a  short-cut that
     can help you when testing your modem. 



                                     Page 18














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     The next hot-key is ALT-F,  or FORCE Micro on-line. Actually, there  is
     no "force" involved.  By pressing this  key, you make the  Modem Doctor
     believe there is  a AT Instruction set compatible  modem attached. This
     can be handy  for troubleshooting a modem that doesn't work properly at
     certain speeds  or under certain  conditions.   The Setup Test  Modem &
     Uart section will  not allow any  AT Instruction  set Carrier tests  on
     modems that  it cannot properly  setup. The ALT-F  combination bypasses
     this and allows such testing. When you press ALT-F, you will notice the
     Status Bar will say that  a modem microprocessor is on-line.   Starting
     with Version 4,  this key can be  operated as a toggle  between on-line
     and off-line. This key is active inside of any menu at any time.

     Another  hot-key is  ALT-T. It allows  you to  toggle how  Modem Doctor
     treats  the  transmission of characters.  Most times, interrupt  driven
     transmissions  are  used because  they  are  fast,  waste no  CPU  time
     looping,  and give the best  throughput. However, some early 8250 uarts
     cannot handle interrupt-driven transmits without errors. When you start
     Modem Doctor,  transmit-driven interrupts  are disabled.  If you  would
     like  to enable  and test  your  system for  transmit driven  interrupt
     capability,  press  ALT-T.  If  you  experience  errors  when  transmit
     interrupts are  active and your   errors go  away when this  feature is
     inactive, you either  have a uart  that  cannot handle interrupt-driven
     transmit routines, or your  system is  too slow to  process and support
     this feature.

     The last hot-key is the ALT-H for help. This key will give you varying
     levels of help. From the main menu, it gives a terse help just like
     pressing the down arrow key does. Inside of a pulldown, it gives you
     expanded help, just as selecting the appropriate help section of the
     pulldown also does.

     4.1 Login In Comm ports     
     -----------------------     
     When you select this menu, you are offered these choices               
       

     [  Comm Port Login  ]ͻ
      Let me Auto Detect COMM Ports   <- Searches for all Comm ports
      You Manually Enter COMM Ports   <- You enter port addresses
      Help with Auto login Commands   <- Detailed help or ALT-H
           Return To Main Menu       
     ͼ                              


                                     Page 19














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     Option 1 repeats what the Modem Doctor does when you first begin to run
     the program. Option 2 allows you to enter a "non" standard port address
     and assign one  of the two Interrupt lines to use with the Uart. Option
     3  gives you  an expanded,  on-line  help description  of these  tests.
     Option 4 returns to the main menu.      




     4.11 What do IRQ's and COMM Ports do ? 
     ---------------------------------------      
     Each time  a  character is  received by  a  modem, it  has  to get  the
     attention of the  computer by raising an interrupt  request line (IRQ).
     PC-type computers  have 8 of  these lines, AT-type  (ISA bus), MCA  and
     EISA computers  have at  least 16. The  8259 Interrupt  controller chip
     handles these  requests for  attention. By design,  COM1 uses  IRQ4 and
     COM2 uses IRQ3. IRQ7 is assigned to a printer, IRQ5 to the Hard Drives.
     It is possible to use COM1 and COM2 or COM3 and COM4 at the same  time,
     but  you cannot use  COM1 and COM3  or COM2 and  COM4 at  the same time
     because these  share IRQ lines.  If you  needed to use  3 or more  COMM
     ports at the same  time, you would  need to use  another IRQ line.  The
     best  bets are IRQ7  and IRQ5, because  they may be  available when you
     need  them. IRQ7 is  really only  needed by  programs that  use printer
     interrupts (background  type spoolers  for example).  IRQ5  is used  by
     fixed disks. It  may or may not  cause a conflict  if you use this  IRQ
     line with your  modem. PC type computers are quite limited because they
     only have 8 IRQ lines and most  are reserved. AT type computers have 16
     IRQ lines. 

     A good tip would be to consult your hardware manual to find out if  you
     can or can't use  these other IRQ's. However, if you do not need to use
     3  or more  COMM ports at  one time,  then it is  best to  stick to the
     reserved IRQ4 and IRQ3 for all of your activity. 
                     
     4.12 Port assignments and their meaning 
     ---------------------------------------  
     Like IRQ lines, certain port addresses  were reserved to work with  the
     PC's  external hardware  devices. Two  of  these were  reserved by  all
     manufacturers; 3F8 (HEX) and  2F8 (HEX).  Although only two  COMM ports
     were supported by the original  ROM-BIOS, there are two additional port
     memory locations  available for use by MS-DOS  and PC-DOS applications.
     These  reserved  port addresses  are  3E8  (HEX)  and 2E8  (HEX).  Most
     internal  modems come  with  these  4 ports  as  selections along  with

                                     Page 20














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     several IRQ line combinations.  There is  a "quirk" in the way that the
     ROM-BIOS logs in these ports. If the  Power on self-tests (POST) do not
     find a 3F8 serial port but they do find a 2F8, then the 2F8 serial port
     is mistakenly  assigned to COM1. To add  to this, the reserved IRQ line
     for COM1 is IRQ4. But this serial Port of 2F8 is using COM2's  address,
     which means it needs IRQ3 instead of IRQ4. So, if you are trying to use
     Basic, Pascal,  or DOS for  COM1 operations, the  serial port  or modem
     will not be able  to work. The  general rule thus  is "No COM1  without
     COM2". 

     The Modem Doctor when it is run will detect this log-in problem and
     display an  "alert-bar"  with a  message to  you that  points out  this
     error. You can then elect to correct this for the purposes  of testing.
     Remember  though, you  can  only  fix  these addresses  permanently  by
     changing the settings  on your serial port  or internal modem.  You can
     run Modem Doctor  with the /X switch  to fix this problem at  boot time
     until you do change the address settings permanently. The addresses for
     PC's  are standardized in order for  communication programs to properly
     work. As stated above, the industry standards are;      

              COMM 1  3F8   COMM 2  2F8    COMM 3  3E8    COMM 4 2E8
              IRQ4          IRQ3           IRQ4           IRQ3      

              
              COMM 5  3F8   COMM 6  2F8    COMM 7  3E8    COMM 8  2E8
              IRQ7          IRQ7           IRQ5           IRQ5      
             
     The port  addresses for serial ports (1-4) are  held in a reserved area
     of  memory.  The "base  port"  of each  of these  uarts  is saved  in a
     distinct  area. When  you first  start  the Modem  Doctor, the  program
     checks  these locations  to see  if there  are  any Comm  ports already
     logged  in by Dos. If  not, a search is  conducted for the PC's default
     Comm 1  and Comm 2 port values and these  are logged in. Next, a search
     is  performed for  the other  industry standard  Comm ports.  Some PC's
     already log  these in,  however IBM-PC's and  those that  mimic exactly
     their ROM-BIOS routines do not log  in a COMM 3 or a COMM  4. The Modem
     doctor  does log these in, and as  a side benefit, these stay logged in
     until the next warm or  cold boot is   performed on your computer.  Why
     would  Dos  not  log  in  a port?  Well,  some  multi-tasking  programs
     overwrite this area to prevent "swapping" of communication programs and
     it is possible that they might not  be properly restored on exit. Next,
     a  search is made for  the custom comm  ports 5-8. These  ports are not
     held in DOS at all, but are held in program  memory by the Modem Doctor

                                     Page 21














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     after a user logs the port in using the Manual log-in mode (see below).
     If one  of these  ports is  found, it will  be added  to the  comm port
     option menu for you to use when you test the modem.  The reason
     for  the custom  ports is  to  help users  who  are using  non-standard
     interrupt  lines (IRQ7,IRQ5).  Unlike the  Dos  logged-in ports,  these
     assignments disappear when the Modem Doctor is exited. The Modem Doctor
     follows the accepted arraignment of these comm Port /IRQ line pairings.
     However, you do have full control at  all times over all port addresses
     and IRQ assignments and can change them  using the Manual Login mode.  
     As far as the  2 Options presented by the  Login Mode, option 2 is  the
     only  real option available. Please use  it with caution. The only need
     for this  option is for logging in a comm port that does not use any of
     the  listed industry  standards as its  base port  address or  IRQ line
     assignments. Consult  your serial port  or Modem's user manual  to make
     sure you enter  the exact port address and select the correct Interrupt
     line to  use with it. Otherwise the Modem  Doctor will not recognize or
     be able to test any device hooked  to this port. Protection is included
     in this routine to keep someone from accidentally entering  a port that
     is used by  the system board, display adapters,  or fixed disk adaptor.
     Entering any of these values, or an error, will result in the display;

                      "WARNING...RESERVED port...RETRY ENTRY"      

     After running option 1 or 2 , you must tell the Modem Doctor which comm
     port you wish to use so that testing can begin. Pressing the ESCAPE key
     or pressing a left or right arrow key works the same as Option # 3 and
     returns you to the main menu.              

     4.13 Testing defective Ports 
     ----------------------------  
     Whenever the Modem Doctor checks to see if a port is  working properly,
     it checks the status  of several registers. If  a uart appears  "dead",
     the Modem Doctor will tell you that  the port was not "found". You  can
     use the Manual mode and override this determination. This allows you to
     test a defective port to find out  what is wrong. If you tell the Modem
     Doctor for  example to use serial Port 2F8 as COM2  and you do not have
     a COM2, the  message "COM2 not Found"  will be returned with  an option
     "Override [Y/N]  ?". Answering "Y" will  force the login of  this port.
     Certainly there is  no benefit to  testing a  non-existent port, but  a
     port that  is defective  may not  be logged-in.  So, you  now have  the
     option  to test  this defective  port hardware  to pinpoint  a problem.
     Combined  with the  register  display and  diagnostics,  you will  most
     likely be able to pin-point any uart problem quickly and easily. 

                                     Page 22














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     4.2 Regs     
     -------------      
       [  Register Tests  ]ͻ
        Quick uart register diagnostics    <- Displays all registers
        DTR/DSR  RTS/CTS echo test         <- Tests handshake lines
        DTR Continuous Pulse test          <- New, Pulses DTR line on/off
        RTS Continuous Pulse test          <- New, Pulses RTS line on/off
        Dynamic  RTS/CTS handshake test   +<-|Handshakes under simulated
        Dynamic Xon/Xoff handshake test   +<-|on-line conditions.
        Display any 10 S-registers         <- Display S-registers
        Help and info on these tests       <- Help or ALT-H
              Return to main menu        
       ͼ
                                                  + registered version only

     The register display section can be an invaluable diagnostic tool. What
     this does is "poll" all of the status registers of the uart, and the
     interrupt controller to  tell you exactly what  is going on.   When you
     use the setup mode, the Modem Doctor checks all of these  registers for
     correct   information. If something  wrong is discovered, a  warning is
     displayed  on the screen telling you what  the Modem Doctor believes is
     wrong. Many different error conditions  are checked, see the error code
     section for a listing. Each  register contains a Mnemonic for each  one
     of the data bits.   Bits that are  a logic low ( = 0) are displayed  in
     low intensity, those that are a logic high (=  1) are displayed in high
     intensity.  On a color monitor, this is easy to see. On a Mono Monitor,
     make  sure you  have the    brightness and  contrast controls  properly
     adjusted to  see  the difference  between  the two  status  conditions.
     (Note: Version 4 allows you to pick your own custom colors, however, it
     will still alternate between high intensity and low intensity shades of
     the colors you select for the uart register displays).













                                     Page 23














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe



     -[ Line Control Register ]----------      
     |  DLB STB STP EPS PEN STB WS1 WS0  |     
     ------------------------------------      
     This register controls  many of the setup characteristics  of your uart
     and how it behaves to your PC. This register is responsible for setting
     baud rate, setting  break code transmission, parity, and  the length of
     the serial stream  word. 
              
     DLB    Divisor Latch          Used to access the baud rate registers.  
                                   Should be low for all displays.
              
     STB    Set Break              If high, the modem transmits a
                                   break signal, should be low normally.    
     STP    Stick Parity           Should be low normally    
     EPS    Even Parity select     High = even parity..should be low
                                   normally.   
     PEN    Parity Enable          Enable parity checks, should be low
                                   normally.
     STB    Stop Bits              Number of stop bits, should be low
                                   normally to indicate 1 stop bit character
                                   only.
     WS1    Word Length Select 1     
     WS0    Word Length Select 0   These two bits are used to determine the
                                   serial data word length. Both should be
                                   high normally to indicate a length of 8
                                   bits.
              
















                                     Page 24














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe



     -[ Line Status Register ]----------- 
     |      TSE THE BI  FE  PE  OE  DR   |      
      ___________________________________      
              
     The  line status  register  reports error  conditions  that might  have
     occurred between the PC and the Uart.      

     TSE    TX Shift Register      A high indicates that all characters
                                   sent to the Uart were transmitted. Should
                                   be High Normally.      

     THE    TX Holding Register    A high indicates that the Uart can now   
            Empty                  accept a new character from the PC.Should
                                   be high normally. 

     BI     Break Interrupt        A high indicates that a break signal was 
                                   received. Should be low normally.      

     FE     Framing Error          A high indicates that a serial data train
                                   did not have a proper stop bit. Should be
                                   low normally.   

     PE     Parity Error           A high indicates that the received serial
                                   data's parity did not match what the uart
                                   was programmed to receive. Should be low 
                                   normally.     

     OE     Overrun Error          A high indicates that a character in the 
                                   receive buffer was not read by the PC in 
                                   time, and another character overwrote and
                                   destroyed it. Should be low normally. 

     DR     Data Ready             A High indicates that a character has
                                   been received and is ready to be read by 
                                   the PC from the receiver buffer. Should
                                   be low normally for these test, but can
                                   vary while data is coming in from the
                                   modem. 





                                     Page 25














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe




     -[ Modem Control Register ]---------
     |              LP  OT2 OT1 RTS DTR  |     
     ------------------------------------       
              
     The Modem Control register handles all of the interfacing between the  
     Uart  and  the modem.  Only  5 signals  are  needed for  this  level of
     control.   
      
              
     LP     LOOP                   A high indicates that the loopback
                                   digital diagnostic has been activated.
                                   This feature only works with 8250 uarts
                                   or those that are 100% compatible. This
                                   is used in the digital loopback test. 

     OT2    OUT 2                  A high enables the uart to generate
                                   interrupts. A low disables interrupts.
                                   This should always be high for testing
                                   purposes.  
        
     OT1    OUT 1                  On 100% compatible modems, a high on this
                                   pin will perform a hardware reset of the
                                   modem in some compatible designs.Normally
                                   this is a low.

     RTS    Request to Send        A Handshaking signal that is used by some
                                   modems to enable data transfer between
                                   the modem and the Uart. Should be high
                                   for testing purposes.

     DTR    Data Terminal Ready    A Handshaking signal that is used by some
                                   modems to enable data transfer between
                                   the modem and the uart. Should be high 
                                   for testing purposes.








                                     Page 26














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe



     -[ Modem Status Register ]----------      
     |  RLS RI  DSR CTS DRD TER DDR DCS  |     
     ------------------------------------      
     The Modem  Status Register  returns the status  of the  control signals
     sent by the modem to the Uart.      
              
     RLS    Received Line Detect   A high indicates that a carrier has been 
                                   received by the modem. When the Analog
                                   tests are run, this should be high. If
                                   it is not, it is still possible that the
                                   modem is ok, however the cable from the
                                   modem to the uart (for externals only)
                                   might not have a complete circuit due to
                                   faulty wiring of the RS-232 cable. This
                                   signal is very important for some
                                   communications programs to operate
                                   properly.      

     RI     Ring Indicator         A high indicates that the modem detected 
                                   a ringing signal on the phone line. 
                 
     DSR    Data Set Ready         This is part of the DTR/DSR Handshaking
                                   pair that is used by some modems to
                                   control the flow of data. Normally it
                                   will be a high. 

     CTS    Clear to Send          This is part of the RTS/CTS Handshaking
                                   pair that is used by some modems to
                                   control the flow of data. Should normally
                                   be a high.

     DRD    Delta Received         Line Signal Detect. A high indicates that
                                   the Received Line Signal has changed
                                   state. Some communications programs use
                                   this also as an indication that a carrier
                                   was detected by the modem. 
     TER    Trailing Edge
              Indicator            A high indicates that the Ring Indicator 
                                   changed state. Some communications
                                   programs use this as an indication that
                                   the phone has rung.      


                                     Page 27














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     DDR    Delta Data Set Ready   Indicates that the DSR signal has changed
                                   state.      

     DCS    Delta Clear to Send    Indicates that the CTS signal has changed
                                   state. 
              
     If a 8250-B / 16450 or 8250A Uart was detected, the following is
     displayed;      
            
     -[ Interrupt ID Register ]----------
     |                      ID1 ID0 ITP  |     
     ------------------------------------       
              
     The  Interrupt  ID  Register is  used  to  tell the  CPU  what  kind of
     interrupt occurred.      

     ID0    Interrupt Bit 2     
     ID1    Interrupt Bit 1        These two signals are a binary code which
                                   can be read by the CPU to tell what kind
                                   of interrupt occurred. Both bits high
                                   indicates an error occurred or a break
                                   interrupt wasreceived.  Bit 2 high and
                                   Bit 1 low indicates that data is ready to
                                   be read by the CPU. Bit 1 high and bit 2
                                   low indicates that a ring signal or
                                   carrier signal was received. For testing
                                   purposes, only the Data ready mode is
                                   used. 

     ITP    Interrupt Pending      A Low indicates that an interrupt has
                                   occurred. For testing purposes, this
                                   should always be high if data was
                                   successfully read by the Modem Doctor. If
                                   it is not, then an interrupt did occur
                                   but the CPU did not respond. Suspect a
                                   problem with an interrupt controller chip
                                   or the uart interrupt generating
                                   capability. If a 16550 or
                                   16550A(x) chip was detected, the register
                                   selection uses the enhanced register
                                   display.             
              


                                     Page 28














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe



     If  a  16550A(x) was  detected,  the  appearance  of the  Interrupt  ID
     register changes and the following is displayed;

     -[ Interrupt ID Register ]----------
     | FEM FEL          ID2 ID1 ID0 ITP  |     
     ------------------------------------   
     FEM   FIFO Enable MSB         This is the most significant bit of the
                                   FIFO register. It should be high on both
                                   the 16550 and 16550AN if the FIFO
                                   buffering is enabled. Normal Modem Doctor
                                   status shows this as a logic low (unless
                                   testing is performed).  

     FEL   FIFO Enable LSB         This is the least significant bit of the
                                   FIFO Register. It should be a high on the
                                   16550A(x) only! The 16550 always displays
                                   this bit low. Again, the normal Modem
                                   Doctor status  will show this as a logic
                                   low (unless testing is performed).

     ID2   FIFO Timeout            This signal is raise high by a 16550A(x)
                                   to indicate that it is holding characters
                                   for the CPU to read, but it is less than
                                   what the CPU has requested to be
                                   interrupted for. The FIFO buffer can be
                                   as deep as 14 characters. If only 8 have
                                   come in, the CPU will not be interrupted.
                                   The 16550A(x) is programmed to interrupt
                                   after a period of time has gone by during
                                   which no characters were received in
                                   order to force the CPU to get what it is
                                   currently storing. Normal operation
                                   should keep this line low, if it
                                   is high at any time there is a problem
                                   with the uart.  








                                     Page 29














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


              
     -[ Interrupt Enable Register ]------      
     |                  ESI ELI ETI ERI  |     
     ------------------------------------      
              
     The Interrupt Enable register is programmed to allow certain types of  
     interrupts to occur.      

     ESI    Enable Status          A high causes the uart to generate an
                                   interrupt whenever RI or RSD signals in
                                   the Modem Status register go high. Should
                                   be low for testing.

     ELI    Enable Line            A high causes the uart to generate an 
                                   Interrupt whenever an error or break
                                   interrupt is detected in the Line Status
                                   Register. Should be low for testing.

     ETI    Enable Transmitter     A high causes the uart to generate a
                                   holding register interrupt whenever the
                                   THE signal of the empty interrupt line
                                   status register goes high. Should be low
                                   for testing.        
                                   

     ERI    Enable Receive Data    A high causes the uart to generate a
                                   ready interrupt whenever data is ready to
                                   be read by the CPU. The DR line of the
                                   line status register going to a high
                                   state generates this  condition. This
                                   signal should be high for testing
                                   purposes, since it is the only interrupt
                                   needed by the Modem Doctor.  











                                     Page 30














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe



     -[ Interrupt Mask Register ]--------      
     |  IQ7 IQ6 IQ5 IQ4 IQ3 IQ2 IQ1 IQ0  |     
     ------------------------------------      
     The interrupt mask register is contained on the 8259 priority interrupt
     controller on your computer's motherboard. Each one of these hardware
     interrupts corresponds to an external device.      

     IQ7   Printer Interrupt (can be used by Custom COM5 or COM6)
     IQ6   Floppy Disk Interrupt     
     IQ5   Hard Drive interrupt (can be used by Custom COM7 or COM8)
     IQ4   COM1 Interrupt (also COM3)     
     IQ3   COM2 Interrupt (also COM4)     
     IQ2   reserved by IBM (Gateway to second 8259 on AT's)     
     IQ1   Keyboard Interrupt     
     IQ0   Timer Interrupt      
          


     Under Normal  Conditions, IQ0,IQ1 and IQ6 should be lit, along with IQ4
     if  testing COM1  (or  COM3)   or IQ3  if  testing COM2  (or COM4).  In
     addition, other lines could be lit depending on your computer. The only
     line the  Modem Doctor looks for is the IQ4  or IQ3 lines (depending on
     which serial port you are testing).   

     -[ Interrupt Mask Register ]--------      
     |  I15 I14 I13 I12 I11 I10 IQ9 IQ8  |     
     ------------------------------------      

     If you are using an  IRQ line above 7, this alternate  display is shown
     above.  In normal  use, only IRQ9,  IRQ10, IRQ11, IRQ12,  and IRQ15 are
     free to be  assigned to other hardware devices. 

     I15 - free, normally assigned to BIOS
     I14 - used by hard disk controllers
     I13 - Redirected NMI interrupt or coprocessor
     I12 - free, normally assigned to BIOS
     I11 - free, normally assigned to BIOS
     I10 - free, normally assigned to BIOS
     IQ9 - Redirected IRQ 2
     IQ8 - Real time clock interrupt



                                     Page 31














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     Although the status  of all interrupt lines are  shown, only 9,10,11,12
     and 15 can be accessed by Modem Doctor.


     4.30 Handshaking tests
     ----------------------
     Just like  a handshake between  friends, the Modem Doctor  tests to see
     that  your  computer  uart  and  the   modem  are  properly  exchanging
     handshaking for  data  communication.  There  are 4  tests  for  proper
     operation.  Two of  them are  static  (meaning that  the control  lines
     between the computer and modem are raised and lowered), and two of them
     are  dynamic (meaning that  the modem is placed  in a self-connect mode
     and data is sent to the modem). 
     Static test results can  vary modem to modem. Some  modems echo control
     line   toggles...in other words,  if DTR goes  low, so will  DSR. Other
     modems do not. So, it would  be considered normal for a modem *not*  to
     pass this particular  test.  However, if you wish to test  a cable, and
     at the end you place a  loopback plug, then the static echo test should
     pass. Otherwise, your cable  is wired incorrectly!

     The static RTS/CTS tests are conducted the same way, however this
     handshake pair is important for high-speed modem users. Again, working 
     through a modem, you will see a failure (unless using the modem for 
     Synchronous  Communications, something  most users never  do). However,
     with a  loopback plug, you should see the  static test pass. The static
     tests above   are designed to  show that your  cabling to the  modem is
     proper, when verified with a loopback plug. However, these tests cannot
     verify  if  your  modem    microprocessor will  act  properly  on  this
     handshaking information. 

     New in version  7.0, DTR and  RTS pulse tests are  added to aid  you in
     finding problems with cables or connectors. If DTR is selected, the DTR
     line is raised and lowered every 2 seconds. If RTS is selected, the RTS
     line  is  raised  and lowered  every 2  seconds. Using  modem indicator
     lights or  Modem Doctor's status display  and a loopback cable, you can
     find out if a cable has the proper wiring for handshaking signals. With
     some simple test equipment (like a logic probe), you can use  this mode
     to trace a problem to its source.

     The dynamic  tests force your  modem to self-connect. Next  the RTS (or
     DTR)   lines are  dropped (depending  on which  test is  run). Then  20
     characters are   sent  to the  modem. If  the modem  is properly  using
     handshaking, no characters will  be sent back to  the computer. If  any

                                     Page 32














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     characters are  received,  then  your    modem  ignored  the  handshake
     request. In most  cases, if the  static tests   passed but the  dynamic
     failed, it means your modem needs to be setup for  testing. 

     The Modem  Doctor offers you  the choice  of programming your  modem to
     test its ability to  handshake. Using this mode requires that  you have
     selected the  proper modem  driver from the  Carrier mode  before hand,
     otherwise incorrect commands will  be sent to  your modem. If you  know
     you have the right driver, then you can go ahead and see if your  modem
     is set properly or not.

     None of the commands sent to the modem are permanently stored in the
     modem. If the Modem Doctor enables handshaking and it works, but your
     setup in the modem does not work, then you have to reprogram the modem
     yourself. You can use the Interactive  terminal mode to do this if  you
     wish without leaving  the Modem Doctor. Also, in order  for these tests
     to  be  valid you  must  be using  a  modem that  supports  RTS/CTS and
     XON/XOFF handshaking  modes of operation.

     4.30A S-Register Displays
     -------------------------
     The most important  S-registers are the first 16.  These determine many
     of  the  abilities   and  options  that  your  modem   can  use  during
     communication  sessions. However,  today's high-speed modems  have many
     more registers, in fact  some  have up  to 200! After the first  16, no
     one  really follows  any sort  of  "plan", each  modem manufacturer  is
     pretty free to do what they  wish. From a  diagnostic standpoint,  this
     is a  nightmare scenario. Even  with the same   manufacturer, different
     ROM  versions change  how these  registers are  used.  The "compromise"
     position is allow for the viewing of S-registers  in groups  of 10. You
     pick the starting register, and the next 10 are displayed. Values  of 0
     (appearing slowly) usually indicate that the selected register doesn't 
     exist. As  with all  Modem Doctor  routines, you  cannot change  any of
     these S- register settings, unless you go into the Interactive Mode and
     use the AT  commands that allow you to change register settings. 









                                     Page 33














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     4.31 Carrier Tests     
     -----------------  
       [  Modem Tests  ]ͻ
        Carrier Self-tests       <- Simulate on-line tests
        Burst Mode Self-Test     <- New, Sends data in Bursts
        Burst Signature Test     <- New, Sends a modulation test pattern
        Burst Alt Data Test      <- New, Sends an alternating pattern
        Select modem drivers     <- Pick a modem driver
        Help with carrier test   <- Help
         Return to main menu   
       ͼ

     The carrier test section is used to test your modem's ability to detect
     a  carrier, demodulate  signals on the  originate frequency  and answer
     frequency, and to  properly control the RLS (Received  Line Signal) and
     CD  (carrier  detect) modem  status/control  lines.  All of  these  are
     essential  elements  for  good data  communication.    When you  select
     carrier tests, a pulldown menu is displayed. Option 1,2,3 and 4 prompts
     you to run different carrier tests (see types of carrier tests later in
     this section). Option 5  offers you the chance to select a custom modem
     driver. Option  7 allows   you  to return  to the  main menu  (pressing
     ESCAPE or a  left/right arrow  key  also does the same  thing as option
     7).  
              
     4.31 Modem Driver Modules    
     --------------------------  
     Although your AT instruction set modem is based on a defacto standard
     developed by Hayes,  there are several "supersets" of  this instruction
     set  for  various modems.  Currently,  the    Modem Doctor  supports  9
     different software Modem  Drivers for testing; Generic  Compatible, &T0
     (CCITT V.54  test sequence)  instruction set,  Hayes 9600,14400,  Hayes
     28800 bps,  Courier   HST/V.32, Sportster 14440,  USR 28800  bps, ZyXEL
     1496 E and E+,  Practical Peripherals, Intel, and Sierra  Semiconductor
     modems.  If your modem  is not included,  you can easily  pick a driver
     that will work for you following these simple guidelines;

       a) If it is a high speed modem (over 2400 bps), select Hayes 9600.
       b) If it is a 2400 bps modem, select &T0 instruction set.
       c) If these do not work, use Generic driver.

     When the Modem Doctor is running the setup mode, it queries the 
     microprocessor  for its type identification. Based on this information,
     a  modem driver is selected for use.  Basically, all 2400 bps and lower

                                     Page 34














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     modems   are assigned  the Generic Driver,  and all  supported 9600 and
     higher modems  are assigned their  proper ID, based on  the information
     your modem  returns  via its  ROM code.  If Modem  Doctor  knows its  a
     high-speed  modem but can't  determine the  type, the  Courier HST/V.32
     driver is assigned  by default. The &T0 instruction  set modems, (those
     that  use  the CCITT  V.54 test  sequence), are  tested in  a different
     manner with a  different set of instructions. Previous  versions of the
     Modem Doctor would automatically switch to the &T0  instruction set  if
     the modem was a 2400 bps  modem and if it failed to   properly detect a
     carrier during  testing. This  function is still  built into  the Modem
     Doctor, but  you can optionally  select the &T0 driver  yourself before
     beginning  your testing  in order  to speed  things up.  Auto-selection
     added about  10 seconds  a pass  that can now  be eliminated.   If  you
     desire to  select the &T0  set for your modem  instead of letting   the
     Modem Doctor do it for you. 

     NOTE: Don't select this  instruction set unless you know for  sure that
     your modem  is 100% instruction  set compatible with the  Hayes 2400 or
     2400B. Hayes  1200 bps  and lower, and  almost all  other 2400  bps and
     lower modems use  the Generic  Driver. You  will find that  99% of  all
     modems  will  work properly  with this    assignment, in  fact,  if you
     disable all data  compression and Fixed link assignments  from any high
     speed modem (including  28800+'s), the generic  driver will test  these
     modems properly  also! This allows  people with high-speed  modems that
     are not supported currently to use the Modem Doctor for testing. If you
     have  a  high-speed  modem  that is  not  supported,  you  can   use  a
     Combination of  the Manual mode  and the  Generic Modem Driver  to test
     these modems also.  

     All of the modem drivers used by the Modem Doctor are built into the
     program, however version 7.0, like earlier versions, has the ability 
     to recognize an external driver file. If the Modem Doctor finds and 
     external driver file when it starts, it uses those command instead of 
     the  built-in  drivers. The  format  for  drivers has  changed  between
     version 4.0x, 5.0, 7.0  and any future drivers will be  released in all
     formats  for users of all versions of Modem Doctor.

     What purpose is  there in external drivers?  Well, first off, if  a new
     modem  command set is  adopted, or  a bug is  discovered in  one of the
     built-in modems, you  will be able to  receive a free driver  file from
     any bbs or by mail. This  means that your copy of the Modem  Doctor can
     stay current  for some  time to  come. The second  reason for  external
     drivers is to  allow you,  if you desire,  to have us  custom design  a

                                     Page 35














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     modem driver for a particular modem. These drivers would be designed at
     a  modest charge and would be for your  use only. In any case, external
     drivers insure your investment in the Modem Doctor.

     4.32 Types of Carrier Tests  
     -----------------------------     
     The carrier tests are designed to test your modem under actual use
     conditions (minus a telephone line). Your modem uses two different
     frequency bands for communication. These are the originate and answer
     frequencies. AT Compatible modems can select these under command of the
     Modem Doctor via the appropriate Modem Driver module. So called "Dumb"
     Modems have front-panel switches that you must use to properly test the
     modem. The Modem Doctor supports both types of tests, one of which is
     automatically selected by the Modem Doctor depending on the hardware it
     detects.  
              
     4.33 AT Instruction Set Tests 
     -----------------------------     
     If you selected  the Test Modem/Uart option  from the setup menu  and a
     Modem with  a compatible  microprocessor was detected,  or if  you have
     forced the  Modem Doctor to  use the AT  instruction set tests  via the
     hot-key  ALT-F, the  Modem Doctor  will test  the originate  and answer
     frequencies of your modem automatically. Before running this test, make
     sure you have  disconnected the modem from the  telephone line, because
     the modem will go  off-hook and sometimes the  dial-tone will interfere
     with  testing. If you press ESCAPE in this menu, you return to the main
     menu. Any other  key continues. You will  be prompted to enter  a "Loop
     Count".  If you  select a  count of  1, you  will be  able to  hear the
     connecting tones on your speaker. If you select a count greater than 1,
     then the speaker is turned off.  

     After you make your  selection, two windows will  open on your  screen.
     One contains data that is being sent to the modem,  the other data that
     has been  received by the modem. All of the characters from binary 0 to
     binary 255  are transmitted.  Some of these  will look  strange because
     they are  characters of  the extended character  set. The  Modem Doctor
     takes a  great deal of care in preserving  the normal condition of your
     modem before testing, and sends  all the character strings necessary to
     test without disturbing  any non-volatile memory settings.  If you have
     an external  modem, you will  see the data being  sent and acknowledged
     before testing begins. 



                                     Page 36














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     While it is setting up, the Modem Doctor tells you what is going
     on, including that  the modem is  reset, that commands are  being sent,
     and  that it is waiting for a carrier.  The Modem Doctor waits up to 15
     seconds for either the word CONNECT or the  RLS signal to go active. If
     this does not happen, the Modem Doctor  switches to the &T0 command set
     that is  used by Hayes  2400's and several  other clones. This  test is
     just as  valid as a  full carrier test  for these types of  modems, and
     verifies  both  the  modem  and  the  uart  signal  paths  as  does the
     traditional  carrier test.  If you  switch to  this  mode, you  will be
     informed  via  the  screen and  the  message  "CCITT  V.54  "  will  be
     displayed.  Also, if  you have  an external  modem, you  might see  the
     "modem ready" light flashing throughout  this test. If you selected the
     &T0 instruction set yourself from the Modem Driver selection menu, then
     the  &T0 set  will  be used  exclusively.  This selection  is  mainly a
     convenience for some users  (because the auto-detection method takes  a
     little  longer), however  it  will not  test any  other  kind of  modem
     properly. If you  are unsure, let  the Modem Doctor  figure it out  for
     you. Note, if you select more  than 1 iteneration and change you  mind,
     press ESCAPE anytime during the test. At the next available loop-repeat
     time the  Modem Doctor  will abort  testing and give  you your  current
     status.  

     4.34 Uart or Dumb Modem Tests 
     ----------------------------- 
     This test works the same as the AT instruction set modem test with two
     main exceptions. First, Your modem must  be able to generate a  carrier
     on  its own  on the  answer  and originate  frequencies. Most  external
     "dumb"  modems  have front panel switches  for this function. Most  are
     marked as  AL (for Analog  Loopback). If your modem  can generate this,
     answer yes    and follow  the prompts  on the  screen.  All testing  is
     performed  as above,  except you setup  the modem instead  of the Modem
     Doctor  using its modem driver software.   Whenever the Modem Doctor is
     working with the  micro in the "Off-line" mode, the dumb mode tests are
     used. You are prompted if your modem can generate a carrier. Answer yes
     to start  the testing.  You are then  told to place  your modem  in the
     analog loop mode and force the carrier detect on. Most dumb modems will
     light the CD light  on the front panel of the modem  when you press the
     AL switch. This  CD light sends  a RLS (Received   Line Signal)  status
     word  to the uart. The Modem Doctor looks for this before it will allow
     testing in  this dumb mode.  If your  modem cannot  generate a  carrier
     indication, you  can still test  an analog loopback using  the loopback
     function in the registered version and select the analog loopback tests
     (this is explained later in the documentation).  

                                     Page 37














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


              
     4.35 Error Messages 
     -------------------     
     If A RLS (Received Line Detect) signal is not received before testing
     begins, this indicates that either a carrier is not being generated (or
     properly received in self test) by the modem, or an RS-232 Cable to an
     external modem  is improperly  wired. Although  RS-232 loops  will work
     fine without an RLS signal  being wired, there is no way for  the Modem
     Doctor to detect on a  dumb modem if a carrier  was generated. On a  AT
     instruction set modem, the Modem  Doctor alternately looks for the word
     "CONNECT"  to  be  sent  from the  modem  if  there  is  no RLS  signal
     available. If you wish your all of your communications programs to work
     properly, you should get a cable with this signal wired. If an error is
     detected during  the analog  test,  the error  counter is  incremented.
     There are two error counters; one  is used for the originate mode,  and
     the other for the answer mode. If you receive an error, it could be due
     to a problem with a uart or a modem at a certain baud rate. Try testing
     at other  baud rates to  determine if  the errors  repeat. Also  errors
     could occur on only the originate or the answer frequency. This is more
     prevalent at higher baud rates.  Finally, make sure that the  modem was
     disconnected   from  the  phone  line  before  testing.  The  dial-tone
     interferes with some modems. One other possibility exists, that
     there could be a problem with a cable or interrupts not properly being
     generated or  properly handled  by the  CPU.  Run the  digital/loopback
     tests  and  if  the problem  repeats,  you  might have  a  bad  uart or
     motherboard problem. Although it is  unlikely, if power is removed from
     the modem  or a  cable falls off  (or who knows  what else),  the Modem
     Doctor waits a pre-determined period of time for an interrupt to occur.
     If  none is  detected,  the  warning "Modem  Queue  Failure" or  "Modem
     Receiver Failure"  will be displayed in one of the windows. These might
     also be  displayed if  the modem never  acknowledged a  character being
     transmitted, or  never sent one  back. Again, the only  conditions that
     would cause this would be a  cable being removed between the modem  and
     the uart,  the power being removed to the  modem, or the modem "blowing
     up" via some unnatural means during the test. If the RLS (Received Line
     Signal) is constantly active from the modem, the Modem Doctor will tell
     you that you might have  a problem with a cable  or the modem and  that
     the test results might not be valid. Reason for  this is that the Modem
     Doctor never did  detect a carrier because the uart said it was already
     there. This can be traced in nearly  all cases to the modem. Change the
     setting  of the modem to let the carrier   Detect (CD) act normally. It
     should never be set to be forced on for a PC. If so, not only the Modem
     Doctor, but other communications programs will  not operate properly. 

                                     Page 38














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     4.36 IRQ Failures
     -----------------
     The Modem Doctor will allow you to test a modem that might not have a
     proper IRQ  assignment. Such errors  in jumper settings on  your serial
     cards or internal  modems are  tough to  trace. If you  see this  error
     message  displayed,  it  means that  your  modem  is  receiving signals
     properly, but  it cannot communicate  back to the computer  over normal
     interrupt assignments. This  normally results  from using  an IRQ  line
     reserved for  one comm port with  another. See the  section above about
     IRQ's if you get this error, and use  the table above as a guide to how
     to correct  your problem. IRQ failures  will be displayed in  the setup
     mode, the  Regs Quick Uart  Diagnostics mode, the Analog  Loopback mode
     and the Carrier Tests mode.

     4.38 Burst Mode Tests
     ----------------------
     Burst Mode tests  have been added to  Modem Doctor. Unlike the  carrier
     self tests  (which transmit  1 character  at a  time and  wait for  the
     character to be received), the Burst Mode tests send all characters  at
     once, and  then clock  how long  it takes  for these  characters to  be
     received. There are 3 different Burst Mode Tests.

       1) Burst Mode Self-Test - All 255 characters are sent in a burst. 
       2) Burst Signature test - designed to detect shift register and
                                 modulation problems.
       3) Burst Alt Data test  - another test pattern used for similar
                                 purposes as test #1.

     Modem Doctor clocks how long it takes to receive them all. This 
     information is displayed in a bar between windows like this;

     --------------------------------------------------------------------
     16550A TR14 TX Time = 1.21sec  210 cps RX Time = 1.00sec   255 cps
     --------------------------------------------------------------------

     Between  the windows  (sent  to and  received from  modem),Modem Doctor
     calculated  the send  and return  time  and approximate  characters per
     second. Also,  since this particular test was run  on a computer with a
     16550AFN uart,   Modem  Doctor also displays  the buffer  trigger level
     (14). A  16550AFN uart   will usually return  characters faster  than a
     regular uart. Transmit times   however depend  on the type of  computer
     more than the type of uart.  Faster machines can send data faster.


                                     Page 39














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe



     After the test runs, you will see this window;

        [  Burst Test ]͸
         The results of the burst mode data tests shows that     
         approximately 465 characters per second can be safely   
         moved between modem and uart without handshaking        
                                                                 
         You do not need any handshaking at this DTE speed       
                       Press Any Key to Continue                 
                                                                 
        

     This  value is  calculated by  adding  the receive  and transmit  times
     together. If  Modem Doctor  calculates the round  trip time to  be more
     than it should  be at the chosen  baud rate, you will see  this message
     instead;

        [  Burst Test ]͸
         The results of the burst mode data tests shows that     
         approximately  210 characters per second can be safely  
         moved between modem and uart without handshaking        
                                                                 
         You will need some sort of handshaking at this speed    
                       Press Any Key to Continue                 
                                                                 
        

     At  2400 bps,  240  characters  are transmitted  each  second. If  your
     computer can only  handle 210 cps total, then  your computer could drop
     characters.  Therefore hardware handshaking is needed. Now, no computer
     made will have this problem until you exceed baud rates of 4800 bps. At
     9600  bps, 960  characters  need to  be received  per  second. If  your
     computer can only  handle 930, you will need  handshaking. At 19200bps,
     you need to  be able  to handle  1920 cps. Most  computers under  50mhz
     cannot do this without handshaking.

     The Burst Signature Mode tests are  useful in detecting Modem or serial
     link modulation/demodulation problems. As with the previous Burst test,
     Modem  Doctor  calculates  the  tx  and rx  times.  However,  only  one
     character  is sent, an A5 hex or  .  This character in binary is broken
     into  two halves;    1010  (A)  and  0101  (5).  Since  modulation  and
     demodulation  in modems   depends  on correctly  phasing changing  data

                                     Page 40














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     packets,  this  A5 character    swings  the  modem between  worst  case
     repeating bit states.  If you find   errors here, you may  have located
     the source of your "line noise" problems.

     Burst  Alt Signature  Test -  Another  useful test  in determining  the
     condition of  the modulator/demodulator in  a modem. In this  case, two
     characters are alternated; the   or A5  hex and the letter Z or 5A hex.
     The modem sees these data bits  1010 (A) 0101(5) 0101 (5) 1010 (A).

     Additionally, Modem  Doctor  stresses the  first  few data  packets  by
     sending the sequence  5A A5 5A A5 5A  A5 A5 5A 5A A5 A5  5A A5 5A. Many
     times,   initial packets  of data  are garbled  (beginning of  a line).
     Again, if  you    have a  failure,  this  may  be the  source  of  your
     intermittent line noise.

     The analog burst tests in the registered version work in the identical
     manner, except no modulation from a modem is used. This enables you to
     test the shift registers and serial/parallel decoder features of your
     serial port.

     4.4 Loopback Tests     
     -------------------      
     The loopback tests were designed for two purposes. First, to test an
     RS-232  loop  including  cables that  are  properly  terminated  with a
     loopback plug,  and second, to run a digital  loopback test on 8250 and
     100% compatible uarts.  Additionally, the analog  portion of this  test
     can be used to test a  dumb modem that does not generate a  CD (carrier
     detect)  signal  when the  AL  switch  is thrown  on  the  front panel.
     Selecting loopback and pressing return fetches this menu;      


     [  Loopback Tests  ]ͻ
      Analog Loopback using a PLUG   +<- test Uart & Cables
      Digital Loopback 8250 UARTS    +<- Uart test only
      Burst Mode Self-Test           +<- New, Sends data in a burst
      Burst Signature Test           +<- New, Sends Burst signature data
      Burst Alt Data Test            +<- New, Sends alternate burst data
      Loopback Plug Technical Data   +<- How to build a
      Help with Loopback Tests           loopback plug
          Return To Main Menu       
     ͼ
                                       +registered version only


                                     Page 41














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     Analog loopback tests require that you attach a Loopback plug either to
     the back of the Comm port connector on your computer, or at the end  of
     a  RS-232 Cable. This test is designed for external modems, however you
     could run this on an internal modem as  a test of the command channel's
     ability     to receive characters.  Caution should be used  on internal
     modems,  for  some will  fail  this  test. If  this  happens,  don't be
     concerned. However  this test should  NEVER fail with a  loopback plug,
     unless  you  were trying  to  drive  the  line at  an  excessive  rate.
     Remember, the  faster the data rate,  the shorter the  lines should be,
     and  the faster the  computer should be  to handle it.  With a loopback
     plug on  the back of the  serial port, speeds  of 56000 bps  should run
     fine even  on a slower PC (as long as it is not multi- tasking). If you
     experience  problems  at 56000  but  not at  19200,   chances  are your
     hardware is  fine (if you  are using an  8250-B). In extensive  testing
     with PC's at 4.77 mhz, the original 8250-B performed flawlessly at
     56000 bps.  Dumb modems can use this test  also (as explained above and
     in the section carrier tests).  Digital loopback tests require that you
     have    an  8250-B,  8250A,16450,  16550,    16550A(x)  or  other  100%
     compatible uart in your system. These uart's have built-in diagnostics.
     If you are  using a  PC compatible  internal modem or  a PC  compatible
     serial card, then you will definitely have a compatible uart installed.

     There is  a design difference  between the 8250-B and  other compatible
     chips in this series. Some of the differences were explained above, but
     the important difference for the loopback test is the way the different
     uarts will  respond.   The 8250-B  allowed its  OUT2  signal to  become
     active  during  loopback  testing.  The  OUT2  signal  is  used  by  PC
     compatible  machines to  gate the  interrupt signal  off of  the serial
     board  (or internal modem). Later designs (8250A, 16450, 16550,16550AN)
     tri-stated this line.  As a result, the self-test  diagnostics will not
     allow the interrupt signal to gate off the board and interrupt the CPU.
     This would cause all  digital loopback tests on these improved chips to
     fail. The Modem Doctor handles this by a brute-force read of the uarts.
     By sampling the Interrupt ID register, the presence  of an interrupt is
     detected, then the receiver buffer register is read. This method is not
     as  efficient as  a  true interrupt-driven  test  would be,  but  it is
     accurate. The Uart does generate the ID for an interrupt, the character
     is pulled out of the  uart. In version 4.0,  the speed of this  routine
     was significantly  enhanced so that  it runs approximately at  the same
     speed as a true interrupt driven 8250-B.




                                     Page 42














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe



     When running this test on an 8250-B, you will see the true speed of the
     interrupt handling and processing. On others, you  will see the
     brute-force method.  Each is an accurate test of  the uart and valid at
     any baud rate  selected. If this test does not run,  but yet the analog
     test and all other  tests  run fine,  it means that  you do not have  a
     compatible uart   installed.   Some uarts  that are  not 8250's  have a
     problem entering this  mode properly.  If  the test does not  start, do
     not be alarmed,  because  only 8250 and true compatibles will pass this
     test. However this  test will NEVER start  and then fail unless  you do
     have a  hardware problem. You  should never  pick up a  character error
     using this test. If  you do, you  have a bad uart  or  CPU  motherboard
     problem. Both tests open up windows (like the analog test) and send and
     receive characters  to the  uart. If you  wish to know  how to  build a
     loopback  plug,  select  the  Loopback  Plug  technical  data  section.
     Pressing ESCAPE or  the left/right arrows is  the same as Option  4 and
     returns you to the main menu.  
           
     4.41 Loopback Test Error messages         
     ---------------------------------           
     Essentially  the error  messages for  these  tests are  simple. In  the
     loopback test mode,  if a character is received  incorrectly, the error
     counter is advanced and a report is issued at the end. If the analog or
     digital tests fail to receive or transmit characters, the messages will
     explain that  either the transmit  queue, the receive queue  failed, or
     that the uart  did not respond  to the tests.  The last message  may be
     displayed if you have a non-compatible uart. If the uart fails to setup
     properly for the digital loopback  test (does not program its registers
     properly), a warning is      displayed that there is an error in one of
     the  registers. The  message will  explain  what is  wrong and  what it
     expects.  Also, if you are using the wrong IRQ line for your comm port,
     you will receive an  IRQ failure error. See the warning message section
     for more details.                    

     4.42 Burst Mode Tests
     ----------------------
     Like the  Carrier mode,  Burst Mode  tests have  been  included in  the
     Loopback   tests.  Unlike  the regular  analog  loopback  tests  (which
     transmit  1 character  at  a time  and  wait for  the  character to  be
     received), the Burst Mode tests  send all characters at once,  and then
     clock how long  it takes for these   characters to be  received. Please
     refer section 4.38  for a description of these tests. Used with a Uart,
     these burst  mode diagnostics are used to test  serial ports and do not

                                     Page 43














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     use any modem  modulation techniques. However, burst tests  will detect
     bad buffer chips or serializes in a uart just as it detected modulation
     problems in  a modem.  As with  the  carrier mode  tests, Modem  Doctor
     calculates the system throughput and displays it in this manner;

     --------------------------------------------------------------------
      16550A TR14 TX Time = 1.21sec   210 cps RX Time = 1.00sec   255 cps
     --------------------------------------------------------------------
     Between  the windows  (sent  to and  received from  modem),Modem Doctor
     calculated  the send  and return  time  and approximate  characters per
     second. Also, since this  particular test was run on a  computer with a
     16550AFN  uart, Modem  Doctor also  displays the  buffer trigger  level
     (14). A 16550AFN  uart  will  usually return characters  faster than  a
     regular  uart. Transmit times   however depend on  the type of computer
     more  than the  type of uart.   Faster  machines can send  data faster.
     After the test runs, you will see this window;

                [  Burst Test ]͸
                 The results of the burst mode data tests shows that     
                 approximately 465 characters per second can be safely   
                 moved between modem and uart without handshaking        
                                                                         
                 You do not need any handshaking at this DTE speed       
                               Press Any Key to Continue                 
                                                                         
                

     This  value is  calculated by  adding  the receive  and transmit  times
     together. If  Modem Doctor calculates  the round trip  time to  be more
     than it should be  at the chosen baud  rate, you will see  this message
     instead;

                [  Burst Test ]͸
                 The results of the burst mode data tests shows that     
                 approximately  210 characters per second can be safely  
                 moved between modem and uart without handshaking        
                                                                         
                 You will need some sort of handshaking at this speed    
                               Press Any Key to Continue                 
                                                                         
                



                                     Page 44














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe



     4.5 Options Mode
     ---------------------              

       [  User Options Selection  ]
        Interactive Terminal Mode    <- A Built-in mini-terminal 
        View FAX Mode Settings       <- New, List Current Fax settings
        View Current Statistics      <- Status of all tests
        Reset Current Statistics     <- Reset all tests to 0 
        Print Current Statistics     <- Send results to printer
        Generate MDRD Windows file   <- Generates a special Windows file
        Help with these options    
           Return to main menu     
       ͼ

     The options mode allows you access to the built-in 16k communications
     terminal (Interactive Mode), and the report generator features. 

     4.51 Interactive Mode
     ----------------------
     As well written as  the Modem Doctor is,  there exists the  possibility
     that a modem or a system might not be compatible with  the diagnostics.
     The manual section allows  you to send your own string  commands to the
     modem,  read  back   data,  and  in  fact  you  could  use  this  as  a
     mini-communications program.   If you select this mode,  a window opens
     with  the  banner  Interactive  Mode.  At the  Bottom  are  listed  the
     "Hot-Keys" you can use;

           ALT-B   This opens a window for you to change the baud rate.     
               Note: if you are on-line with a service this might cause an  
               error between the computer and the modem. Off-line conditions
               should work properly. 
              
           ALT-C   Clears the screen. This only clears the window of data,
               and leaves all your prompts.   

           ALT-N   Add Nulls, this is new with Modem Doctor 5.0, and can be
               used to determine if your display adapter is causing
               "Interrupt Latency".
              
           ALT-R   This displays the Uart registers...handy for real-time   
               troubleshooting of RS-232 loops.      
         

                                     Page 45














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


          
           ALT-H   Help..this displays the basic AT Command set instructions
               that  you could use to control your modem. Note that this is
               only a basic set. Some modems have many extensions to this,
               so for advanced work, consult your owners manual.      
              
           ALT-X   Exits the interactive mode and returns to the main menu. 
       

     4.51A Testing for Interrupt Latency
     -----------------------------------
     Interrupt Latency is caused by  a hardware device (usually a hard  disk
     or a   video display adapter) taking longer  to process a function that
     the time it   takes to receive  a character over your  modem. Normally,
     interrupt latency is  not a  problem until you use DTE/DCE speeds  over
     19200bps. With today's high- speed  modems, its not uncommon for people
     to be running speeds of 38400 or   57600bps between computer and modem.
     Older display adapter, most notably  early EGA's  with "Auto-detection"
     circuitry, cause  interrupt  latency. The    symptoms will  range  from
     loosing characters occasionally  to excessive errors   when downloading
     files. 

     There is  no  real test  for  interrupt latency,  because such  a  wide
     variety of  situations  can cause it. The  only "cure" is to acquire  a
     faster display  adapter or  a 16550AFN uart. Now,  there is a way  that
     you can use Modem Doctor to verify such an error is happening, and that
     is by using ALT-N. When you add  nulls, you are telling Modem Doctor to
     wait a bit longer inside of a routine that talks to your video adapter,
     looking  for more  interrupts before  exiting the  display  routine. If
     adding nulls improves the error  rate that you see characters displayed
     (while on-line via the Interactive mode to a BBS), then you know you do
     indeed  have an  interrupt latency problem.  There are  two "short-cut"
     keys associated with  ALT-N, and they are ALT+ and  ALT-. ALT-N prompts
     you for a number, while ALT+ adds 1 to that number, and ALT-  subtracts
     1 from that number.









                                     Page 46














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe



     4.51B View Fax Mode Settings
     ----------------------------

     If you have a fax modem, Modem Doctor will give you more detailed  info
     on its features than the setup menu initially displayed.

     [ Fax Modem Information]͸
      Current Fax Class       : 0                                   
      Permissible Fax Classes : 0,2,8                                
      DCE Model Information   : U1496E  V 6.01 M                    
      DCE Manufacturer        : ZyXEL                               
      DCE Revision Number     : U1496E  V 6.01 M                    
      Auto Answer Mode        : DCE answers/auto-determines         
                          Press Any Key To Continue                 
     

     If your modem  is a Class 1, none of this  information can be displayed
     since the modem lacks the ability to accept T.30 commands. However,  if
     you  do have a Class 2 or higher  modem (as most are), you will see the
     display above. This information, especially Permissible class faxes and
     Auto Answer mode are important for some fax software.


     4.52 View Current Statistics
     ----------------------------
     Whenever you  log-in a comm  port for  testing, the Modem  Doctor keeps
     tabs  on how many tests were run, the  baud rates that were tested, and
     how many errors you accumulated. You can view these statistics by using
     this selection. These results are  also displayed whenever you quit the
     Modem Doctor.

     4.53 Print Current Statistics
     -----------------------------
     If you wish a hard-copy of your  test results, just select this option.
     You will  be able to  send this to  any one  of the printers  the modem
     doctor finds available or to a file called MDR.RPT.

     4.54 Reset Current Statistics
     -----------------------------
     Use this mode to reset all test results back to zero at any time.     



                                     Page 47














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe



     4.55 Generate MDRD Windows File
     -------------------------------
     Windows  introduces a  layer between  your  communication hardware  and
     software.  This layer  is  managed  by a  special  driver. The  default
     Windows  driver, Comm.drv, needs  information contained in  two special
     Windows  files, system.ini and  win.ini. Unfortunately, Windows  has no
     way to check if this information is valid or not.

     When you select this  feature, Modem Doctor Ver 7.0 generates a special
     .INI type file that declares all of the communication hardware settings
     using Windows-style variables. The file takes the following format;

     [mdrd]            ; a section applet for Windows

     Com1Base=03F8     ; Com1's base address is 03F8 hex
     Com1Irq=4         ; Com1's IRQ is IRQ4
     Com1FIFO=0        ; Com1 has a 8250/16450 uart installed
     Com2Base=02F8     ; Com2's base address is 02F8 hex
     Com2Irq=3         ; Com2's IRQ is IRQ3
     Com2FIFO=1        ; Com2 has a 16550AFN Buffered Uart installed
     Com4Base=02E8     ; Com4's base address is 02E8 hex
     Com4Irq=3         ; Com4's IRQ is IRQ3
     Com4FIFO=0        ; Com4 has a 8250/16450 uart installed

     Notice  there is  no readings  for  Com3. Modem  Doctor  will only  log
     hardware it was able to  identify. Also, unlike Windows, Modem Doctor's
     MDRD.INI  file   contains  VERIFIED   information  from   the  hardware
     diagnostics. You can now use this information in two ways; First, print
     it out and  compare it to the  contents of your system.ini  and win.ini
     files. Second, you  can use Modem Doctor  for Windows to do  a side-by-
     side comparison of your Windows settings and Modem Doctor for Dos 7.0's
     findings.  You can  then use  the built-in  .INI file  editor in  Modem
     Doctor  for Windows to  make your corrections.  Troubleshooting Windows
     communication problems are now easier than ever before. For information
     about Modem Doctor for Windows,  see the section entitled "Modem Doctor
     for Windows" in this document.

     The file  created, MDRD.INI  is placed in  your default  directory (the
     current directory  you are using  with Modem Doctor  7.0. In  order for
     Modem Doctor for  Windows to use  this file, you  must copy it to  your
     Windows  subdirectory (the directory  that contains you  Windows files,
     usually C:\WINDOWS.

                                     Page 48














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     4.6 Setup Mode     
     --------------      
     The setup  mode consists  of 2  sections.  The first,  the setup  modem
     section was  covered above.  Use this to  change the serial  port under
     test, the baud rate, and the type of test to be run.        

     The  second section allows  you to select  the colors that  you wish to
     work with while using the Modem Doctor. You can select default colors,
     Monochrome (black and white), or create your own custom colors.

     If you are using a color monitor, you can use window selections to pick
     the colors you  like and optionally save  them to a file  (MDR.CFG). If
     you  save them, then as long as this file exists, the Modem Doctor will
     use those colors  in place of the  default ones. To return  to default,
     either erase the  MDR.CFG file, or select default colors and save it to
     disk. When  you enter the color  selection mode, you will  be presented
     with three different  windows that will allow  you to make legal  color
     selections.

     [ Mdr Color Selection Screen ]
     Select from this menu the color of normal window and error backgrounds
     Background
     Black 
     Blue  
     Green 
     Cyan 
     Red 
     Magenta 
     Brown 
     Gray 

     Select from this  menu the  color of all  window foregrounds &  sliding
     bars
     foreground colors;
     Darkgray 
     Lightblue 
     Lightgreen 
     Lightcyan 
     Lightred 
     Lightmagenta
     Yellow 
     White 


                                     Page 49














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     If  you select two  colors the same (or  different intensities that are
     the same), the Modem Doctor will tell you your selections  are invalid.
     After you have made your choices,  you will be presented with a  window
     that allows you to save your choices to a file, use the choices without
     saving  or reselect.  If you  save them to  a file,  a file  MDR.CFG is
     created or  updated. When Modem Doctor loads the next time, it will use
     these colors again.


     4.7 Exit Program     
     ----------------     
     This is  the  only way  to exit  the Modem  Doctor.  This is  necessary
     because  the  interrupt tables  and  controllers  of  your PC  must  be
     returned to their original  state in order to avoid  problems after you
     use the Modem  Doctor.  Pressing Control-C or  Control-Break during the
     Modem  Doctor will cause  one of two  things to happen.  First, it will
     ignore what you  have done if  it is critical that  the program not  be
     interrupted,  or second,  if  it is  at  all possible  to exit  without
     damage, a window will open telling you that you can Control-Break abort
     if you wish..answer yes or  no. You can Control-Break during  all tests
     and at times from menus. If you choose to quit, the Modem Doctor cleans
     things up properly  and exits to Dos.  Please remember this is  just an
     emergency way of  doing an exit. Use the  Exit function from   the main
     menu as the correct way to end the program.




















                                     Page 50














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe



     5.0 Error Messages and their Meanings     
     -------------------------------------     
     The Modem Doctor, if presented with an error, will make a  diagnosis of
     the problem. In most cases, this should be enough for you to figure out
     what is wrong and go on from there to correct it.      
              
     General Program Errors or Warnings
     ----------------------------------
     1)   ABORT PROGRAM Control Break Key pressed..Aborting Program Run. 
          Do you wish to abort? [Y/N] : 
          - This means you have pressed the Control Break Key sometime
          during the program run. The Modem Doctor, unlike most programs,
          does not drop to dos with a Control-Break without cleaning up
          after itself. Answering Yes will clean up and stop the program.
          Answering no keeps the program running at the spot you left off
          at.

          If you answer Yes, you will see this message;
          Flushing Buffers.......Restoring Comm Port and Interrupt Vectors
          Program Aborted..all vectors restore.

     2)   You Must SETUP a COMM PORT first....Press any key to continue 
          - If you do not select at least 1 comm port when the program first
          starts running, you cannot run any tests. This message explains
          why.

     3)   Exchanging COM1 and COM2 Base Addresses in Memory
          COM1 Address was    %x   COM2 Address was    %x
          COM1 Address now is %x   COM2 Address now is %x
          Run MDR /X again to exchange again, these changes are gone when
          you reboot!
          - This messages is displayed when Modem Doctor is run in the
          exchange mode (MDR /x).

     4)   Sorry...but I cant find a modem to use... Use Login Feature to
          Manually Log in a comm port.
          - The Modem Doctor needs at least 1 comm port installed at a
          conventional port address to run. If none are available, you have
          to use the manual login mode to start testing. You should never
          see this  error message with a computer unless it has no serial
          ports whatsoever.


                                     Page 51














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     5)   Resetting modem to your default settings...please wait
          - Whenever you exit Modem Doctor and a microprocessor-based modem
          was detected, it will clean up after itself and restore your modem
          to initial settings. Uart only tests do not display this message.

     6)   Your foreground color equals  background..please retry
     7)   Your foreground low intensity equals background, please retry
          - These messages are displayed when you make color selection
          choices that would not be proper for the type of display monitor
          you are using.

     8)   Warning..I could not create the MDR.CFG file. No colors saved to
          disk.
          - Modem Doctor could not save the file to disk, perhaps there is
          no more space on the disk or the disk is write-protected.

     9)   Warning..I could not read the MDR.CFG file. No colors read to disk
          - You asked Modem Doctor to load the color configuration, however
          there was none found on your disk or in the current working
          directory.

     Setup Mode Diagnostics
     -----------------------
     1)   No Response...resetting modem microprocessor ...attempt #%d
          - The Modem Doctor tried sending a simple AT command to your modem
          but it did not respond with a valid answer.

     2)   Modem microprocessor command mode not detected
          - The Modem did not respond to a valid, simple AT command either
          because it is on-line, jammed, or not completely compatible.

     3)   Modem microprocessor command bus active
          - The Modem Doctor received a correct response from the modem and
          placed it into the command mode.

     4)   Software reset initiated
          - A software reset clears all test registers and resets the modem.

     5)   Modem microprocessor memory tests OK
          - The Modem Doctor instructed your modem to run a self-test of its
          RAM/ROM contents. It responded successfully.



                                     Page 52














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe



     6)   Modem microprocessor memory may have a problem
          - The Modem Doctor instructed your modem to run a self-test of its
          RAM/ROM contents and did not receive the proper response. Your
          modem may or may not have a problem depending on the results of
          all the rest of the testing. If all other tests are ok, chances
          are your modem might have a memory problem. If other tests fail,
          it could be because your modem is not completely compatible.

     7)   Modem ID reports a 1200 bps modem installed
          Modem ID reports a 2400 bps modem installed
          Modem reports a 9600+ bps modem installed
          Modem reports a 9600 /1440 bps modem installed
          - All of these messages are based on receiving correct product
          codes from your modem. Some modem manufacturers however do not
          place valid product codes in their modems, so it is possible that
          you might see the Modem Doctor give you the incorrect type of
          modem. This does not affect testing, however it does affect the
          type of Modem Driver that is automatically selected. You can
          override automatic selections from the Carrier Menu by selecting
          the proper driver for your modem.

     8)   No modem ID received...using Generic driver
          - No product code was received, so defaults are being used.

     9)   Modem microprocessor accepts setup commands
          Modem microprocessor did not accept setup commands
          - The Modem Doctor sends setup commands for all of its tests to
          your modem. If they were not received properly, you get an error
          message.

     10)  An 8250-B Uart has been detected
          A 16450 / 8250A Uart has been detected
          A 16550AN/AF/AFN Buffered Uart has been detected
          A 16550 Non-buffered Uart has been detected
          - The Modem Doctor programs uarts differently depending on the
          type and the test running. This will tell you what type of uart
          chip you have installed in your serial port.






                                     Page 53














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe



     11)  Modem Control Register reading show that either the LOOP, OUT2,
          DTR, RTS did not set properly to test. OUT2 and DTR are essential
          for proper-functioning communications. LOOP is necessary for the
          digital test to run.
          -Either the Modem Control Register is bad, or their is a problem
          with the serial port or modem.

     12)  Modem Status Register readings show that there is no status coming
          back from the modem to the Uart. Neither RTS/CTS or DTR/DSR Pairs
          are active. Most comm programs can work without RTS/CTS, but
          DTR/DSR are needed by most. RTS/CTS are needed by most hi-speed
          modems for handshaking.
          -Your external cable may be wired wrong, or if this is an external
          modem, check that the cable is plugged in and that the modem is
          turned on.

     13)  Line Control Register readings show that the word length selected
          is incorrect or you have a parity error. WS1 and WS0 should both
          be on indicating that 8 bit words are to be used. All other
          readings should be low. Parity errors could happen once but not
          every time. 
          -If either persists, then the Uart is defective or communications
          to the Uart are suspect.

     14)  Line Status Register readings show a problem. The Tx Holding
          register THE and the Tx Shift register TSE should be the only
          active signals. No other signals should be active. If either TSE
          or THE are not active then the Uart is not resetting properly.
          Uart is suspect. If any other signal is high, and TSE/THE are both
          active, then you have a data overrun or framing error. 
          -If this repeats, you should then suspect the Uart or connections
          to the Uart from the computer.

     15)  Modem Control Register readings show that either DTR,RTS or OT2
          signals are not set properly. DTR & RTS are needed by most comm
          programs. OT2 is essential for interrupts to occur. 
          - Uart is suspect or the interface to the Uart from the computer
           bus.

     16)  Interrupt ID Register readings show that an interrupt is pending
          when none should be. This can be caused by a modem being turned on
          and off as testing was conducted or if data was waiting to be read

                                     Page 54














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


          by a prior  running application, or you are not using the correct
          IRQ line.
           -If this does not clear when you display the registers again,
           then the Uart is suspect or connections to the Uart from the
           computer, or you are using the wrong IRQ line for this comm port
           assignment.

     17)  Interrupt Enable Register readings show that ERI Enable Receiver
          ints is not set properly. As a result, you might not get proper
          recognition of any interrupts being generated when a character is
          received. 
          -Suspect the Uart or connections to the Uart from the computer
          bus.

     18)  Interrupt Controller has not responded to setting the IRQ4 line.
          This problem is on the system board of your computer. Run your
          computer diagnostics program to locate the error.
          -Normally IRQ4 is used for COM1 you might have a usage conflict.

     19)  Interrupt Controller has not responded to setting the IRQ3 line.
          This problem is on the system board of your computer. Run your
          computer diagnostics program to locate the error.
          -Normally IRQ3 is used by COM2 you might have a usage conflict.

     20)  Interrupt Controller has not responded to setting the IRQ7 line.
          This problem is on the system board of your computer. Run your
          computer diagnostics program to locate the error.
          -Normally IRQ7 is used by the printer you might have a usage
          conflict.

     21)  Interrupt Controller has not responded to setting the IRQ5 line.
          This problem is on the system board of your computer. Run your
          computer diagnostics program to locate the error.
          -Normally IRQ5 is used by the Hard Drive Controller you might have
          a usage conflict.

     22)  WARNING...This COMM PORT MODEM STATUS & ID REGISTERS ARE DEFECTIVE
          - This is a severe error. It means that one or more of the uart
          registers are defective. This could also be caused by logging in a
          non-existent comm port in the manual mode. You should never
          see this message displayed in an auto-detected mode unless your
          uart is definitely defective.


                                     Page 55














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     Uart diagnostics
     -----------------
     1)   Confirmed Uart setup to proper baud rate
          - The uart Dlab (divisor latch) settings are polled to make sure
          they match what the Modem Doctor intended. If not, you see the
           following displayed;
          ERROR..Uart did not set to desired baud rate
          (you should not see this message unless the divisor latch in your
          uart is defective).

     2)   Trying a hardware reset of the modem microprocessor
          - None of the attention commands or soft-resets to the modem have
          worked to place the modem microprocessor on-line. A hardware reset
          simulates turning the power on and off to the modem and uart.

     3)   WARNING...This unit does not have a compatible modem attached
          - After many tests and hardware/software resets, the Modem Doctor
          finally deduces it cannot work with this modem because it is not
          compatible. If you have a compatible modem, then you might have
          selected the wrong baud rate to work with, or you forgot to turn
          the external modem on. If there is a hardware problem, the next
          screen you will receive will be the uart diagnostics pointing out
          the problem. 

     4)   Modem microprocessor ON-LINE
          - The Modem Doctor successfully communicated to the modem
          microprocessor.

     5)   Testing Uart hardware only
          - You are running uart-only tests.

     6)   WARNING...The Modem Device appears to be off or not connected
          - No status is being received from the modem indicating it is on.
          If it is on, you might have a bad cable. If you are testing a uart
          that is hooked up to a serial mouse, then you will always see this
          message displayed, for a serial mouse does not use traditional
          uart status.







                                     Page 56














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe



     Report Generator Messages
     --------------------------

     1)   You selected to clear the report stats.This means that any errors
          found will not be reported in a final report format. 
          Are you sure [Y/N]: ? 
          - All report statistics will be cleared if you respond Yes.

     2)   Send to file MDR.RPT 
          Send to printer LPT1:
          Send to printer LPT2:
          Send to printer LPT3:
          Do not Print /Return
          - The printed form of your report can be sent to any one of 3 dos
          printers (if the Modem Doctor detects they are installed) or to a
          file called MDR.RPT.
          
     3)   Print Buffer full or Printer off-line
          - If the Modem Doctor cannot communicate with the printer, it is
          either receiving a busy signal from the printer (which clears when
          the busy signal is lifted) or the printer is off-line.

     Static DTR/DSR   RTS/CTS  Handshaking tests
     -------------------------------------------

     1)   Lowering DTR Signal..waiting for DSR to follow
          DSR did not follow DTR dropping or is set as a permanent ON
          DSR followed DTR drop...normal for all devices
          DSR did not follow DTR raising..possible cable or modem setup
          problem
          DSR followed DTR raise or is set as a permanent ON
          - The DTR/DSR tests work by lowering the DTR (Data terminal ready)
          signal from the computer to the modem. If the modem uses this type
          of handshaking, it should respond by lowering its signal that is
          picked up in the uart modem status register as a DSR (Data set
          ready) signal. If not, then either the modem is not set up
          properly according to standard handshaking protocol or you have a
          bad cable. Please note, a failure to follow DTR/DSR handshaking
          might keep some communication programs from working with your
          modem. If you get an error, consult your modem manual or have the
          Modem Doctor test your cable to an external modem with a loopback
          plug.

                                     Page 57














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


          
     2)   Lowering RTS signal..waiting for CTS to follow
          Dropping RTS Signal to modem
          Modem is using RTS/CTS Handshaking properly
          Modem is not using RTS/CTS Handshake hold
          Raising RTS line    
          CTS did not follow RTS dropping...usually normal for modems
          CTS followed RTS drop...usually normal for serial devices
          CTS did not follow RTS raising...you could have a cable problem
          CTS followed RTS raise or is set as a permanent ON
          - Like DTR/DSR, RTS/CTS handshaking tests check that if the
          computer lowers its RTS (Ready to send) line, that the modem
          responds in kind and that the CTS (Clear to send) status is echoed
          to the uart modem status register. This signal is not as important
          as the DTR/DSR, unless you have a high speed modem. In this case
          RTS/CTS handshaking is critical for proper high-speed transfers.

     Carrier and Dynamic tests
     ---------------------------
     1)   Sending Carrier Test info to modem
          - Commands to self-connect are beings sent to your modem.

     2)   T1 Loopback commands sent waiting 5 seconds till start of test
          - The alternate &T0/&T1 instruction set is being used for self
          tests.

     3)   Carrier Detected...waiting 5 seconds to the start of the test
          - The RLS (Received line signal) went to an active state or the
          Modem Doctor received the words CONNECT from the modem during
          self-testing. The 5 second delay is necessary to allow some modems
          to settle down for proper reception of characters during
          self-tests.

     4)   Using &T1 Loopback command set to modem for this test
          - If you selected the Generic driver and the Modem Doctor failed
          to connect, it uses this &T0/&T1 instruction set automatically for
          its testing. 

     5)   Sending 20 Characters to the modem
          - All Dynamic DTR/DSR and RTS/CTS tests force the modem to self
          connect. Next either the DTR or RTS lines are dropped, and 20
          characters are sent to the modem. If no characters are received
          back to the computer from the modem, then the Modem Doctor reports

                                     Page 58














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


          that the dynamic handshaking works. If a character is received,
          then it means that type of dynamic handshaking does not work.

     6)   Sending Xoff Signal to modem
          - An ASCII character that tells the modem NOT to send data has
          been transmitted to the modem for dynamic Xon/Xoff testing.

     7)   Modem is using Xon/Xoff Handshaking properly
          - 20 characters were sent to the modem, and it properly did not
          send anything back to the computer.


     8)   Modem is not using Xon/Xoff Handshake hold
          - 20 characters were sent to the modem, but it send them back to
          the computer, indicating it did not recognize the dynamic Xon/Xoff
          handshake test. Normally most modems do not need this handshake.

     9)   Sending Xon Signal to the modem
          - This restores the modem to proper operation and clears its
          internal data buffers.

     10)  Warning...I can't test this modem because there is no RTS/CTS
          signals. If this is an external modem, you may not have a proper
          cable or the modem is off. If you have an internal, you might have
          a port conflict or a configuration switch set improperly.
          - Most times this message is due to an improperly wired cable or a
          improper configuration of some modem switches. See your modem
          manual for setup, or use a loopback plug and the Analog loopback
          mode to test the cable.

     11)  Setting up the modem for the Originate Mode Carrier Test..please
          wait.
          Setting up the modem for the Answer Mode Carrier Test.....please
          wait.
           -Self tests commands are being sent to your modem for the
            different connect modes and frequencies.








                                     Page 59














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe



     General program warnings
     ------------------------
     1)   Note...you hit the Escape Key during testing. This means the
          results of this test is inconclusive. You should run these tests
          again without escaping for a valid performance check.
          - You can press escape during nearly all tests that the Modem
          Doctor runs (except during crucial communication modes between the
          modem and computer, in which case as soon as this communication is
          completed, the Modem Doctor will escape with this warning.

     2)   INTERRUPT FAILURE Warning
          Note...No interrupts were detected or generated during testing.
          This could be due to a failure of your serial port to generate
          interrupts or you have selected an IRQ line or Comm assignment in
          error on the serial card or in a custom assignment from the Login
          menu manual mode. Check your settings and if all is ok, suspect
          the Uart or serial port card.
          - This warning can be received anytime that the Modem Doctor tries
          to talk to a modem or a uart (in analog loopback test). The most
          common cause of this problem is an incorrect jumper or comm port
          assignment on your modem or serial port. See the section on IRQ's
          and their meanings to select the proper IRQ line for your port.

     3)   Fixed Rate Advisory
          Note...I had to lower the baud rate to match the connect rate.
          What this means is that you are using a high speed modem with a
          fixed link rate in a variable rate mode. You might want to check
          your DTE/DCE settings in your modem Nram if this is not desired.  
         - Most high-speed modems keep the link between the computer and
          the modem running at a fixed rate, while the connection between
          the modem and the remote modem (bbs or service) operates at
          another rate. This method allows data compression and greater
          throughput (characters per second) to be received by the computer.
          If you have a high-speed modem, check your settings. It is
          recommended you run in the fixed link rate whenever possible so
          you can gain all the benefits of data compression with the new
          data protocols.






                                     Page 60














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe



     4)   Failure Report 
          RLS (Received Line Signal Detect) indicates that a carrier has not
          been received by the UART. Check modem or connector wiring 
          - This is an advisory that you might have a cable wired      
          incorrectly between your computer and external modem or that your
          modem does not raise the RLS signal. This is only critical if your
          communication  programs never display the words "ON-LINE".

     5)   Modem not responding to the Analog originate test
          - Modem never went into the self-test mode. 

     6)   Carrier Not Detected..5 Sec Sync Delay till start of Answer test  
          Modem not responding for Analog answer test
          - A carrier should have been received by the RLS signal or the
          words CONNECT from the modem, if not, the &T0/&T1 instructions are
          sent and the test is performed. If the modem does not respond to
          this test, then the last message is displayed indicating a problem
          getting the modem to self-test itself.

     7)   RLS Warning
          The Received Line Signal of your modem stayed active throughout
          the testing. Some modems have a jumper or switch that should be
          set to carrier is active only when a signal is detected. Check
          your manual to change this setting so the Modem Doctor and comm
          programs will work properly. Check your modem to make sure that
          Carrier isn't forced high 

     8)   NOTE.Carrier (RLS Line) active, it should not be..test may not be
          valid.
          - The RLS signal was always active. This means the Modem Doctor
          cannot figure out if the modem ever entered the self-test mode.
          Also, your communications program probably will always display the
          "ON-LINE" status. Unfortunately, this type of situation is the
          default setting from the factory of most 2400 bps modems. It can
          be reprogrammed by a simple setup command. See your modem manual
          for instructions.

     9)   SET YOUR MODEM TO ORIGINATE CARRIER FREQUENCY...PRESS TO CONTINUE
          SET YOUR MODEM TO ANSWER CARRIER FREQUENCY...PRESS TO CONTINUE
          - Dumb modem tests require you to flip switches on your modem.
          Usually this is the AL button. After you do this, the Modem Doctor
          should see a carrier and continue proper testing.

                                     Page 61














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     10)  Loopback Transmit Error
          Loopback Queue Failure
          ESCAPE KEY PRESSED....ABORTING ALL LOOPBACK TESTS
          UART Control Lines set...waiting 2 seconds for CTS Handshake
          NO CTS Handshake Detected .Continuing test even though plug/line
          maybe bad
          Loopback Queue Failure 
          UART not responding using Analog Loopback Plug mode
          No Loopback Plug or General Failure of the Hardware
          Analog Loopback Test passed without any errors
          - If the analog loopback did not return characters or generate an
          interrupt, then the uart may have been tested without a loopback
          plug attached or there is a failure of the uart. If all was ok, a
          passed message is displayed.

     11)  Loopback Transmit Error
          UART not responding to the Digital Loopback test
          UART Registers did not set for Loop back test 
          UART Digital Test passed without any errors
          - If no characters were received, then either the uart you are
          working with is not 100% 8250-B compatible or defective. If
          everything was ok, a passed message is displayed.

     12)  Warning, Comm Port 1 is using Com Port 2's address.You should
          reconfigure your Serial Card to the correct Address.
          Otherwise,Communication programs won't properly operate.

     13)  Warning, Comm Port 2 is using Com Port 1's address.
          Do you want me to correct this for testing purposes only? [Y/N]: 
          - These error messages are received if the Modem Doctor found a
          Com2 reserved address as Com1, or visa versa. Many PC owners that
          do not have built-in serial ports make the mistake of assigning a
          Com2 address without having a Com1 installed. The ROM-BIOS cannot
          correct this problem or even detect it. The Modem Doctor does and
          will point out the error to you.

     14)  Flopping COM1/COM2 pointers in Memory only. Note..this is only
          valid till the next warmboot of your system. You must change your
          serial card settings to keep this permanent. Note...tests may not
          work  properly because of this error.
          - This message is displayed either in the exchange mode or when
          the Modem Doctor is asked to fix the problem of addresses in
          memory for testing only.

                                     Page 62














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     15)  Logging out incorrect COM1 for testing purposes.
          Logging out incorrect COM2 for testing purposes.
          - If you decide not to fix a problem, the incorrect assignment is
          logged out of Dos and your choices for testing.

     16)  ALL Available COMM ports are in use...Press to Return
          - If 4 comm ports (shareware) or 8 comm ports (registered) are
          already in use, you cannot add any more in the auto-login mode to
          the Modem Doctor. Use the manual mode to override your choices for
          testing comm ports higher than 8.

     17)  Comm (x) Not Found ... override ? :
          - You told the Modem Doctor in manual mode that a port existed
          with a certain base port address. It was not found. If you
          override, this  address is logged in for testing. This allows you
          to test a defective uart chip that might not be recognized by dos
          or the Modem Doctor as valid.

     18)  Sorry...your Modem.dat file has an invalid Comm port
          Sorry...I cannot find Modemdr.dat file in this directory
          
          WARNING...RESERVED PORT ADDRESS in Mdr.dat file
          correct address in hex must be between [ ]..ie [2F8]

          Sorry...your Modem.dat file has an invalid Speed..using 300 baud

          Modem Did not respond to setup string..run the Modem Doctor to
          check your modem.

          Programming according to file Mdr.dat
          Modem Responded to setup string and is ready for use

          - Running Modem Doctor in the setup (/s) mode, the file MDR.DAT is
          queried for the proper comm port, address, speed and setup string.
          If any of this is invalid, one of the messages above is received.
          If it is valid you receive the message that Modem Doctor is
          programming according to the Mdr.dat file.







                                     Page 63














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe



     19) Standard Assignment Not Verified
          When Modem Doctor 6 starts, it automatically verifies all comm
          port base addresses and IRQ settings. However, some environments
          may not tolerate self-testing of IRQ selections. To defeat this
          setting,  Modem Doctor is started with the /Q switch. When
          operating in this mode, Modem Doctor displays the above message
          next to the IRQ assignments to indicate that the program has not
          verified any IRQ assignments.

     Section 6. Special Modes and Information     
     ---------------------------------------- 
     The Modem Doctor supports a wide range of "AT" instruction set modems.
     There are however  "supersets" of instructions that  manufacturers have
     used to enhance the capability of their modems. Although there is some
     structure  in this area, not all commands intermix between different
     brands and lines of modems. This situation is analogous to PC computer
     printers, and it  calls for a similar approach. The Modem Doctor now
     supports the use of "Modem Drivers" to meet these special needs. 
     Additionally, due to the increase in computers using the ISA bus, there
     are more interrupt lines  free to be used  by modem manufacturers.  For
     test purposes, you can use IRQ2-15 for your hardware testing. Using the
     special /S switch, you can send initialization codes to your modem from
     a batch  file or other  command-line need to  setup the modem  for use.
     Finally, to  add some  flexibility to  the Modem  Doctor's diagnostics,
     some  special  "Hot-keys" have  been added.  These have  been discussed
     above in  an operational sense,  however in  this section you  will get
     some idea of how these can help you speed up testing and test defective
     or non-compatible hardware.   
             
     6.1 Using Modem Drivers 
     -----------------------  
     Most Modem's today are built on  the original "AT" instruction set that
     was developed by Hayes Micromodems  in their 1200B series. This driver,
     named the Generic  Driver in the  Modem Doctor, is used  exclusively if
     the modem returns an ID indicating it is a 300,1200 or 2400  bps modem.
     Also, if the modem  does not return an ID, this Generic Driver is used.
     The Generic Driver can be used to test nearly all modems, however there
     are some 2400 bps modems that  were  built using the command  structure
     that Hayes Micromodems put into their 2400B line. These  modems used an
     "&" for some  modem setup and command functions. The Modem Doctor has a
     driver for these modems called the "&T0/&T1" driver. Using this driver,
     the Modem Doctor  can perform  a simulated   carrier test. During  your

                                     Page 64














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     testing of  this type  of modem, you  will notice  the MB  (Modem Busy)
     light flashing on your    external modem. This driver  (and all others)
     is user selectable, however the  Modem Doctor will automatically switch
     to it when performing the carrier tests if the Modem was detected to be
     a 2400 bps modem.

     Most high speed modem will work properly with one of two drivers; The
     Hayes Ultra or  US Robotics  (Courier) V.32.  So if your  modem is  not
     listed, use one of these two drivers in its place.

     6.11 External Modem Drivers
     ---------------------------
     Supported starting with version 4.0 is the ability to read a specially
     created  external modem  driver file.  This file  makes it  possible to
     handle any future  changes in modems by  simply releasing a  new driver
     file.  When the  Modem Doctor  first begins,  it looks  in the  default
     directory for the existence of this driver  file. If it exists, a valid
     checksum is performed  to see that it is indeed a  modem driver. If so,
     this external set of  commands is inserted  in place of the  internally
     contained modem  drivers. As of the  initial release of  7.0, there are
     two external driver files in  circulation. These drivers are built into
     the latest  release of  Modem Doctor  (ver 7.0).  Driver files  will be
     released under 2 conditions; first, if a bug is detected in any  of the
     driver  routines, a  shareware  driver  file will  be  released on  the
     bulletin boards at no cost. Registered users will be mailed at  no cost
     the  updated driver  file. Second,  if a  registered user would  like a
     custom modem driver file written, we will create one at  minimal charge
     as long as proper documentation for the type of modem is  submitted. If
     you wish  to have an  interface written, please contact  us for pricing
     and appropriate  information that we will need to do this for you.
              
              
     6.2 Using the Command Line Mode switch /S 
     ----------------------------------------  
     There can be special occasions where you need to initialize and test a
     modem  before another program can be run. The Modem Doctor now supports
     a method to do this. Using the command line switch /S, you can instruct
     the Modem Doctor to "wake-up" a Modem and send an initialization string
     to it.

     Although similar to our product Comset, it offers some additional
     flexibility but does not allow the serial port only setup that Comset
     does.    To use  this special mode, you  need to have  a companion file

                                     Page 65














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     named MDR.DAT that you create  with any ASCII text editor  that follows
     this format;  

          1) All information must start on the first space on each line     
             and can consist of up to 3 lines. Line 1 and Line 2 are 
             required.  
              
          2) Line 1 = Port Number 1 through 8 and an optional port address
             in  [] ( For settings greater than Port 4, this address is
             required).

          3) Line 2 = the Baud Rate you wish to use (300-115200 or 3-1152
             are acceptable).  
             
          4) Line 3 = the initialization string you wish to send. This
             string must start with AT and can be up to 80 characters long.
             If no string is included in the file, or if it does not begin
             with the letters AT, then ATZ is automatically sent to the
             modem.   
              
          Example..to setup Port 2 to 19200 and set S7 to 255;  
          Make a file called MDR.DAT that looks like this;        

              2 [2F8]<--note for Port 1-4 unless it is non-standard [2F8] 
                        is not needed   
              192   
              AT S7= 255  
          Next, start the Modem Doctor by typing  MDR /S. As long as the
          MDR.DAT file is in the current working directory, these commands
          will be sent. If not, you will get an error message stating that
          MDR.DAT could not be found.  

          Why not have the Modem Doctor search all directories for the file?
          Well, the reason is so that you can put MDR.EXE in a Dos path but
          have individualized setup MDR.DAT files in different
          subdirectories for different programming needs. Instead of
          constantly changing the file, make different ones and call
          MDR.EXE. It will only use the MDR.DAT file in the current working
          directory.
              
     After the initialization string is sent, the Modem Doctor will wait
     up to 10 seconds for the word "OK" to return from  the modem. If it
     does not, you will get a message saying the modem failed to setup. In

                                     Page 66














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     either case, whatever your modem sent to the Modem Doctor will be
     displayed. If you see the word "ERROR", that was sent from the modem,
     it probably means that your initialization string was not correct. No
     message returning could indicate a problem with the modem, or an
     invalid baud rate. When it finishes executing, the Modem Doctor
     returns an errorlevel to the calling program. An errorlevel of 0 is
     normal, an errorlevel of 99 indicates a failure. You can use these
     errorlevels to control batch processes if you wish to.  
     Also, this mode of the Modem Doctor uses bios screen writes, so all
     of the information displayed can be redirected to a printer, a file,
     or whatever other DOS device you wish.  Example...to send the output
     of this test to a file called Test.txt...  

               MDR /S  > TEST.TXT or    MDR /S >> TEST.TXT (if you wish to
               append an existing Test.txt file.  

     If the Modem Doctor setup was successful, the modem's DTR and RTS lines
     stay active, if not, they are dropped.  If you need more specialized
     command-line  modes of  operation, you  might  consider Comset.  Comset
     allows Serial Ports and  Modems to be setup at various  rates and under
     various conditions. Registered  Modem Doctor users get  a 15% discount!
     You can find Comset on most BBS's as COMSET12.ZIP.   
         
     6.3 Using the Hot-Keys 
     ----------------------  
     Hot-Keys are  combinations of  the ALT  key plus  a  letter. The  Modem
     Doctor adds several of these Hot-keys to make it easier to test  modems
     at different  baud rates and to  circumvent  some of the error checking
     that the program performs under normal circumstances.  
              
     ALT-B Change Baud rate - 
     If you are testing a system that you  suspect has a problem, it is best
     to use the setup mode when changing the baud rate.  The Setup mode will
     test all the registers, and  the modem microprocessor (if selected) and
     assure you that all the hardware is communicating properly at each baud
     rate. However, if  you feel a system  is running fine, using  the ALT-B
     from the  main menu can save time when  running tests at different baud
     rates. Press ALT-B  and select the baud rate (taking care not to select
     a rate higher that what your modem is  rated for if you are doing modem
     tests). ALT-B  works from the  main menu,  and from  inside the  Manual
     interactive mode.   
              


                                     Page 67














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     ALT-C Clear Screen - 
     This key is  only active inside of  the Manual interactive mode  and is
     used to clear the text window of any characters.                     

     ALT-F Force Microprocessor on-line - 
     The  Modem  Doctor  has  many  tests built-in  to  verify  the  working
     condition of a microprocessor-based modem and will not allow a modem to
     be tested  in the  "AT" instruction  set mode  if it  has not  properly
     addressed and setup a modem microprocessor. Using the ALT-F combination
     forces the Modem Doctor to perform tests as if it had properly  setup a
     modem. This  feature should  be used  with care,  however   its primary
     benefit is to  help you test a malfunctioning modem to see exactly what
     commands it will respond to. Pressing ALT-F also updates the status bar
     to  indicate that the modem microprocessor is on-line (which may or may
     not be the  case after this command  was issued). Version 4.0  of Modem
     Doctor makes this hot-key a toggle, so pressing 1 time will  change the
     on-line status. Pressing again returns it back to normal.

     ALT-H Help -
     You can  press this key at any  time to get help on  a topic or general
     help depending on  if you are in  a menu or at the  main menu selection
     bar.

     ALT-R Register Display - 
     This is  only active inside of the Manual  interactive mode and is used
     to  display  the status  of  all  Uart  registers  on  the  screen  for
     diagnostic purposes.  

     ALT-X Exit Mode - 
     This is only active inside of  the Manual interactive mode and is  used
     to exit this mode. 

     Control -Break
     --------------
     This  allows  an immediate  exit from  anywhere permissible  inside the
     Modem  Doctor,  however  it offers  you  a  choice to  clean  up  or to
     continue. You should not  use this mode, it  is better to exit via  the
     Main menu selection.






                                     Page 68














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe



     6.4 Logging in Defective Ports 
     ------------------------------  
     If a serial port Uart is defective, the Modem Doctor will refuse to log
     it in for testing. This is necessary because there is no way  for it to
     know  what  ports  are defective  and  what  are  non-existent. However
     starting with  Version 4.0, you  can now  log-in a  defective chip  for
     testing. The procedure to do so is explained above under Manual  Login.
     The reason for  doing so however might  not have been apparent.  If any
     register of a serial port is defective, it might not function properly.
     Logging in this  defective port will give  you the full benefit  of the
     Uart and Serial port diagnostics.  Error messages will be displayed, in
     most  cases  there will  be  multiple  error  messages. There  are  two
     possible causes of a defective port; the  Uart chip and the Serial Port
     address system. If  it is a chip,  simply replacing the chip  fixes the
     problem.  If it is  a serial port  instead, then the  same problem will
     repeat. How do  you approach this?  Well for  starters, check that  the
     strapping  on your  serial port  board  matches the  correct COMM  port
     assignment (ie strapped for COM1 for COM1..etc). Next, if there is user
     selectable IRQ  assignments, make sure  it again matches the  COMM port
     assignment (IRQ4 for COM1/3, IRQ3 for COM2/4, IRQ5 for COM7/8, IRQ7 for
     COM6/7). If all  this is set properly,  then you can suspect  the chip,
     but also the Serial Port hardware that gates the address of the chip to
     the computer.  Finally, if you get warnings  about status, but the chip
     logs in, then  you might just have a bad cable from the computer to the
     modem (NOTE:  The Modem  Doctor does  not consider  this  an error  but
     simply displays a warning and allows the Uart to be logged-in for use).
          
              
     6.5 What tests cannot Do     
     ------------------------     
     Although  I  tried to  be extremely  thorough  in my  tests,  there are
     somethings that  tests just cannot  do or  pinpoint. If you  are having
     problems with  excessive line-noise,  you might  have a  bad connection
     between  your modem  and your  telephone wiring  in the  house. Another
     possibility, although  remote, is  that your modem  does not  offer the
     correct input  impedance to  the telephone line.  This can cause  poor 
     connections. The  problem is with  the electronic design of  the modem,
     and  again, it  is more  prevalent in  inexpensive modems.  Also, tests
     cannot check  that the communications  program you are using  is set up
     correctly.



                                     Page 69














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     At times,  installing a  communications package can be very challenging
     for a novice  user. Tests also cannot  check the wiring in  your serial
     Cable. The Modem Doctor will tell you if a handshaking pair is missing,
     but it cant tell you why. It could be because the Uart is bad, but more
     than likely,  your RS-232  Cable doesn't carry  all of  the handshaking
     signals to  or from the  external modem or  serial device. This  can be
     important if you  are using a high-speed modem.  Most High-speed modems
     will  drop the  CTS line  when  their communication  buffers are  full.
     Previous  Modems ignored   the  RTS/CTS  signals and  instead used  the
     DTR/DCE pair. What this  means is that if you buy a new modem, it might
     not work with  the older-cable (yet  at the same  time the older  modem
     will  work..which might lead  you to believe that  you have a defective
     modem).      
              
     6.6 Quirks with Some Modems     
     ---------------------------      
     Carrier tests - 
     Some  Modems have  two "AT"  instruction sets,  usually referred  to as
     Compatible and Enhanced. If your modem does not perform a carrier  test
     at speeds  below 4800,  then  this is  usually  the case.  Some  modems
     provide a dip-switch or  a toggle switch to select either mode. Setting
     your  modem to  the Standard  Compatible Mode  should get  rid of  your
     problems  below  4800 bps.  Also,  make  sure  you select  the  Generic
     Compatible  Modem Driver  unless you  are sure  your modem  matches the
     modem's that have special drivers  written especially for their use. At
     speeds above  4800 bps,  the Modem Doctor  is only compatible  with USR
     V.32, Dual  Standards (V.32  and HST)  and HST  brand of  modems, Hayes
     V9600 and  Ultra 9600,  and Courier 2400  modems. If  you wish  to test
     another brand  of modem that  is not  compatible, simply  turn off  any
     modem-hardware error correcting using the Manual mode and following the
     information in your  modem users manual. Then select  the Generic Modem
     Driver and you should be able to test your modem properly. 

     Finally, if only one of the tests (Originate or Answer) runs and NO    
     CARRIER is displayed for the other, the problem lies with the Enhanced
     Command  settings of  your  modem.  Hayes Modems  use  &T1 through  &T8
     commands for their 2400 and also  have other special switches. The  &T0
     command set is tried by this version of the Modem Doctor automatically,
     however there  is no compensation for any other type of modems that use
     non-standard  commands. Again for  the sake  of compatibility  with the
     widest range of  modems at speeds below 4800,  this cannot be corrected
     for in  this version. Considering  the vast numbers of  "AT" compatible
     modems in the marketplace,  these two exceptions are minor and will not

                                     Page 70














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     affect most users. Finally, users of 8250 compatible  Uarts that do not
     support the  Digital (Chip) Loopback will get  an error. This should be
     of no concern.   However if the test runs  for a while, then fails,  it
     could indicate  a problem  with your  Uart. This  is  explained in  the
     pull-down window  in the program. The  Modem Doctor has been  tested on
     about 25 Modems from Major Manufacturers and on a variety of Clones and
     Compatibles  (plus the  "Real Thing").  It is  possible that  a certain
     combination of hardware still might give problems, however if you are a
     registered user, I will find a way to make it work.  

     6.7 Buffered vs Direct Connect Modems
     -------------------------------------
     When testing  high speed  modems,  you should  note that  some of  them
     cannot test in the a "buffered mode", which means that they will not be
     able to  self-test in  carrier mode  above speeds  of  9600. The  Hayes
     Ultra's fall into  this category. The highest DTE/DCE rate  you can use
     and still generate  a successful carrier test  is 9600 bps. Any  higher
     DTE rate will cause Modem Doctor to return errors that are not valid. 
              

























                                     Page 71














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe



     6.8 Using Digiboard Serial Ports
     --------------------------------
     Modem Doctor now supports Digiboard  Intelligent Serial Ports that  use
     the "X"  series drivers (XIDOS). To  test these serial ports,  you must
     start Modem  Doctor with  the /D command...ie  from the  dos prompt....
     MDR /d (or MDR /D).

     The /D switch  instructs Modem Doctor to ignore  traditional comm ports
     and instead test Digiboards. When  started in this manner, Modem Doctor
     looks  for an  installed  driver. If  one is  not  found, Modem  Doctor
     defaults to the INT14 support mode (pretty useless unless you also have
     an INT14 driver running).

     [ DigiBoard Hardware Detection ]͸
      Driver Version :  409   Supported Channels:  4   Total Boards:  1   
      Lowest Channel :    4    Highest Channel  :  7                      
                                                                          
      Board # 0   IRQ: 5    Board Type:    1    DP Memory Seg : D800      
             Channels: 4   I/O Address:  320h   First Channel :    4      
                                                                          
                                                                          
        Bus type: AT Bus    Interrupt Levels: 15   HD uses DMA Ch3?: NO   
        Interrupt Status :  15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0         
                          Press Any Key to Continue                       
     

     Modem Doctor can test up to 4 Digiboards that contain up to 16 channels
     each. When in the setup mode,  you will get this screen instead of  the
     traditional PORT, IRQ, SPEED selections;

           [  Digboard  ] [  Channel  ]   [  Baud  ]ͻ
            Use Board 1    Use Ch 1          300 BPS  
           ͼ  Use Ch 2         1200 BPS  
                             Use Ch 3         2400 BPS   
                             Use Ch 4       ͼ Higher speeds
                            ͼ                  with registered
                                                         version to 57.6kbps






                                     Page 72














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe



     If more than 1 board is found, it will be displayed (max is 4). If more
     than 4 channels are found on the selected board, they will be displayed
     (max 16).

     As with  any fossil or comm driver, Modem Doctor may or may not be able
     to fully  test the hardware.  In these modes,  Modem Doctor  depends on
     your communication driver (a fossil, the digiboard driver or some INT14
     driver TSR) to correctly handle  comm ports. Only when Modem  Doctor is
     started without any  "switches" will it directly control  the hardware.
     This  is  indicated by  the  Int14  interface  indicator in  the  setup
     section;

     [ Modem / Uart System Diagnostics ]͸
      Comm port /IRQ in use [ ] Port = 5  Address = 320  IRQ = 5          
      Int 14 interface      [ ] DigiFossil                                
      Uart type             [ ] 16450/8250A detected                      
      Baud rate selected    [ ] 2400                                      
      Baud Rate reg test    [ ] Not supported with Fossil or INT14        
      Modem Microprocessor  [ ]                                           
      Modem ID Type         [ ]                                           
      Modem Fax Ability     [ ]                                           
      Modem Memory/Rom      [ ]                                           
     

     In  this case,  Modem Doctor  shows  it is  using  the DigiFossil.  For
     regular FOSSIL  routines,  the  words  FOSSIL or  EXTENDED  FOSSIL  are
     displayed.  During  direct   mode  testing,  the  words   INACTIVE  are
     displayed. Once you  are logged into using Digiboard  ports, you cannot
     access normal Dos ports without exiting the program and restarting. All
     tests described  in  earlier sections  above  work with  the  Digiboard
     without modification. 












                                     Page 73














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe



     6.9 Running Modem Doctor under Windows 3.1
     ------------------------------------------
     Modem Doctor was designed to work directly with system hardware.
     Unfortunately, Windows seizes control of all hardware in order to allow
     for the virtualization of comm ports and interrupts. Nonetheless, Modem
     Doctor can run under Windows if you take the following precautions;

     1) Never run Modem Doctor without the /Q switch. Interrupt results
        under Windows are not predictable or accurate. Crashes to system
        operation may result.

     2) Make sure you have optimized your system.ini to allow a minimum
        ComxBoostTime of 6.

     3) Make sure all your comm ports are configured to NEVER WARN during
        a device contention. Modem Doctor will occasionally "fight" Windows
        for control of the comm ports. NEVER WARN can be selected from the
        control panel "ports" option.

     6.91 Modem Doctor for Windows
     -----------------------------
     Modem Doctor  now has  a companion program,  Modem Doctor  for Windows.
     Written  specifically for  the Windows  environment,  Modem Doctor  for
     Windows contains most of  the same tests in Modem  Doctor 7.0. However,
     it  contains additional  tests specifically  designed  for testing  the
     Windows Communications Interface. Included in this program;

       * Visual display of all commands and responses to/from your modem
       * Extensive, Interactive Help system 
       * Detection of over 20 specific Windows setup problems in addition
          to the over 60 tests of your system hardware done in both
          versions.
       * Built in .INI file editor makes maintaining communications
          parameters simple and easy.
       
     Modem  Doctor for  Windows is  distributed as  shareware. You  can find
     Modem Doctor  for  Windows  on the  Modem  Doctor  BBS  (410-256-3631).
     Registration  fee is  $24.95.  You can  purchase  both programs  (Modem
     Doctor for Dos  7.0 and Modem Doctor  for Windows) for $40.00.  See the
     order form for more information.



                                     Page 74














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     6.92 Running Modem Doctor on Networks
     ---------------------------------------
     Modem Doctor is not designed to run on a network. It can run on client
     machines that are  connected to a network.  For safety, use the  MDR /Q
     command. Some Network cards use IRQ's assigned to comm ports. IRQ tests
     in a network environment can cause serious problems to communications. 
     When running on a network, Modem Doctor can only test local comm ports.
     No TCP/IP or other protocol access is currently supported.

              
     Section 7. Benefits of Registration     
     ------------------------------------      
     Thank you  for your registration.  The Current Registered Version  # of
     the Modem Doctor is 7.0R. All Registered Users are entitled to free
     Maintenance  updates and  these will  be  reflected by  changes in  the
     decimal fraction number..ie   7.01, 7.02. Minor  upgrades are indicated
     by changes in the  tenths digit..ie 7.10. Minor upgrades are  not free,
     but cost no more than major upgrades.

     If  a new  super-duper version comes  out (8.X or  9.X), all registered
     users  will be able to  update for only $7 (plus shipping,handling  and
     tax where applicable). Currently registered users of versions 2 through
     5  can  update    for  $5  (plus  shipping,   handling  and  tax  where
     applicable). If you have  trouble with the Modem Doctor,  or questions,
     feel free to call or write.   

     When doing either you will need to have the Version Number, your serial
     number,   and  in  some  cases the  Module  Identification Number.  The
     Version   number is displayed  when you first  start the  program along
     with  the serial   Number.  The  Module Identification  numbers can  be
     displayed at any time   from the main menu  after you pass the  initial
     setup mode. Simply type  a # sign, and all of the  modules that make up
     the Modem  Doctor will   display their  version numbers on  the screen.
     Right now, all Modules have  identical version  numbers from program to
     program,  but in  the  future,    there could  be  custom  modules  for
     registered users, so in this case the Module ID could become important.








                                     Page 75














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


      You can reach us with your questions at 410-256-5767 or write to ;

                                     Hank Volpe
                                    PO Box 43214
                                  Baltimore MD 21236
              
                    Thanks again for registering the Modem Doctor.

     You  can  always  download  the  latest  shareware  version  and  other
     communication  utilities  from  the Modem  Doctor  BBS  at 410-256-3631
     (300 -> 19.2kbps).  Also, if you write  your questions on the  BBS, you
     will get a faster response than if you had written via the mail. 

     Notes -  [+] References to USR /Courier/Dual Standard/HST
                          Copyrighted by US Robotics     
              
              [++] References to AT Instruction Set ,Smartmodem,Hayes
                   Copyrighted by Hayes Inc.
              
              References to MNP refer to An error free protocol 
              Copyrighted by Microcom Inc.     

             References to dos, microsoft, Windows copyrighted by IBM
             or Microsoft.
             References to 8250B or other uarts are copyrighted by a 
             variety of manufacturers including (but not limited to ) 
                 Intel, National Semiconductor.
       
        
     Disclaimer -  
     It is not the intent of the author to recommend any brand of modem over
     another nor to infringe on the copyrights of the manufacturers by
     mentioning their products. A modem fits  a need, and whatever one works
     for you is the one you  should have. As time goes on, more  modems will
     be added to the list of "special enhanced " tests. The modems mentioned
     are done so only because of the popularity they enjoy and for  no other
     reason.  All programming  of modems  for  testing is  done with  simple
     character strings, similar to any  type of data that  can be sent to  a
     modem or a serial port. Any modem, whether AT compatible or not, can be
     handled  by  the  Modem  Doctor with  special  software  drivers. These
     software  drivers will  be distributed  free  of charge  as needed  for
     general  use.  Custom  drivers created  by  Hank  Volpe  for particular
     clients however will require a fee for handling and programming time.

                                     Page 76














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


     Modem Doctor History

              Ver 7.0  - New SNOOP feature detects active modems.

                       - New MDRD.INI file capabilty links Modem Doctor
                         for Dos together with Modem Doctor for Windows
                         and allows for easier communication diagnostics
                         in the Windows program enviromnent.
                         
                       - Improved Comm buffer routines that strip off
                         NULL codes sent by some modems for delay. These
                         codes caused problems in the command mode with
                         the buffer and some modems, returning incomplete
                         information

                       - Updated internal drivers to match current modem
                         hardware. Supports newer 33.6kbps and 57.6kbps
                         modems.

                       - Improved 16550AFN Uart routines, primarily
                         buffer purges.
                      

              Ver 6.0  - Improved PS/2 IRQ test support - PS/2's 
                         would halt or have their stack run-away during 
                         IRQ tests. The /Q switch from the command line
                         bypasses these tests. However, I've 
                         written some routines in assembler to create 
                         interrupt stacks that handle this 5.2 problem.

                       - Improved 16550AFN diagnostics - Modem Doctor 6
                         tests 16550AFN's, however after these tests, the 
                         buffers were shut down and not used (since no tests
                         existed that stressed their ability to perform).
                         These registers are now enabled to a trigger level
                         of 14 during all burst mode tests.

                       - Improved FOSSIL tests - FOSSIL routines have been 
                         streamlined to increase throughput during the burst
                         mode tests.

                       - Improved Modem Driver Detection - Modem Doctor now 
                         holds an exact-match table for supported modems. 

                                     Page 77














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


                         If no match is found, Modem Doctor "guesses" for
                         the best match. This will make it easier to support
                         future modems.
                       
                       - Adds IRQ support for IRQ's 7-15
                       - Improves 16550AFN tests.
                       - Tests for FAX modems, indicates Fax Group and
                         Class.

                       - Increase Baud Rate to 115200 in registered version.
                       - Diagnostic Toggle mode for DTR and RTS signals, 
                         helpful in finding bad cables or missing signals in
                         cables.

                       - Burst and Signature Rate Tests for Analog loop and
                         Carrier. 
                       - Support for DIGIBOARD Comm ports via the Digiboard
                         Driver.
                       - Improve FOSSIL throughput routines
                       - Detects AT, PS-2 and Dual Bus Computers, Supports 
                         Dual 8259 PIC chips.


           
              Ver 5.2 -  The /Q switch was added to the command line
                         interface to allow for the user to bypass the IRQ
                         self-tests. Some computer environments may freeze
                         when self-tests of IRQ lines are performed. In this
                         case, running with the /Q switch will bypass these
                         tests. No other changes were made to the program.
                        
              Ver 5.1 -  Program was recompiled to remove Borland C++
                         optimizations which were found to cause STACK 
                         problems running under Digital Research's DR/DOS
                         6.0. No other changes were made to the program.

              Ver 5.0 -  New tests added to verify IRQ operation, verify
                         proper COMM port/IRQ selection, added NULL tests to
                         Interactive selection. Structure changed for
                         drivers to include handling all modem
                         identification codes. All window routines changed
                         to directly drive displays (vs working through
                         standard C library interfaces), S-register window 

                                     Page 78














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


                         display added to REGS menu, interfaces added to
                         handle generic INT14 and FOSSIL drivers, bypassing
                         all direct control of hardware while in that mode. 

                         Other updates include identification of mouse
                         drivers and re-activation upon exit, ability to
                         handle accurate timing loops on machines with a
                         system speed of 50mhz+, addition of interrupt
                         driven transmit routines. Addition of 5 new uart
                         internal tests.
           
              Ver 4.0 -  New tests added for dynamic handshaking and static 
                         handshaking. New report generator features, new
                         exchange mode. Higher baud rates, cleaner windows
                         that grow to meet commands. Recognition of mouse
                         inputs via a compatible mouse driver. Expansion of
                         internal modem drivers and ability to read external
                         modem drivers. Improved brute-force reading for
                         faster digital loopback tests. Automatic aborting
                         of modem tests when IRQ failures are detected. New
                         advisories for fixed-link rate, IRQ failures, wrong
                         comm port assignments, swapped comm port
                         assignments. Addition of custom
                         color selections, pulldown windows that stay when
                         left-right arrow keys are moved. Updating of 16550
                         AN  support for resetting and clearing buffers.
                         Replacement of all internal comm drivers with new
                         dos independent routines. Correction of many (and
                         hopefully all) spelling errors.

              Ver 3.0 - New tests added for 16450/16550/16550AN Uarts.
                        Improved Control-Abort handling, Regs command now 
                        performs a full diagnostic call when activated. 
                        Hot-Keys added (Force Micro, Baud Rate Select). 
                        Modem Driver software added to program, Status Bar 
                        added to program. Support for IRQ 3,4,5,7 added 
                        via COM1 through COM8 log-ins. Speed increased to 
                        38.4KB. /S Command line option added for setup of 
                        a modem including batch file errorlevel support. 
                        Escape key functionality added to Carrier Tests 
                        and the loopback tests.

             Ver 2.2 - Corrects a bug in Ver 2.1 Communication routines

                                     Page 79














        Modem Doctor 7.0 Technical Reference (c) Copyright 1996 Hank Volpe


                        that caused some modems to lock-out because they 
                        were waiting for two carriage returns to begin. 
                        Also it added 4 diagnostic Uart tests
              
              Ver 2.1 - This version was a Beta test. A Beta tester 
                        accidentally uploaded this to several boards. 
                        Please remove all Ver 2.1S software that you may 
                        find.
              
              Ver 2.0 - This version also was a Beta test with support
                        for COM1-2 and 2400 bps maximum
              
              Ver 1.0 - First test version































                                     Page 80







