home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PROGRAMS / UTILS / MODEMS / MODEMDR.ZIP / MDR.PRN < prev    next >
Encoding:
Text File  |  1989-11-17  |  44.8 KB  |  1,045 lines

  1.                ___________________________________________________
  2.  
  3.  
  4.                                       T H E
  5.  
  6.                                     M O D E M
  7.  
  8.                                    D O C T O R
  9.  
  10.  
  11.                               Shareware Version 1.0
  12.                                Hank Volpe (c) 1989
  13.                                 108 Broadmoor Dr
  14.                                Tonawanda NY 14150
  15.  
  16.                ___________________________________________________
  17.  
  18.  
  19.  
  20. Section 1. Introduction -
  21. -------------------------
  22.  
  23. The Modem Doctor is a professional diagnostic tool designed to work with IBM-
  24. PC's and compatibles. There are two versions of the Modem Doctor, the Shareware 
  25. Version and the Registered Version. 
  26.  
  27. The Registered Version of the Modem Doctor contains complete diagnostics for 
  28. 8250 and compatible UARTS, RS-232 data lines, and Carrier tests. Some of the 
  29. many diagnostic features of the Registered Version are ;
  30.  
  31.              **  Support for COM 1 through COM 4
  32.              **  Baud Rates from 300 to 19200 bps
  33.              **  Support for Courier HST/Dual Standard/V.32 Modems  [+]
  34.              **  Auto log-in of COMM Ports to DOS for use by other programs
  35.              **  Manual log-in of COMM ports for Non-Standard Hardware
  36.              **  On-screen Display of all 8250 and Compatible UART registers
  37.              **  On-screen Display of Modem S-Registers
  38.              **  Full Diagnostic tests of UART and RS-232 Channels including;
  39.                   -- ALL UART REGISTERS
  40.                   -- ALL RS-232 Handshaking Signals
  41.                   -- 8259 Interrupt Controller Mask Registers
  42.                   -- Digital Loopback UART Tests
  43.                   -- Analog Loopback Data Tests
  44.  
  45.              **  Full Diagnostic Checks of "AT" Instruction Set Modems
  46.                   -- Carrier Tests on both Originate and Answer Frequencies
  47.                   -- Carrier Test interface for "Dumb" Modems or Data Channels
  48.                   -- Modem Microprocessor Command Channel Diagnostics
  49.                   -- Support for High Speed Modems
  50.  
  51.              **  Interactive Mode with 4K Communications Buffer for;
  52.                   -- TTY mode Interactive Communications over Serial
  53.                      Port or Modem while on-line
  54.                   -- Custom Designed Tests...Help Menu Included
  55.                   -- On-Line "Hot-key" Viewing of 8250 UART Registers
  56.  
  57.  
  58.  
  59.  
  60. The Shareware Version of the Modem Doctor is designed for people who would like 
  61. to try a piece of software before buying it. This "Look-see" version has some 
  62. limits over the Registered Version, however it is does provide the following 
  63. full-functioned Diagnostics;
  64.  
  65.              **  Support for COM 1 and COM 2    
  66.              **  Baud Rates from 300 to 2400 bps
  67.              **  Auto log-in of COMM Ports 1 and 2
  68.              **  On-screen Display of all 8250 and Compatible UART registers
  69.              **  On-screen Display of Modem S-Registers
  70.              **  Diagnostic tests of UART and RS-232 Channels including;
  71.                   -- ALL UART REGISTERS
  72.                   -- ALL RS-232 Handshaking Signals
  73.                   -- 8259 Interrupt Controller Mask Registers
  74.  
  75.              **  Full Diagnostic Checks of "AT" Instruction Set Modems
  76.                   -- Carrier Tests on both Originate and Answer Frequencies
  77.                   -- Carrier Test interface for "Dumb" Modems or Data Channels
  78.                   -- Modem Microprocessor Command Channel Diagnostics
  79.  
  80.              **  Interactive Mode with 4K Communications Buffer for;
  81.                   -- TTY mode Interactive Communications over Serial
  82.                      Port or Modem while on-line
  83.                   -- Custom Designed Tests...Help Menu Included
  84.                   -- On-Line "Hot-key" Viewing of 8250 UART Registers
  85.  
  86.  
  87. The Modem Doctor is copyrighted by Hank Volpe. The Shareware Version of this 
  88. program may be distributed on Bulletin Board Systems or in Public Domain 
  89. Libraries as long as a Fee is not charged for its duplication or acquisition.
  90. Under no conditions can anyone accept payment for the Modem Doctor but Hank 
  91. Volpe or agents authorized for resale by Hank Volpe.
  92.  
  93. The Modem Doctor is distributed on as "As-is" basis, with no warranties for 
  94. usefulness or suitability expressed or implied. Users of the Shareware version 
  95. are granted a limited license to use this program. It is expected that if you 
  96. use it for more than 30 days, that you will register the Modem Doctor.
  97.  
  98. Registration adds many powerful features that make the Modem Doctor an 
  99. excellent RS-232/UART/Modem Diagnostic Tool. Comparable programs cost well over 
  100. $100, while the Modem Doctor Registration Fee is just $19.95 for a single copy.
  101. Group Discount prices for software distributors and Businesses are available.
  102.  
  103. For Single-user registration, send a check or Money order for $19.95 to
  104.  
  105.                                    Hank Volpe
  106.                                108 Broadmoor Drive
  107.                                Tonawanda NY 14150
  108.  
  109. You will receive the latest version of the Modem Doctor, plus several other 
  110. useful Modem Utilities. Registered Users also are entitled for updates to newer 
  111. versions (when available) for a small fee to cover shipping and handling.
  112.  
  113. Section 2. Starting MDR
  114. ------------------------
  115. The Modem Doctor has been designed to work with PC-Type Serial Ports and "AT" 
  116. Instruction Set (so called Hayes Compatible[++]) Modems. The Modem Doctor 
  117. requires at least 1 Serial Port to Operate.
  118.  
  119. MDR is written to run under MS or PC DOS 2.2 or higher, requires a
  120. MDA or CGA adaptor and at least 80K of program memory. When MDR is
  121. started, it will use the last mode that the display adaptor was in
  122. (unless it was in EGA or VGA mode or a graphics mode). MDA and CGA are
  123. the two execution modes regardless of what kind of adaptor is in use.
  124.  
  125. Code has been included to work with hardware-incompatible display
  126. adaptors as long as they are at least IBM-PC Bios compatible. This is
  127. operator selectable at runtime.
  128.  
  129. To start MDR, type MDR from the dos prompt. If you wish to use the
  130. Bios compatible mode instead of direct display writes, start the
  131. program using the Bios switch ;   MDR /B
  132.  
  133.  
  134. Section 3. First Time Setup
  135. ------------------------------
  136. MDR checks to see what hardware is available and reports its results
  137. to you. Displayed on the bottom line is the serial number unique to
  138. each copy (Registered Version..Shareware Version says "Shareware").
  139. Press any key to continue.
  140.  
  141.                         ╔[  Ports  ]══╗
  142.                         ║ Use COMM 1  ║
  143.                         ║             ║
  144.                         ║             ║
  145.                         ║             ║
  146.                         ║             ║
  147.                         ╚═════════════╝
  148.  
  149. Next, you are instructed to pick from a list of valid comm ports. The
  150. only ports that are listed are valid ports that MDR found when it
  151. first started. The Registered Version allows you to add ports that are not 
  152. "standard" ports, (check the section on Login). Use the arrow keys to find 
  153. your selection, and then press return to select.
  154.  
  155.                          ╔[  Baud  ]═╗
  156.                          ║   300 BPS ║
  157.                          ║  1200 BPS ║
  158.                          ║  2400 BPS ║
  159.                          ║  4800 BPS ║   * Registered Version Only
  160.                          ║  9600 BPS ║   * Registered Version Only
  161.                          ║ 19200 BPS ║   * Registered Version Only
  162.                          ╚═══════════╝
  163.  
  164. A window now opens showing you valid comm port speeds. Select a speed
  165. from this menu. Please note, don't select a speed faster than your
  166. modem can handle. The reason for faster speeds is so communication
  167. links can also be tested. Use the arrow keys and press return to make
  168. your selection.
  169.  
  170.  
  171.               ╒[  Select an Option  ]══════════════╕
  172.               │ Test Modem / Port 1 to 300 BPS     │
  173.               │ Test the UART Hardware Only        │
  174.               │ Dont set up modem, return to Menu  │
  175.               └────────────────────────────────────┘
  176.  
  177. At this point you are in the options menu. If you select Test Modem, a
  178. series of commands and tests will be performed to make sure the modem
  179. is on line and running. If you select Test UART Hardware, only the
  180. 8250 UART will be tested. The modem will not be setup. This selection
  181. is useful only if you wish to test an RS-232 line or a "dumb" modem.
  182. Selection 3 aborts to the main menu
  183.  
  184.  
  185.  
  186. A. Test Modem/ UART
  187. ---------------------
  188.  
  189.                   Preliminary Diagnostic Checks of Hardware
  190.                   -----------------------------------------
  191.  
  192.                          Testing Modem Microprocessor
  193.                          ----------------------------
  194.                    Modem Microprocessor Command Bus Active
  195.                    Modem reports a 9600 bps Modem installed
  196.                  Modem Microprocessor Accepts Setup Commands
  197.  
  198.  
  199.                          Modem Microprocessor ON-LINE
  200.  
  201.                      Modem - UART Status appears correct
  202.                           Press any key to continue
  203.  
  204. Above is displayed then normal test results with a modem.  First step
  205. tests the UART to Modem hardware. If any connection errors are
  206. discovered, they are reported to the screen. Next the modem command
  207. bus is tested and if its compatible, the modem ID information is
  208. queried from the Modem Processor. Finally, the modem is setup for
  209. diagnostics. Note: These setup strings do not overwrite any non-
  210. volatile storage. If all is ok, all the UART registers and the First
  211. 16 Modem S registers are displayed. This display is not shown the next
  212. time you log in a comm port unless you press the space bar
  213.  
  214.  
  215. If the modem does not respond to certain parts of the tests, error
  216. messages are reported.
  217.  
  218.  
  219.                      Testing Modem Microprocessor
  220.                      ----------------------------
  221.             Modem Microprocessor Command Mode Not Detected
  222.                        Software Reset Initiated
  223.  
  224. This message is displayed if the modem did not respond the first time
  225. for a query to its status. This could happen for any number of
  226. reasons, including that the modem was still on-line and not in the
  227. command mode. A soft-reset is performed, which essentially tries to
  228. wake the processor up.
  229.  
  230.  
  231.           No Response...resetting Modem Microprocessor ...attempt #1
  232.           No Response...resetting Modem Microprocessor ...attempt #2
  233.           No Response...resetting Modem Microprocessor ...attempt #3
  234.  
  235. After 3 soft-resets, the Modem Doctor assumes that the modem is jammed
  236. and needs a hardware reset. A hardware reset is the program equivalent
  237. of turning the modem on and off again. This is the only way to reset
  238. some internal modems that get "jammed" when the computer is first
  239. turned on. Clearing a "jam" usually takes no more than 2 attempts.
  240.  
  241.              Trying a Hardware reset of the Modem Microprocessor
  242.  
  243. The Hardware reset is performed, and again the modem microprocessor is
  244. strobed for its status.
  245.  
  246.                            Software Reset Initiated
  247.  
  248. After a hardware reset, a soft reset is performed again, attempting to
  249. wake the processor up. If this fails, the following message is
  250. displayed;
  251.  
  252.               Modem Microprocessor Did Not Accept Setup Commands
  253.              Trying a Hardware reset of the Modem Microprocessor
  254.  
  255. After one more attempt at waking the modem up, the Modem Doctor
  256. assumes that the modem is not compatible  and based on the status
  257. given it by the UART, it will report if the device is off or not
  258. connected.
  259.  
  260.         WARNING...This unit does not have a Compatible Modem attached
  261.  
  262.         WARNING...The Modem Device appears to be off or not connected
  263.  
  264. The registers are now displayed for diagnostic tests, and a conclusion
  265. based on the status of the registers is displayed. There are many
  266. reasons why the modem/UART could fail. See the error code section for
  267. details.
  268.  
  269. If the UART is fine, but the modem is not compatible, the program will
  270. tell you that the UART hardware tests ok and display this in a window
  271. to the right of the register display.
  272.  
  273. B. UART Tests
  274. ---------------
  275. The UART test is performed every time either the Modem or the UART test
  276. is selected. Essentially, the UART test programs all of the registers
  277. of the UART and looks to see that the correct values have been placed
  278. in them. After that, it looks to see that an RS-232 loop is active. If
  279. not, it displays an error message saying that the loop is either
  280. disconnected or a register in the UART is defective.
  281.  
  282. Each register is checked for proper values...if anyone of them fail, a
  283. window will open and display a possible cause for the problem.
  284.  
  285.  
  286.                   Preliminary Diagnostic Checks of Hardware
  287.                   -----------------------------------------
  288.                           Testing UART Hardware Only
  289.                           --------------------------
  290.  
  291.                      Modem - UART Status appears correct
  292.  
  293. The first time through these tests, the registers will display for
  294. diagnostics. Unlike the modem tests, only the UART registers are
  295. displayed.
  296.  
  297.  
  298. C. Return to main menu
  299. ----------------------
  300. Selecting this returns you to the main menu, this allows you to change
  301. an entry made in error without having to wait for the diagnostic
  302. checks to fail.
  303.  
  304.  
  305. In any event, after any of these tests have been run, you will then
  306. enter the Modem Doctor's Main Menu.
  307.  
  308.  
  309.  
  310. Section 4. The Main Menu
  311. ----------------------------
  312.  
  313. ┌───────────────────────── The Modem Doctor ────────────────────────────┐
  314. │Log-in   Regs      Carrier   Loopback  Manual    Setup     End Program │
  315. └───────────────────────────────────────────────────────────────────────┘
  316.  
  317. All of the above selections are toggled using the arrow keys and
  318. selected using the return key. Pressing the down arrow displays a
  319. brief message about what each function does.
  320.  
  321.  
  322.                          Log-in COMM Ports
  323.                          ------------------
  324.        The ROM-BIOS only looks for COMM ports 1 and 2. Use this
  325.        section to manually log-in a COMM port that cannot be
  326.        detected by DOS. Entries are also good after you quit
  327.          (NOTE..This feature in Registered Version Only!)
  328.  
  329.  
  330.                       UART Register Diagnostics
  331.                       -------------------------
  332.        This test section can be used to check the contents
  333.        of an 8250 UART and the 8259 Interrupt Controller mask
  334.        register. White = Active, Gray = Not Active
  335.  
  336.  
  337.                           Carrier Mode Tests
  338.                           ------------------
  339.         This tests runs a Smartmodem in an test of the Carrier
  340.         Originate and Answer frequencies. A Smartmodem or a modem
  341.         with Manual Carrier selection is required
  342.  
  343.  
  344.  
  345.  
  346.                           Loopback/ UART Tests
  347.                            ------------------
  348.          This test is designed to check out a RS-232 COMM port
  349.          for proper operation. No Modem is required for this test
  350.          however this test is not for an Internal Modem, although
  351.          it can be run as a test of the command channel.
  352.            (NOTE..This feature in Registered Version Only!)
  353.  
  354.  
  355.                           Manual Interactive Tests
  356.                           -------------------------
  357.          This test is designed to check out the command channels
  358.          and user interface to a Smartmodem. You can also use it
  359.          with an RS-232 loop or to send your own commands.
  360.  
  361.  
  362.  
  363.                            Setup  Diagnostics
  364.                         -------------------------
  365.          Use this test section to return to the setup mode to
  366.          change a Port assignment or a Baud Rate to a new value.
  367.          Only Logged-in Comm ports can be accessed.
  368.  
  369.  
  370.                               Exit Program
  371.                               -------------
  372.           Quit the program, all vectors and interrupt tables
  373.           are restored.
  374.  
  375. 4.1 Login In Comm ports
  376. -----------------------
  377. (NOTE..This feature in Registered Version Only!)
  378.  
  379. When you select this menu, you are offered these choices
  380.                  ╔[  Comm Port Login  ]═══════════╗
  381.                  ║ Let me Auto Detect COMM Ports  ║
  382.                  ║ You Manually Enter COMM Ports  ║
  383.                  ║      Return To Main Menu       ║
  384.                  ╚════════════════════════════════╝
  385.  
  386. Option 1 repeats what the Modem Doctor does when you first begin to
  387. run the program.
  388.  
  389. Option 2 allows you to enter a "non" standard Port address and assign
  390. one of the two Interrupt lines to use with the UART.
  391.  
  392. Option 3 returns to the main menu.
  393.  
  394. Port addresses for PC's are standardized in order for Communication
  395. programs to properly work. The industry standards are
  396.  
  397. COMM 1  3F8        COMM 2   2F8        COMM 3  3E8      COMM 4  2E8
  398.         IRQ4                IRQ3               IRQ4             IRQ3
  399.  
  400.  
  401. The Port addresses for Serial Ports is held in a reserved area of PC
  402. Memory. The "base port" of each of these UARTS is saved in a distinct
  403. area. When you first start the Modem Doctor, the program checks these
  404. locations to see if there are any Comm ports already logged in by Dos.
  405.  
  406.  
  407. If not, a search is conducted for the PC's default Comm 1 and Comm 2
  408. port values and these are logged in. Next, a search is performed for
  409. the other industry standard comm ports. Some PC's already log these
  410. in, however IBM-PC's and those that mimic exactly their ROM-BIOS
  411. routines do not log in a COMM 3 or a COMM 4. The Modem doctor will,
  412. and as a side benefit, these stay logged in until the next warm or
  413. cold boot is performed on your computer. Why would dos not log in a
  414. port? Well, some multi-tasking programs overwrite this area to prevent
  415. "swapping" of communication programs and it is possible that they
  416. might not be properly restored on exit.
  417.  
  418.  
  419. Option 2 is the only real option available. Please use it with
  420. caution. The only real need for this option is for logging in a COMM
  421. port that does not use any of the listed industry standards as its
  422. base port address.
  423.  
  424. Consult your Serial Port or Modem's user manual to make sure you enter
  425. the exact Port address and select the correct Interrupt line to use
  426. with it. Otherwise the Modem Doctor will not recognize or be able to
  427. test any device hooked to this port.
  428.  
  429. Protection is included in this routine to keep someone from
  430. accidentally entering a port that is used by the system board, display
  431. adaptors, or fixed disk adaptor. Entering any of these values, or an
  432. error, will result in the display;
  433.  
  434.              "WARNING...RESERVED PORT...RETRY ENTRY"
  435.  
  436. After running Option 1 or 2 , you must tell the Modem Doctor which
  437. COMM port you wish to use so that testing can begin
  438.  
  439.  
  440. 4.2 Regs
  441. -------------
  442.  
  443. The register display section can be an invaluable diagnostic tool.
  444. What this does is "poll" all of the status registers of the UART, and
  445. the Interrupt Controller to tell you exactly what is going on.  When
  446. you use the setup mode, the Modem Doctor checks all of these registers
  447. for correct information. If something wrong is discovered, a warning
  448. is displayed on the screen telling you what the Modem Doctor believes
  449. is wrong. Many different error conditions are checked, see the error
  450. code section for a listing. Each register contains a Mnemonic for each
  451. one of the data bits. Bits that are a logic low ( = 0) are displayed
  452. in low intensity, those that are a logic high (= 1) are displayed in
  453. high intensity. On a color monitor, this is easy to see. On a Mono
  454. Monitor, make sure you have the brightness and contrast controls
  455. properly adjusted to see the difference between the two status
  456. conditions.
  457.  
  458.  
  459.  
  460.  
  461. ╒[ Line Control Register ]══════════╕
  462. │  DLB STB STP EPS PEN STB WS1 WS0  │
  463. └───────────────────────────────────┘
  464. This register controls many of the setup characteristics of your UART
  465. and how it behaves to your PC. This register is responsible for
  466. setting baud rate, setting break code transmission, parity, and the
  467. length of the serial stream word. When you enter the setup mode,
  468.  
  469. DLB    Divisor Latch          Used to access the baud rate registers
  470.                               Should be 0 for the Modem Doctor
  471.  
  472. STB    Set Break              If High, the modem transmits a break
  473.                               signal, should be 0 normally.
  474.  
  475. STP    Stick Parity           Should be 0 normally
  476. EPS    Even Parity select     High = Even Parity..should be 0 normally
  477. PEN    Parity Enable          Enable Parity checks, should be 0 normally
  478. STB    Stop Bits              Number of stop Bits, should be 0 normally
  479.                               to Indicate 1 stop bit character only.
  480.  
  481. WS1    Word Length Select 1
  482. WS0    Word Length Select 0   These two bits are used to determine the
  483.                               Serial data word length. Both should be
  484.                               High normally to indicate a length of
  485.                               8 bits.
  486.  
  487.  
  488. ╒[ Line Status Register ]═══════════╕
  489. │      TSE THE BI  FE  PE  OE  DR   │
  490. └───────────────────────────────────┘
  491.  
  492. The line status register reports error conditions that might have
  493. occurred between the PC and the UART.
  494.  
  495. TSE    TX Shift Register      A High indicates that all characters
  496.        Empty                  sent to the UART were transmitted.
  497.                               Should be High Normally.
  498.  
  499. THE    TX Holding Register    A High indicates that the UART can now
  500.        Empty                  accept a new character from the PC.
  501.                               Should be High Normally.
  502.  
  503. BI     Break Interrupt        A High indicates that a break signal
  504.                               was received. Should be Low Normally
  505.  
  506. FE     Framing Error          A High indicates that a serial data
  507.                               train did not have a proper stop bit.
  508.                               Should be Low Normally.
  509.  
  510. PE     Parity Error           A High indicates that the received
  511.                               serial data's parity did not match
  512.                               what the UART was programmed to receive.
  513.                               This should be Low Normally.
  514.  
  515. OE     Overrun Error          A High indicates that a character in
  516.                               the receive buffer was not read by the
  517.                               PC in time, and another character
  518.                               overwrote and destroyed it. Should be
  519.                               Low Normally.
  520.  
  521.  
  522. DR     Data Ready             A High indicates that a character has
  523.                               been received and is ready to be read by
  524.                               the PC from the Receiver Buffer. Should
  525.                               be Low normally for these test, but can
  526.                               vary while data is coming in from the
  527.                               Modem.
  528.  
  529.  
  530.  
  531.  
  532. ╒[ Modem Control Register ]═════════╕
  533. │              LP  OT2 OT1 RTS DTR  │
  534. └───────────────────────────────────┘
  535.  
  536. The Modem Control register handles all of the interfacing between the
  537. UART and the modem. Only 5 signals are needed to handle this
  538.  
  539. LP     LOOP                   A High indicates that the Loopback
  540.                               digital diagnostic has been activated.
  541.                               This feature only works with 8250 UARTS
  542.                               or those that are 100% Compatible. This
  543.                               is used in the Digital Loopback test.
  544.  
  545. OT2    OUT 2                  A High enables the UART to generate
  546.                               interrupts. A Low disables interrupts
  547.                               This should always be high for testing
  548.                               purposes.
  549.  
  550. OT1    OUT 1                  On 100% compatible modems, a High on
  551.                               this pin will perform a Hardware reset
  552.                               of the modem. Normally this is a Low.
  553.  
  554. RTS    Request to Send        A Handshaking signal that is used by
  555.                               some modems to enable data transfer
  556.                               between the Modem and the UART. Should
  557.                               be High for testing purposes.
  558.  
  559. DTR    Data Terminal Ready    A Handshaking signal that is used by
  560.                               some modems to enable data transfer
  561.                               between the Modem and the UART. Should
  562.                               be High for testing purposes.
  563.  
  564.  
  565.  
  566. ╒[ Modem Status Register ]══════════╕
  567. │  RLS RI  DSR CTS DRD TER DDR DCS  │
  568. └───────────────────────────────────┘
  569. The Modem Status Register returns the status of the control signals
  570. sent by the modem to the UART.
  571.  
  572.  
  573. RLS    Received Line Detect   A High indicates that a carrier has
  574.                               been received by the modem. When the
  575.                               Analog tests are run, this should be
  576.                               High. If it is not, it is still possible
  577.                               that the Modem is ok, however the
  578.                               cable from the Modem to the UART (for
  579.                               externals only) might not have a complete
  580.                               circuit due to faulty wiring of the
  581.                               RS-232 cable. This signal is very
  582.                               important for some communications
  583.                               programs to operate properly.
  584.  
  585. RI     Ring Indicator         A High indicates that the modem detected
  586.                               a Ringing signal on the phone line.
  587.  
  588. DSR    Data Set Ready         This is part of the DTR/DSR Handshaking
  589.                               pair that is used by some modems to
  590.                               control the flow of data. Should
  591.                               normally be a High.
  592.  
  593. CTS    Clear to Send          This is part of the RTS/CTS Handshaking
  594.                               pair that is used by some modems to
  595.                               control the flow of data. Should
  596.                               normally be a High.
  597.  
  598. DRD    Delta Received
  599.        Line Signal Detect     A High indicates that the Received Line
  600.                               Signal has changed state. Some
  601.                               Communications programs use this also as
  602.                               an indication that a Carrier was
  603.                               detected by the modem.
  604.  
  605. TER    Trailing Edge
  606.        Indicator              A High indicates that the Ring Indicator
  607.                               changed state. Some Communications
  608.                               programs use this as an indication that
  609.                               the phone as Rung.
  610.  
  611. DDR    Delta Data Set Ready   Indicates that the DSR signal has changed
  612.                               state.
  613.  
  614. DCS    Delta Clear to Send    Indicates that the CTS signal has
  615.                               changed state.
  616.  
  617.  
  618.  
  619. ╒[ Interrupt ID Register ]══════════╕
  620. │                      ID2 ID1 ITP  │
  621. └───────────────────────────────────┘
  622. The Interrupt ID Register is used to tell the CPU what kind of
  623. interrupt occurred.
  624.  
  625. ID2    Interrupt Bit 2
  626. ID1    Interrupt Bit 1        These two signals are a binary code
  627.                               which can be read by the CPU to tell
  628.                               what kind of interrupt occurred. Both
  629.                               Bits high indicates an error occurred or
  630.                               a Break Interrupt was received.
  631.  
  632.                               Bit 2 high and Bit 1 low indicates that
  633.                               data is ready to be read by the CPU.
  634.  
  635.                               Bit 1 High and Bit 2 low indicates that
  636.                               a Ring signal or Carrier signal was
  637.                               received.
  638.  
  639.                               For testing purposes, only the Data
  640.                               ready mode is used.
  641.  
  642. ITP    Interrupt Pending      A Low indicates that an interrupt has
  643.                               occurred. For testing purposes, this
  644.                               should always be high if data was
  645.                               successfully read by the Modem Doctor.
  646.                               If it is not, then an interrupt did
  647.                               occur but the CPU did not respond.
  648.                               Suspect a problem with an interrupt
  649.                               Controller Chip or the UART interrupt
  650.                               generating capability.
  651.  
  652.  
  653. ╒[ Interrupt Enable Register ]══════╕
  654. │                  ESI ELI ETI ERI  │
  655. └───────────────────────────────────┘
  656. The Interrupt Enable register is programmed to allow certain types of
  657. interrupts to occur.
  658.  
  659. ESI    Enable Status          A High causes the UART to generate an
  660.        Interrupt              interrupt whenever RI or RSD signals in
  661.                               the Modem Status register go high.
  662.                               Should be low for testing.
  663.  
  664. ELI    Enable Line            A High causes the UART to generate an
  665.        Interrupt              interrupt whenever an error or break
  666.                               interrupt is detected in the Line
  667.                               Status Register. Should be low for
  668.                               testing.
  669.  
  670. ETI    Enable Transmitter     A High causes the UART to generate an
  671.        Holding Register       interrupt whenever the THE signal of the
  672.        Empty Interrupt        Line Status register goes High. Should
  673.                               be low for testing.
  674.  
  675.  
  676. ERI    Enable Receive Data    A High causes the UART to generate an
  677.        Ready Interrupt        interrupt whenever Data is ready to
  678.                               be read by the CPU. The DR line of the
  679.                               Line Status register going to a high
  680.                               condition generates this condition. This
  681.                               signal should be High for testing
  682.                               purposes, since it is the only interrupt
  683.                               needed by the Modem Doctor.
  684.  
  685. ╒[ Interrupt Mask Register ]════════╕
  686. │  IQ7 IQ6 IQ5 IQ4 IQ3 IQ2 IQ1 IQ0  │
  687. └───────────────────────────────────┘
  688. The Interrupt Mask Register is contained on the 8259 Priority
  689. Interrupt Controller on your Computer's Motherboard. Each one of these
  690. Hardware Interrupts corresponds to an external device.
  691.  
  692. IQ7    Printer Interrupt
  693. IQ6    Floppy Disk Interrupt
  694. IQ5    Hard Drive interrupt
  695. IQ4    COM1 Interrupt (also COM3)
  696. IQ3    COM2 Interrupt (also COM4)
  697. IQ2    reserved by IBM (Gateway to second 8259 on AT's)
  698. IQ1    Keyboard Interrupt
  699. IQ0    Timer Interrupt
  700.  
  701. Under Normal Conditions, IQ0,IQ1 and IQ6 should be lit, along with
  702. IQ4 if testing COM1 (or COM3)  or IQ3 if testing COM2 (or COM4). In
  703. addition, other lines could be lit depending on your computer. The only
  704. line the Modem Doctor looks for is the IQ4 or IQ3 lines (depending on
  705. which Serial Port you are testing).
  706.  
  707.  
  708. 4.3 Carrier Tests
  709. -----------------
  710. The Carrier tests are designed to test your modem under actual use
  711. conditions (minus a telephone line).  There are two versions of this
  712. test, one of which is automatically selected by the Modem Doctor
  713. depending on the hardware it detects.
  714.  
  715. Smart Modem Test - If you selected the Test Modem/UART option from the
  716. setup menu and a Modem with a compatible Microprocessor was detected,
  717. the Modem Doctor will test the Originate and Answer frequencies of
  718. your modem automatically. Before running this test, make sure you have
  719. disconnected the modem from the telephone line, because the modem will
  720. go off-hook and sometimes the dial-tone will interfere with testing.
  721.  
  722. You will be prompted to enter a "Loop Count". If you select a count of
  723. 1, you will be able to hear the connecting tones on your speaker. If
  724. you select a count greater than 1, then the speaker is turned off.
  725.  
  726. After you make your selection, two windows will open on your screen.
  727. One contains data that is being sent to the modem, the other Data that
  728. has been received by the modem. All of the characters from Binary 0 to
  729. Binary 255 are transmitted. Some of these will look strange because
  730. they are characters of the Extended Character set. The Modem Doctor
  731.  
  732. takes a great deal of care in preserving the normal condition of your
  733. modem before testing, and sends all the character strings necessary to
  734. test without disturbing any non-volatile memory settings. If you have
  735. an external modem, you will see the data being sent and acknowledged
  736. before testing begins. If you have an internal, please be patient
  737. while it sets up.
  738.  
  739.  
  740. UART or Dumb Modem - This test works the same as the Smart Modem tests
  741. with two main exceptions. First, Your modem must be able to generate a
  742. carrier on its own on the answer and originate frequencies. Most
  743. external "dumb" modems have front panel switches for this function.
  744. Most are marked as AL (for Analog Loopback). If your modem can
  745. generate this, answer yes and follow the prompts on the screen. All
  746. testing is performed as above, except you setup the modem instead of
  747. the Modem Doctor.
  748.  
  749. Errors - If A RLS (Received Line Detect) signal is not received before
  750. testing begins, this indicates that either A Carrier is not being
  751. generated (or properly received in self test) by the modem, or an RS-
  752. 232 Cable to an external modem is improperly wired. Although RS-232
  753. loops will work fine without an RLS signal being wired, there is no
  754. way for the modem Doctor to detect on a Dumb Modem if a carrier was
  755. generated. On a Smart Modem, the Modem Doctor alternately looks for
  756. the word "CONNECT" to be sent from the modem if there is no RLS signal
  757. available. If you wish your all of your communications programs to
  758. work properly, you should get a cable with this signal wired.
  759.  
  760. If an Error is detected during the Analog test, the error Counter is
  761. incremented. There are two error counters; One is used for the
  762. Originate Mode, and the other for the Answer Mode. If you receive an
  763. error, it could be due to a problem with a UART or a Modem at a
  764. certain Baud Rate. Try testing at other Baud rates to determine if the
  765. errors repeat. Also Errors could occur on only the Originate or only
  766. the Answer frequency. This is more prevalent at higher baud rates.
  767. Finally, make sure that the modem was disconnected from the Phone line
  768. before testing. The Dial-tone interferes with some modems. Finally,
  769. there could be a problem with a cable or interrupts not properly being
  770. generated or properly handled by the CPU. Run the Digital/Loopback
  771. tests and if the problem repeats, you might have a bad UART or
  772. motherboard problem.
  773.  
  774. 4.4 Loopback Tests
  775. -------------------
  776. (NOTE..This feature in Registered Version Only!)
  777.  
  778. The Loopback tests were designed for two purposes. First, to test an
  779. RS-232 loop including cables that are properly terminated with a
  780. loopback plug, and second, to run a digital loopback test on 8250 and
  781. 100% Compatible UARTS.
  782.  
  783. Selecting Loopback and pressing return fetches this menu
  784.  
  785. ╔[  Loopback Tests  ]═══════════╗
  786. ║ Analog Loopback using a PLUG  ║
  787. ║ Digital Loopback 8250 UARTS   ║
  788. ║ Loopback Plug Technical Data  ║
  789. ║     Return To Main Menu       ║
  790. ╚═══════════════════════════════╝
  791.  
  792.  
  793. Analog Loopback tests require that you attach a Loopback plug either
  794. to the back of the Comm port connector on your computer, or at the end
  795. of a RS-232 Cable. This test is designed for external Modems, however
  796. you could run this on an internal modem as a test of the command
  797. channel's ability to receive characters. Caution should be used on
  798. internal modems, for some will fail this test. If this happens, don't
  799. be concerned. However this test should NEVER fail with a Loopback
  800. Plug.
  801.  
  802. Digital Loopback tests require that you have an 8250 or 100%
  803. compatible UART in your system. These UART's have built-in diagnostics.
  804. If this test does not run, it means that you do not have a compatible
  805. UART installed. You should never pick up a character error using this
  806. test. If you do, you have a bad UART or CPU Motherboard Problem.
  807.  
  808. Both Tests open up windows (like the Analog test) and send and receive
  809. characters to the UART.
  810.  
  811. If you wish to know how to build a loopback plug, select the Loopback
  812. Plug technical data section.
  813.  
  814. 4.5 Manual
  815. ----------
  816. As well written as the Modem Doctor is, there exists the possibility
  817. that a Modem or a system might not be compatible with the diagnostics.
  818. The Manual section allows you to send your own string commands to the
  819. Modem, read back data, and in fact you could use this as a Mini-
  820. communications program.
  821.  
  822. If you select this mode, a window opens with the banner Interactive
  823. Mode. At the Bottom are listed the "Hot-Keys" you can use;
  824.  
  825. ALT-C   Clears the screen. This only clears the window of data, and
  826.         leaves all your prompts.
  827.  
  828. ALT-R   This displays the UART registers...handy for real-time
  829.         troubleshooting of RS-232 loops.
  830.  
  831. ALT-H   Help..this displays the basic AT Command set instructions that
  832.         you could use to control your modem. Note that this is only a
  833.         basic set. Some modems have many extensions to this, so for
  834.         advanced work, consult your owners manual.
  835.  
  836. ALT-X   Exits the interactive mode and returns to the main menu.
  837.  
  838.  
  839. 4.5 Setup Mode
  840. --------------
  841. This section was covered above. Use this to change the serial port
  842. under test, the baud rate, and the type of test to be run.
  843.  
  844.  
  845. 4.6 Exit Program
  846. ----------------
  847. This is the only way to exit the Modem Doctor. This is necessary
  848. because the interrupt tables and controllers of your PC must be
  849. returned to their original state in order to avoid problems after you
  850. use the Modem Doctor.  Pressing Control-C or Control-Break during the
  851. Modem doctor will cause one of two things to happen. First, it will
  852. freeze the program deliberately (locking it up) forcing you to
  853.  
  854. warmboot your computer. Second, if it is at all possible to exit
  855. without damage, a window will open telling you that you can control-
  856. break abort if you wish..answer yes or no.
  857.  
  858.  
  859. 5.0 Error Messages and their Meanings
  860. -------------------------------------
  861. The Modem Doctor, if presented with an error, will make a diagnosis of
  862. the problem. In most cases, this should be enough for you to figure
  863. out what is wrong and go on from there to correct it.
  864.  
  865. 5.1 Log In errors
  866. -----------------
  867.  
  868. ALL Available COMM ports are in use...Press to Return
  869.   -COM1 through COM4 are logged in and no new ports can be added
  870.  
  871. COMx Not Found
  872.   -A COMM port (x) was not located at the port address specified.
  873.    This is normal during auto-selection, but not if a manual selection
  874.    was entered. If a manually entered address did not work, check your
  875.    Modem owners manual to make sure you entered it correctly.
  876.  
  877. WARNING...RESERVED PORT...RETRY ENTRY
  878.   - You entered a port address that is assigned to a critical
  879.     Motherboard or CPU address port. Your entry was an error..check
  880.     your modem owners manual to get the right port.
  881.  
  882.  
  883. 5.2 Carrier Errors
  884. ------------------
  885. WARNING...CARRIER FAILURE...Status Registers Displayed above
  886.  
  887.  followed by;
  888.  
  889. RLS (Received Line Signal Detect indicates that a carrier has
  890.  not been received by the UART Check modem or connector wiring
  891.  
  892. This indicates that a "dumb" modem did not signal the UART that it has
  893. received a carrier (or is generating one).
  894.  
  895.  
  896. Modem not responding to the Analog originate test
  897.  or;
  898. Modem not responding to the Analog Answer test
  899.  
  900. A Smart Modem did not go into the self test mode. The Modem Doctor
  901. looks for the word "CONNECT" to be returned by the modem. A possible
  902. reason for a perfectly working modem to generate this is if the wrong
  903. baud rate was selected for testing. Smart Modems return
  904. identifications that can be read by the Modem Doctor. If you suspect
  905. you selected the incorrect baud rate, go to setup and select 300 baud
  906. and try again. If it doesn't work this time, you might have a problem
  907. with your modem generating a self test.
  908.  
  909. Modem Analog Test passed without any errors in Originate and Answer
  910. Modes
  911.  - Normal results of the testing.
  912.  
  913.  
  914. "You had a total of x Originate Errors  and  x  Answer Errors
  915.  - An error was detected on character transmission by the Modem
  916.    Doctor. Use the window display to isolate the error if you wish,
  917.    or run the test again, making sure that the phone line is
  918.    disconnected.
  919.  
  920.  
  921.  5.3 Loopback Errors
  922.  -------------------
  923. UART not responding using Analog Loopback Plug mode
  924.  - No characters were received over the RS-232 Loop. Make sure you
  925.    are using a proper RS-232 cable and a proper Loopback plug
  926.  
  927. No Loopback Plug or General Failure of the Hardware
  928.  - None of the handshaking signals (RTS/CTS DTR/DSR) were detected
  929.    (or generated) by the UART. Either you have a bad cable, a bad
  930.    loopback plug or a faulty UART.
  931.  
  932. Analog Loopback Test passed without any errors
  933.  - Normal result of test
  934.  
  935. You had a total of x Errors
  936.  - At least one error was detected...this is the normal result if a
  937.    UART does not respond to any test.
  938.  
  939.  
  940. UART not responding to the Digital Loopback test
  941.  - No characters were looped internally through the 8250 UART. Suspect
  942.    a non-compatible UART or a failure of the 8250 UART.
  943.  
  944. UART Registers did not set for Loop back test
  945.  - The UART Modem Control Registers did not program properly. This
  946.    should indicate a hardware failure of the UART under all
  947.    circumstances (including use with a non-compatible UART).
  948.  
  949. UART Digital Test passed without any errors
  950. - Normal result of test
  951.  
  952.  
  953.  
  954. 5.4 Setup Errors
  955. ----------------
  956. Modem Microprocessor Did Not Accept Setup Commands
  957.  - Commands were sent to setup the modem for testing, the Modem did
  958.    not acknowledge. Suspect a non-compatible modem or a possible
  959.    hardware failure.
  960.  
  961. Modem Status Register readings show that there is no status coming
  962. back from the modem to the UART.  If this is an external modem,
  963. check" that the cable is plugged in.
  964.  - The only condition that the UART will not have any status
  965.    is if an External Modem is off, not connected, or the UART
  966.    has a serious hardware problem.
  967.  
  968. Line Control register readings show that the word length selected is
  969. incorrect. WS1 and WS0 should both be on indicating that 8 bit words
  970. are to be used. The UART is defective or communications to the UART
  971. are suspect.
  972.  
  973.  
  974.  
  975. Line Status Readings Show
  976. show that the Tx Holding Register THE or the Tx Shift Register TSE is
  977. not resetting properly. UART is suspect or connections to the UART
  978. from the computer.
  979.  
  980. Modem Control register readings show that either DTR,RTS or OT2
  981. signals are not set properly. DTR and RTS are essential for
  982. communications. OT2 is essential for interrupts. UART is suspect or
  983. connections to the UART from the computer
  984.  
  985. Interrupt ID register readings show that an interrupt is pending when
  986. none should be. UART is suspect or connections to the UART from the
  987. computer.
  988.  
  989. Interrupt Enable register readings show that ERI Enable Receiver ints
  990. is not set properly. UART is suspect or connections to the UART from
  991. the computer.
  992.  
  993. 8259 Interrupt Controller has not responded to setting the IRQ4 line.
  994. This problem is on the system board of your computer. Run your
  995. computer diagnostics program to locate the error
  996.  
  997. 8259 Interrupt Controller has not responded to setting the IRQ3 line.
  998. This problem is on the system board of your computer. Run your
  999. computer diagnostics program to locate the error
  1000.  
  1001.  
  1002. I cant find a COMM Port
  1003. - If Dos does not Log in Comm 1 or Comm 2 and if no port is
  1004.   Auto-Detected, then the Modem Doctor Aborts for there is no
  1005.   reason to run the program.
  1006.  
  1007. WARNING...This COMM PORT is MODEM STATUS REGISTER IS DEFECTIVE
  1008. - The Modem status register is one of the registers tested during
  1009.   auto-login detection. If it doesn't respond properly, the UART
  1010.   is probably defective and this message is displayed.
  1011.  
  1012.  
  1013.  
  1014.  
  1015. Section 6. Registration Information
  1016. -----------------------------------
  1017.  
  1018. The Modem Doctor is copyrighted by Hank Volpe. The Shareware Version of this 
  1019. program may be distributed on Bulletin Board Systems or in Public Domain 
  1020. Libraries as long as a Fee is not charged for its duplication or acquisition. 
  1021. The Modem Doctor is distributed on as "As-is" basis, with no warranties for 
  1022. usefulness or suitability expressed or implied. Users of the Shareware version 
  1023. are granted a limited license to use this program. It is expected that if you 
  1024. use it for more than 30 days, that you will register the Modem Doctor.
  1025.  
  1026. Registration adds many powerful features that make the Modem Doctor an 
  1027. excellent RS-232/UART/Modem Diagnostic Tool. Comparable programs cost well over 
  1028. $100, while the Modem Doctor Registration Fee is just $19.95 for a single copy.
  1029. Group Discount prices for software distributors and Businesses are available.
  1030.  
  1031. For Single-user registration, send a check or Money order for $19.95 to
  1032.  
  1033.                                    Hank Volpe
  1034.                                108 Broadmoor Drive
  1035.                                Tonawanda NY 14150
  1036.  
  1037. You will receive the latest version of the Modem Doctor, plus several other 
  1038. useful Modem Utilities. Registered Users also are entitled for updates to newer 
  1039. versions (when available) for a small fee to cover shipping and handling.
  1040.  
  1041.  
  1042. Notes -
  1043. [+]  Copywrited by US Robotics INC
  1044. [++] Copywrited by Hayes Inc
  1045.