home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 May / PCWorld_1999-05_cd.bin / hardware / Drivers / Serial / SERIAL.DOC < prev   
Text File  |  1998-03-24  |  38KB  |  1,085 lines

  1.  
  2.  
  3.  
  4.  
  5.                                     SERIAL 2.00
  6.  
  7.                                  TABLE OF CONTENTS
  8.  
  9.  
  10.      WHAT IS SERIAL? . . . . . . . . . . . . . . . . . . . . . . . . . .    2
  11.  
  12.      HOW TO USE SERIAL . . . . . . . . . . . . . . . . . . . . . . . . .    3
  13.        ERRORLEVELs . . . . . . . . . . . . . . . . . . . . . . . . . . .    4
  14.  
  15.      COMMAND LINE OPTIONS  . . . . . . . . . . . . . . . . . . . . . . .    5
  16.        Help  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    6
  17.        Quiet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    6
  18.        Verbose . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    6
  19.        Enable  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    7
  20.        Disable . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    7
  21.        Uninstall . . . . . . . . . . . . . . . . . . . . . . . . . . . .    7
  22.        Text  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    8
  23.        Graphics  . . . . . . . . . . . . . . . . . . . . . . . . . . . .    8
  24.        HotKey:{Letter} . . . . . . . . . . . . . . . . . . . . . . . . .    9
  25.        Row:{row} . . . . . . . . . . . . . . . . . . . . . . . . . . . .    9
  26.        Column:{column} . . . . . . . . . . . . . . . . . . . . . . . . .    9
  27.        COM1  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   10
  28.        COM2  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   10
  29.        COM3  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   10
  30.        COM4  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   10
  31.        Port[:port] . . . . . . . . . . . . . . . . . . . . . . . . . . .   10
  32.  
  33.      THE SERIAL ENVIRONMENT VARIABLE . . . . . . . . . . . . . . . . . .   11
  34.  
  35.      THE HOTKEY (CTL-ALT-S)  . . . . . . . . . . . . . . . . . . . . . .   12
  36.  
  37.      CAVEATS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   13
  38.  
  39.      A WORD FROM THE SPONSOR . . . . . . . . . . . . . . . . . . . . . .   16
  40.  
  41.      OTHER PROGRAMS  . . . . . . . . . . . . . . . . . . . . . . . . . .   17
  42.  
  43.      WARRANTY  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   18
  44.  
  45.      REVISION HISTORY  . . . . . . . . . . . . . . . . . . . . . . . . .   19
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.                         SERIAL 2.00            Page 1 of 19
  59.  
  60.  
  61.  
  62.      WHAT IS SERIAL?
  63.      ═══════════════
  64.  
  65.      SERIAL is a TSR (Terminate and Stay Resident) program that runs on an
  66.      IBM-compatible computer.  It uses just over 3500 bytes of RAM (Random
  67.      Access Memory) when it is installed.  SERIAL continuously shows the
  68.      status of one of the SERIAL ports on your computer (COM1, COM2, COM3,
  69.      COM4, or another special PORT of your choosing).  What SERIAL shows you
  70.      on the screen looks something like this:
  71.  
  72.        COM1 115200 N81 DtrDsrRtsCtsRiCd
  73.  
  74.      In this case, SERIAL is showing you the status of COM1.  The bit rate
  75.      (oft times mistakenly called the "baud rate") is currently 115200 bps
  76.      (bits per second), No parity, 8 data bits, and 1 stop bit.  The
  77.      following bits are all currently set: Data Terminal Ready (DTR), Data
  78.      Set Ready (DSR), Request To Send (RTS), and Clear To Send (CTS).  The
  79.      telephone is ringing (RI=Ring Indicator), and the far end modem is
  80.      sending us a carrier (CD=Carrier Detect).
  81.  
  82.      If you have ever dealt much with SERIAL ports (especially modems), you
  83.      know what a pain in the neck they can be.  SERIAL communications is one
  84.      of the most complicated things a computer can do, and it unfortunately
  85.      can take a lot of "messing around" to get things to work correctly. 
  86.      SERIAL shows you, on screen, pretty much anything you may need to know
  87.      about your SERIAL port that can help you find and fix problems.  If you
  88.      don't understand some of the terminology above (like "DTR", "carrier",
  89.      or "baud"), you need to read about SERIAL communications from a book or
  90.      magazine article dedicated to the subject - it is beyond the scope of
  91.      this documentation.
  92.  
  93.      SERIAL can be moved anywhere on the screen at any time, or you can
  94.      change the SERIAL port at any time, either by typing SERIAL [options] at
  95.      the DOS command line, or by hitting the HOTKEY (the default HOTKEY is
  96.      Ctl-Alt-S, see pages 9 and 12) after SERIAL is loaded in memory.
  97.  
  98.      I have seen other programs that are similar to SERIAL, but none of them
  99.      worked exactly like I wanted them to.  They would either put their
  100.      information in a specific place on the screen and couldn't be moved or
  101.      "turned off", would show only COM1, would not show all of the
  102.      information needed (for instance, would not show the bit rate or parity
  103.      information), or would not work in both DOS and Windows.  SERIAL
  104.      accomplishes all of these tasks in one program, and uses only a very
  105.      small amount of memory to do it (around 3500 bytes of RAM).
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.                         SERIAL 2.00            Page 2 of 19
  116.  
  117.  
  118.  
  119.      HOW TO USE SERIAL
  120.      ═════════════════
  121.  
  122.      The most convenient way to use SERIAL is to load it into to memory every
  123.      time you start your computer by putting a "SERIAL [options]" line in
  124.      your AUTOEXEC.BAT file.  SERIAL will then always be there when you want
  125.      to know about one of your SERIAL ports.  You can generally leave SERIAL
  126.      DISABLEd (turned off or "hidden", see page 7) most of the time, since
  127.      you usually don't care about your SERIAL ports.  If you're having
  128.      trouble with a SERIAL port, you can ENABLE (turn on or "unhide", see
  129.      page 7) SERIAL until you get things figured out.  You can move it
  130.      anywhere on the screen or temporarily hide it at any time if it gets in
  131.      your way.  You can then DISABLE SERIAL again until you need it again.
  132.  
  133.      You can also (by making yourself a batch file) ENABLE SERIAL every time
  134.      you start your communications program, so that any time you are working
  135.      with your SERIAL ports you know what's going on.  A batch file to do
  136.      this for a communications program called "modem" might look like this:
  137.  
  138.          ECHO OFF
  139.          C:
  140.          CD \modem
  141.          SERIAL /Enable
  142.          IF ERRORLEVEL 1 GOTO ERROR
  143.          modem
  144.          SERIAL /Disable
  145.            REM Turn SERIAL off
  146.          GOTO END
  147.        :ERROR
  148.          ECHO Error occurred while installing/updating SERIAL.
  149.        :END
  150.          CD \
  151.  
  152.      If you don't know how to write Batch files, I strongly encourage you to
  153.      learn - the ability to write and use Batch files will save you literally
  154.      hours of work and frustration in years to come.
  155.  
  156.  
  157.      Instead of just DISABLing SERIAL (page 7), you can also UNINSTALL SERIAL
  158.      from memory completely (see page 7) if you don't need it any more. 
  159.      DISABLing SERIAL accomplishes the same thing, but UNINSTALLing SERIAL
  160.      will free up about 3500 bytes of memory to use for other things.
  161.  
  162.  
  163.      SERIAL can also be installed (loaded) into High Memory with DOS's LOADHI
  164.      or LH command.  SERIAL doesn't use very much memory anyway (about 3500
  165.      bytes), but installing it into High Memory (if you can) will leave you
  166.      with even more memory for your other programs to use.  Read your DOS
  167.      manual if you want to learn more about memory management (LOADHI,
  168.      EMM386, EMS, XMS, HMA, UMB, etc.).
  169.  
  170.  
  171.  
  172.                         SERIAL 2.00            Page 3 of 19
  173.  
  174.  
  175.  
  176.      SERIAL sets the following ERRORLEVELs after it executes, to give you an
  177.      indication of what happened.  If you don't understand the purpose or
  178.      value of ERRORLEVELs, I suggest you read about them in your DOS manual.
  179.  
  180.        ╔════════════╦════════════════════════════════════════════════════╗
  181.        ║ ERRORLEVEL ║                   MEANING                          ║
  182.        ╠════════════╬════════════════════════════════════════════════════╣
  183.        ║     0      ║ No problem - SERIAL was installed or updated OK    ║
  184.        ║     1      ║ Couldn't understand one or more of the Options     ║
  185.        ║     2      ║ Memory problem with the computer                   ║
  186.        ║     3      ║ Tried UNINSTALL without SERIAL installed           ║
  187.        ║     4      ║ A different version of SERIAL was found in memory  ║
  188.        ║     5      ║ Incorrect DOS version (needs to be at least 3.0)   ║
  189.        ╚════════════╩════════════════════════════════════════════════════╝
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.                         SERIAL 2.00            Page 4 of 19
  230.  
  231.  
  232.  
  233.      COMMAND LINE OPTIONS
  234.      ════════════════════
  235.  
  236.      SERIAL is fairly liberal in what it will accept as Options.  All Options
  237.      must be entered separately, and can either start with a "/" or a "-". 
  238.      Options that require a number or character to be entered as part of the
  239.      Option (indicated by a ":" separator in the descriptions below) can
  240.      either use a ":" or "=" as the separator.  They can be upper or lower
  241.      case, do not need to be separated by spaces, and can be entered in any
  242.      order.  If the same Option is entered twice with two different settings,
  243.      or conflicting Options are entered, the last one entered takes
  244.      precedence.
  245.  
  246.      Note also that there are usually several different ways to enter the
  247.      same Option.  For example, to DISABLE SERIAL (turn it off, page 7), you
  248.      could type any of the following:
  249.  
  250.        SERIAL /D
  251.        SERIAL /Disable
  252.        SERIAL /Hide
  253.        SERIAL /Off
  254.  
  255.      The Options all have a "shorthand" code ("/D" in this case) and one or
  256.      more "longhand" codes ("/Disable", "/Hide", and "/Off" in this example). 
  257.      The shorthand codes take up much less room and are easier to type, but
  258.      the longhand codes are probably easier to remember and to read.  You can
  259.      use whichever makes the most sense to you.
  260.  
  261.      For instance, the following are equivalent:
  262.  
  263.        SERIAL /D /E    -R=1  -Column:1
  264.        SERIAL -Enable  /row=1-c=1
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.                         SERIAL 2.00            Page 5 of 19
  287.  
  288.  
  289.  
  290.        *  /?
  291.        *  /Help /H
  292.  
  293.             Any of these options will pull up a HELP table which gives a
  294.             quick summary of the possible command line Options for SERIAL.
  295.  
  296.  
  297.        *  /Q, /V
  298.        *  /Quiet /ShutUp
  299.        *      /Verbose /Talk
  300.  
  301.             These Options are complements of each other.  The /Q (or /Quiet
  302.             or /ShutUp) Option tells SERIAL not to write any status messages
  303.             about what SERIAL is doing to the screen.  The /V (or /Verbose or
  304.             /Talk) Option tells SERIAL to write all of the status information
  305.             to the screen.
  306.  
  307.             With the /V Option, any time you type SERIAL [options] at the
  308.             command line, SERIAL tells you all kinds of things about the
  309.             status of SERIAL in memory.  Here's a typical example:
  310.  
  311.                   COM Port: 1
  312.                User Port #: 03F8
  313.                     Status: Enabled
  314.                   Graphics: No
  315.                     HotKey: Ctrl-Alt-S
  316.                  Placement: Row 1, Column 76
  317.  
  318.             Look through the rest of the command line Options (below) if you
  319.             need to know what all of this stuff means.
  320.  
  321.             With the /Q Option, none of this status information is shown on
  322.             screen - SERIAL is QUIET.  This status information tends to
  323.             clutter up your screen if you call SERIAL a lot, but also gives
  324.             you some information you may want to know.  It's up to you
  325.             whether you want SERIAL to show it or not.
  326.  
  327.             The default for SERIAL is /V (to be VERBOSE about things).  If
  328.             you want SERIAL to normally be QUIET, the best way is to put a
  329.             "SET SERIAL=/Q" line in your AUTOEXEC.BAT file (see "THE SERIAL
  330.             ENVIRONMENT VARIABLE" section on page 11).  Then SERIAL will
  331.             normally be QUIET.  If then, for some reason, you need to know
  332.             the status of SERIAL, you can type "SERIAL /V" to get a one-time
  333.             view of SERIAL's status.
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.                         SERIAL 2.00            Page 6 of 19
  344.  
  345.  
  346.  
  347.        *  /E
  348.        *  /Enable /On /Show /Unhide
  349.  
  350.             Any of these Options will ENABLE SERIAL (turn it on, or "Unhide"
  351.             it if it was hidden with a /D, directly below).  When SERIAL is
  352.             initially installed in memory, the default is /E (you can see the
  353.             status of a SERIAL port on the screen).
  354.  
  355.  
  356.        *  /D
  357.        *  /Disable /Hide /Off
  358.  
  359.             Any of these Options will DISABLE SERIAL (turn it Off, or "hide"
  360.             it).  SERIAL still remains in memory when it is DISABLEd, but you
  361.             can't see it.  SERIAL can be UNINSTALLed from memory completely
  362.             with the /U Option (directly below).
  363.  
  364.  
  365.        *  /U
  366.        *  /Uninstall /Remove
  367.  
  368.             Any of these Options will permanently UNINSTALL (or at least try
  369.             to UNINSTALL) SERIAL from memory.  Effectively, you can do the
  370.             same thing ("hide" SERIAL) with a "SERIAL /D" (directly above),
  371.             but "SERIAL /U" will free up about 3500 bytes of RAM on your
  372.             machine to use for other things.
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.                         SERIAL 2.00            Page 7 of 19
  401.  
  402.  
  403.  
  404.        *  /T, /G
  405.        *  /Text /TextOnly
  406.        *      /Graphics /Always
  407.  
  408.             There are two general categories of "modes" that a computer
  409.             screen can be in: "text mode" and "graphics mode".  When the
  410.             screen is in a TEXT mode, SERIAL usually works very well and
  411.             doesn't have any problems.  When the screen is in a GRAPHICS
  412.             mode, however, SERIAL doesn't always work correctly.  There is a
  413.             more detailed discussion of this in the "CAVEATS" section below
  414.             (page 13).
  415.  
  416.             With /T, SERIAL handles this problem by only turning itself on
  417.             when the screen is in a TEXT mode.  If the screen is in a
  418.             GRAPHICS mode, SERIAL automatically hides itself (just as if you
  419.             had typed "SERIAL /D", page 7).  When the screen goes back to a
  420.             TEXT mode, SERIAL turns itself back on.
  421.  
  422.             With /G, SERIAL tries to be on all of the time, even when the
  423.             screen is in a GRAPHICS mode.  However, even with /G, you can't
  424.             always see SERIAL.  There are some programs that diligently fight
  425.             what SERIAL is trying to do, and effectively hide SERIAL anyway.
  426.  
  427.             The default is /T (to only show SERIAL in TEXT modes).
  428.  
  429.  
  430.             SERIAL does work with many GRAPHICS programs, but not all.  The
  431.             way I use SERIAL, I have a "SET SERIAL=/G" line in my
  432.             AUTOEXEC.BAT file (see "THE SERIAL ENVIRONMENT VARIABLE" below,
  433.             page 11).  That way SERIAL will come on even in GRAPHICS programs
  434.             if I type the HOTKEY (see pages 9 and 12).
  435.  
  436.             Hopefully, a future release of SERIAL will have this GRAPHICS
  437.             problem completely solved.  Send me some ideas on things to try!
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.                         SERIAL 2.00            Page 8 of 19
  458.  
  459.  
  460.  
  461.        *  /K:{Letter}
  462.        *  /HotKey:{Letter} /Key:{Letter}
  463.  
  464.             Any of these Options will tell SERIAL to change the HOTKEY from
  465.             Ctl-Alt-S to Ctl-Alt-{Letter}.  {Letter} must be a letter between
  466.             A and Z.  For example, to change the HOTKEY for SERIAL from Ctl-
  467.             Alt-S to Ctl-Alt-Z, you could type one of the following:
  468.  
  469.                SERIAL /K:Z
  470.                SERIAL /Key = Z
  471.                SERIAL /HotKey:Z
  472.  
  473.             The HOTKEY is used to access SERIAL after it has been installed
  474.             into memory (see "THE HOTKEY (CTL-ALT-S)" section below, page
  475.             12).  This Option allows you to change the HOTKEY if it conflicts
  476.             with one of your other programs, or if you for some reason just
  477.             don't like the S.
  478.  
  479.  
  480.        *  /R:{row}, /C:{column}
  481.        *  /Row:{row}
  482.        *            /Col:{column} /Column:{column}
  483.  
  484.             These Options are how you locate SERIAL on the screen.  You tell
  485.             SERIAL to put itself at a specific ROW and/or COLUMN on the
  486.             screen.  ROW 1 is at the top of the screen, and COLUMN 1 is at
  487.             the left of the screen.  The ROW and COLUMN numbers can be
  488.             anywhere between 1 and 1000 (I have never yet seen a screen with
  489.             more than 63 ROWs or 132 COLUMNs, so I figure 1000 is a good
  490.             maximum number to use).  If you enter a number that is bigger
  491.             than your actual screen size, SERIAL just puts itself at the
  492.             appropriate edge of the screen.
  493.  
  494.             For example, say your screen is a standard 25 ROWs by 80 COLUMNs. 
  495.             If you enter a "SERIAL /Row:1 /Col:1000", SERIAL will be put in
  496.             the upper right-hand corner of the screen.  In general, you want
  497.             to put SERIAL in a part of the screen that doesn't change a lot,
  498.             and that isn't on top of where the text cursor might be while you
  499.             are in the middle of a program (usually, somewhere on a program's
  500.             "menu" line, if it has one, is a good place).
  501.  
  502.             The default location for SERIAL is the upper right-hand corner of
  503.             the screen.
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.                         SERIAL 2.00            Page 9 of 19
  515.  
  516.  
  517.  
  518.        *  /1, /2, /3, /4
  519.        *  /COM1
  520.        *      /COM2
  521.        *          /COM3
  522.        *              /COM4
  523.  
  524.             These options are how you tell SERIAL which standard SERIAL port
  525.             to show information about (COM1, COM2, COM3, or COM4).  A
  526.             computer can actually have more than four SERIAL ports, but
  527.             COM1-COM4 are the only ones that have fixed, standard addresses
  528.             that SERIAL knows for sure where to find.  SERIAL will also let
  529.             you look at non-standard SERIAL ports (see the PORT option
  530.             directly below).   The default is /1 (for SERIAL to show the
  531.             information about COM1).
  532.  
  533.  
  534.        *  /P[:port]
  535.        *  /Port[:port]
  536.  
  537.             Either of these options are how you enter a non-standard serial
  538.             PORT address, and/or have SERIAL start showing you information
  539.             about the non-standard PORT address.  The PORT address must be
  540.             entered in hexidecimal.  For example, let's say you have a
  541.             special SERIAL PORT at address 02E8 (this is actually COM4, but
  542.             let's pretend you don't know that).  You can look at the status
  543.             of this special PORT with SERIAL by typing one of the following:
  544.  
  545.                SERIAL /Port:02E8
  546.                SERIAL -Port = 02E8
  547.                SERIAL /P:2E8
  548.  
  549.             SERIAL will then show you the status of this particular special
  550.             PORT.  Let's say you do this, and then jump over to look at one
  551.             of the other SERIAL ports (COM1-COM4).  Since you've already told
  552.             SERIAL about your special PORT address, you don't need to tell it
  553.             again.  You can have SERIAL start showing you information about
  554.             the special PORT again by simply giving SERIAL the PORT option
  555.             without the address, as follows:
  556.  
  557.                SERIAL /Port  or
  558.                SERIAL /P
  559.  
  560.             The default special (User) PORT address is 03F8 (which is
  561.             actually COM1).  If you have some special PORT address that you
  562.             always want SERIAL to look at, you should set the SERIAL
  563.             environment variable up to do it for you automatically (see "THE
  564.             SERIAL ENVIRONMENT VARIABLE" section directly below, page 11).
  565.  
  566.             You can toggle SERIAL between showing you the standard COM1-COM4
  567.             ports and the special User PORT either with the command line
  568.             options or with the HOTKEY (see pages 9 and 12).
  569.  
  570.  
  571.                        SERIAL 2.00            Page 10 of 19
  572.  
  573.  
  574.  
  575.      THE SERIAL ENVIRONMENT VARIABLE
  576.      ═══════════════════════════════
  577.  
  578.      SERIAL also looks for an environment variable called SERIAL.  This
  579.      variable can have any of the command line Options listed above (starting
  580.      on page 5), except /? (HELP, page 6) or /U (UNINSTALL, page 7), or their
  581.      variations.  SERIAL reads the Options from the environment variable
  582.      SERIAL before it reads the Options on the DOS command line.  Whatever
  583.      Options you have for the SERIAL environment variable effectively become
  584.      your "defaults", but can be overridden by an Option you type at the
  585.      command line.
  586.  
  587.      This could be useful, for example, if you usually want to have SERIAL
  588.      DISABLEd (hidden, page 7).  If this were the case, you could put the
  589.      line "SET SERIAL=/D" or "SET SERIAL=/Disable" in your AUTOEXEC.BAT file
  590.      (before your "SERIAL [options]" command line, if you have one in your
  591.      AUTOEXEC.BAT), and SERIAL will normally be DISABLEd.  To ENABLE SERIAL,
  592.      you would then either need to type "SERIAL /E" (see page 7) or
  593.      Ctl-Alt-S,Enter (see pages 9 and 12).
  594.  
  595.      If you have anything in the SERIAL environment variable, SERIAL tells
  596.      you what it is every time you type "SERIAL [options]".  This will remind
  597.      you of your "default" settings in case SERIAL does something you don't
  598.      expect (usually, if SERIAL does something unexpected, it's because you
  599.      changed the "default" settings with the SERIAL environment variable and
  600.      forgot what you did!).
  601.  
  602.      If you don't know what an "environment" is, or what it is used for, I
  603.      suggest you read about it in your favorite DOS book.
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.                        SERIAL 2.00            Page 11 of 19
  629.  
  630.  
  631.  
  632.      THE HOTKEY (CTL-ALT-S)
  633.      ══════════════════════
  634.  
  635.      Any time SERIAL is installed in memory, you can "access" SERIAL by
  636.      pressing a Ctl-Alt-S on the keyboard (pressing Ctl, then Alt, then S,
  637.      holding all three down at the same time).  If you have changed your
  638.      HOTKEY (with "SERIAL /K:{Letter}", page 9), you access SERIAL with a
  639.      Ctl-Alt-{Letter}.
  640.  
  641.  
  642.      After you have "accessed" SERIAL, you can do almost everything you can
  643.      do with a "SERIAL [options]" line from the DOS prompt.  You can DISABLE
  644.      or ENABLE SERIAL (page 7), toggle SERIAL between GRAPHICS and TEXT-only
  645.      modes (page 8), move SERIAL anywhere on the screen (see the ROW and
  646.      COLUMN options on page 9), and change the SERIAL port you are looking at
  647.      (see the COM1-COM4 and PORT options on page 10).
  648.  
  649.      The only things you can't do are UNINSTALL it (page 7), change the
  650.      HOTKEY (page 9), or change the special PORT address (page 10) - you have
  651.      to be at the DOS command line and type "SERIAL [options]" to do these
  652.      things.
  653.  
  654.      If you press the HOTKEY (Ctl-Alt-S) on the keyboard, SERIAL stops
  655.      showing you the SERIAL port status and instead shows you a list of the
  656.      keys you can press to change or view things about SERIAL.  If you press
  657.      a key that doesn't make sense to SERIAL, it beeps at you.  For example,
  658.      if SERIAL is already at the right edge of the screen, SERIAL beeps at
  659.      you if you try to move it any further to the right.  The following keys
  660.      are allowed to be typed after you press the HOTKEY (Ctl-Alt-S):
  661.  
  662.        1 - Changes SERIAL to show COM1
  663.        2 - Changes SERIAL to show COM2
  664.        3 - Changes SERIAL to show COM3
  665.        4 - Changes SERIAL to show COM4
  666.        P - Changes SERIAL to show the special (User) serial PORT address
  667.        Arrow Keys - Moves SERIAL up, down, left, or right 1 space
  668.        PgUp/PgDn  - Moves SERIAL to the top/bottom of the screen
  669.        Home/End   - Moves SERIAL to the left/right edge of the screen
  670.        Enter - Done changing things, keep showing SERIAL
  671.        Esc   - Done changing things, hide SERIAL
  672.  
  673.      Enter or Esc must be the LAST thing you type after the HOTKEY
  674.      (Ctl-Alt-S).  When you type the Enter or Esc, SERIAL returns control of
  675.      the keyboard back over to the computer so that you can keep running your
  676.      programs.
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.                        SERIAL 2.00            Page 12 of 19
  686.  
  687.  
  688.  
  689.      CAVEATS
  690.      ═══════
  691.  
  692.      If SERIAL isn't anywhere on the screen when you think it should be,
  693.      there are several possible reasons:
  694.  
  695.        1. SERIAL was never installed into memory.  Type "SERIAL [options]" at
  696.           the DOS command line to install SERIAL into memory.
  697.        2. SERIAL was installed into memory, but was later UNINSTALLed (with a
  698.           "SERIAL /U", page 7).  Reinstall it by typing "SERIAL [options]".
  699.        3. SERIAL has been DISABLEd (with "SERIAL /D", page 7, or with the
  700.           HOTKEY (Ctl-Alt-S) followed by "Esc", page 12).  You can reENABLE
  701.           SERIAL with "SERIAL /E" (page 7) or Ctl-Alt-S,Enter (page 12).
  702.        4. The text cursor is underneath SERIAL on the screen.  Any time the
  703.           text cursor is in the same place on screen as SERIAL, SERIAL
  704.           temporarily "hides" itself so that you can see what you're typing. 
  705.           When the text cursor moves out from underneath SERIAL, it "unhides"
  706.           itself again.
  707.        5. The screen is in a "GRAPHICS" mode and you haven't told SERIAL to
  708.           show itself during GRAPHICS screens (with a /G, page 8).  SERIAL
  709.           will only show itself on a TEXT mode screen unless you give it a
  710.           /G.
  711.        6. The computer is running a GRAPHICS program (and you have enabled
  712.           GRAPHICS with a /G, page 8), but the program won't let SERIAL be
  713.           shown on the screen.  Most programs don't have a problem with
  714.           SERIAL, but some do.  You will just have to try it and see.
  715.  
  716.  
  717.      Sometimes the HOTKEY (Ctl-Alt-S, page 12) doesn't do anything to SERIAL
  718.      - SERIAL just sits there and ignores you.  This happens when you are in
  719.      the middle of a program that completely "takes over" the keyboard.  Most
  720.      programs allow you to use TSR's, like SERIAL, that have a HOTKEY (like
  721.      SERIAL's Ctl-Alt-S).  If you type a series of keystrokes that a program
  722.      doesn't understand, the program should let a TSR like SERIAL interpret
  723.      the keystrokes for it.  Some programs, however, don't allow this to
  724.      happen.  They assume TSR's don't exist, so they completely "take over"
  725.      the keyboard, and don't allow SERIAL (or any other TSR) to even know
  726.      that you typed anything on the keyboard.
  727.  
  728.      Microsoft Windows is one of the programs that completely takes over the
  729.      keyboard.  If you're in Windows, and SERIAL is ENABLED (page 7) and set
  730.      for GRAPHICS screen modes (page 8), you can see SERIAL on the screen
  731.      (while Windows is running).  But the HOTKEY (Ctl-Alt-S, pages 9 and 12)
  732.      doesn't do anything.  There is nothing I know that can be done about
  733.      this (other than installing SERIAL after the other program has started,
  734.      which is usually impossible).  You need to either DISABLE SERIAL (with
  735.      SERIAL /D or Ctl-Alt-S,Esc), or put SERIAL exactly where you want it to
  736.      be on the screen BEFORE you start this kind of program.
  737.  
  738.  
  739.  
  740.  
  741.  
  742.                        SERIAL 2.00            Page 13 of 19
  743.  
  744.  
  745.  
  746.      Because SERIAL is continuously writing over the top of whatever the
  747.      running program is trying to put on the screen, SERIAL needs to know
  748.      what the program is trying to put on the screen.  SERIAL needs to know
  749.      this so that when SERIAL moves or becomes hidden (by DISABLING SERIAL,
  750.      page 7, or by moving the text cursor under SERIAL), SERIAL can "restore"
  751.      to the screen what is supposed to be there when SERIAL isn't.
  752.  
  753.      There are two ways programs can write things to the screen.  The first
  754.      is by writing directly to video memory (which is very fast, but has
  755.      compatibility problems), and the second is to go through the Operating
  756.      System (DOS) and the BIOS using the Video Interrupt (slower, but more
  757.      compatible with other programs like SERIAL).
  758.  
  759.      When you see SERIAL flashing on and off, it is because SERIAL is
  760.      temporarily "hiding" itself when it thinks another program is trying to
  761.      do something to the screen.  As soon as SERIAL thinks the other program
  762.      is done with the screen, it turns itself back on.  The reason SERIAL
  763.      sometimes "messes up" the screen for other programs is because SERIAL
  764.      can't always tell when another program is doing something to the screen. 
  765.      SERIAL does the best it can, but unfortunately isn't perfect.
  766.  
  767.      If a program writes to the screen using the Video Interrupt, SERIAL
  768.      "intercepts" things, and is able to keep track of what is supposed to be
  769.      on the screen.  When SERIAL moves or becomes hidden, SERIAL is able to
  770.      "restore" correctly what the program thinks should be on the screen.
  771.  
  772.      If a program writes directly to video memory, however, SERIAL cannot
  773.      always tell if the program is doing anything to the screen.  When SERIAL
  774.      moves or becomes hidden in such a program, what SERIAL "restores" to the
  775.      screen may not be what the program thinks is supposed to be there - it
  776.      could be "garbage".
  777.  
  778.      You can't easily tell whether a program is writing directly to video
  779.      memory or not, so the best thing I can tell you is to beware.  Anything
  780.      that appears on the screen where the SERIAL used to be should be
  781.      suspected of being wrong.  I have done the best I can to make SERIAL
  782.      work correctly, but it doesn't work all of the time.
  783.  
  784.  
  785.      If your screen is in a GRAPHICS mode, and you move SERIAL around the
  786.      screen (assuming, of course, you have enabled GRAPHICS with /G, page 8),
  787.      SERIAL does not even attempt to "restore" the screen to what the program
  788.      thinks should be there.  Instead, SERIAL just leaves the screen totally
  789.      black - just like nothing was ever there.  The main reason for this is
  790.      to decrease the size and complexity of SERIAL.  As it stands now, SERIAL
  791.      uses about 3500 bytes of memory.  Allowing SERIAL to save and restore
  792.      GRAPHICS screens would probably at least double its size, and even then
  793.      may not work correctly all of the time.  I don't feel the extra size is
  794.      warranted for what would be accomplished.
  795.  
  796.  
  797.  
  798.  
  799.                        SERIAL 2.00            Page 14 of 19
  800.  
  801.  
  802.  
  803.      If your screen is in a GRAPHICS mode (rather than a TEXT mode), SERIAL
  804.      does not normally even try to show itself on the screen.  You can tell
  805.      SERIAL to try and show itself on the screen all the time (including
  806.      GRAPHICS modes) with the /G option (page 8).  This was done for one very
  807.      simple reason - SERIAL sometimes doesn't work very well when the screen
  808.      is in a GRAPHICS mode.
  809.  
  810.      With some GRAPHICS programs, especially those that involve a lot of
  811.      motion on the screen, SERIAL has a habit of putting "extra stuff" on the
  812.      screen.  This can be, at best, an annoyance or, at worst, a very serious
  813.      problem.  Not all GRAPHICS programs have problems with SERIAL, but some
  814.      do.  You just have to try SERIAL with your programs and see if it works.
  815.  
  816.      If "extra stuff" starts appearing on the screen (when you see it you'll
  817.      know what I'm talking about), you need to DISABLE SERIAL with SERIAL /D
  818.      (page 7) or Ctl-Alt-S,Esc (pages 9 and 12).  If, in general, you want
  819.      SERIAL to be on all the time (including most of your GRAPHICS programs),
  820.      but want it DISABLEd for one program in particular (because SERIAL
  821.      messes up the screen), you should set yourself up a Batch file to do it
  822.      automatically (see page 3 for an example of how to do this).
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.                        SERIAL 2.00            Page 15 of 19
  857.  
  858.  
  859.  
  860.      A WORD FROM THE SPONSOR
  861.      ═══════════════════════
  862.  
  863.      SERIAL is a free program.  If you like it and use it, do something nice
  864.      for someone else in return.  I will accept niceties to myself in the
  865.      form of $, but that is not why I wrote SERIAL.  I wrote it to learn more
  866.      about computers and to get a program that I have wanted but never been
  867.      able to find.  I have never seen a program quite like SERIAL anywhere
  868.      else.
  869.  
  870.      You can freely copy and distribute SERIAL.COM, as long as it is
  871.      distributed along with this SERIAL.DOC, and neither file has been
  872.      modified in any way. You cannot charge anyone in any way for SERIAL,
  873.      except to recover your actual costs for disks and shipping (you cannot
  874.      charge for "handling").  You do need my permission to distribute SERIAL
  875.      as a "companion" to some other program.
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.                        SERIAL 2.00            Page 16 of 19
  914.  
  915.  
  916.  
  917.      OTHER PROGRAMS
  918.      ══════════════
  919.  
  920.      If you like SERIAL, I have written some other programs you may find
  921.      useful:
  922.  
  923.        CLOCK
  924.           Shows a clock on your screen all the time.  Also has two alarms
  925.           that beep at you when it's time for an appointment.
  926.  
  927.        JOYKEYS
  928.           Lets you use your joystick(s) with any program.
  929.  
  930.        MOUSKEYS
  931.           Lets you use your mouse with any program.
  932.  
  933.        PRTSCR
  934.           Sends all of your PrintScreens to a file instead of a printer.  A
  935.           good way to transfer data between two programs, even if they won't
  936.           normally "talk" to each other.
  937.  
  938.        PRTSCRFF
  939.           Modifies your PrintScreen so that each new PrintScreen gets put on
  940.           a new sheet of paper (especially useful if you have a Laser
  941.           printer).
  942.  
  943.        SCANCODE
  944.           Type keystrokes automatically in the middle of other programs. 
  945.           Helpful in getting past the "starting screens" of most programs, or
  946.           to create macros.  Can also be used to remap the keyboard.
  947.  
  948.        SLOWDOWN
  949.           Slows down a fast computer so you can run older programs that
  950.           require a PC/XT or PC/AT.
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.                        SERIAL 2.00            Page 17 of 19
  971.  
  972.  
  973.  
  974.      WARRANTY
  975.      ════════
  976.  
  977.      There is no warranty of any kind, either expressed or implied, supplied
  978.      with SERIAL.  As with any software, especially TSR's, it may or may not
  979.      work with other software that you may have.  I have done my best to make
  980.      sure SERIAL won't screw anything up, but, again, there is no guarantee.
  981.  
  982.      If you find any "bugs" in this program, or see something that you wish
  983.      were different, please let me know.  I can only improve SERIAL if I know
  984.      what you think needs to improve.
  985.  
  986.  
  987.      HAVE FUN!
  988.  
  989.      Bret Johnson
  990.      6775 South Logan Street
  991.      Littleton, CO  80122-1249
  992.      (303) 795-5084
  993.  
  994.      bretjohn@juno.com  or
  995.      bretjohn@aol.com
  996.  
  997.  
  998.      I intend to always keep the latest versions of all of my programs on my
  999.      own web page.  The URL is:
  1000.  
  1001.      http://members.aol.com/bretjohn
  1002.  
  1003.      Keep looking there for updates to my programs.
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.                        SERIAL 2.00            Page 18 of 19
  1028.  
  1029.  
  1030.  
  1031.      REVISION HISTORY
  1032.      ════════════════
  1033.  
  1034.      11/10/94  v1.00
  1035.      11/17/94  v1.01
  1036.        * Fixed problem with SERIAL not always recognizing COM3 or COM4.  I
  1037.          was assuming the BIOS always kept track of first 4 SERIAL ports,
  1038.          but, as it turns out, the BIOS only reliably keeps track of the
  1039.          first 2 SERIAL ports.
  1040.      03/25/98  v2.00
  1041.        * Removed TxRx from the status.  Having SERIAL calculate this appeared
  1042.          to sometimes cause errors (loss of data).  If anybody knows a GOOD
  1043.          way to check and see if bits are being sent or received on ANY UART
  1044.          (not just the new, fancy 16550's), let me know!
  1045.        * Added the /V (VERBOSE) & /T (TEXT-only) Options.
  1046.        * Added the /P (special User PORT) Option.
  1047.        * Added "longhand" forms for Options.
  1048.        * Started showing the status of SERIAL every time SERIAL [options] is
  1049.          typed at the command line (including the status of the SERIAL
  1050.          environment variable).
  1051.        * Improved the ability of SERIAL to sense when other programs are
  1052.          doing something with the screen.  Works much better with some
  1053.          GRAPHICS programs.
  1054.        * Certain extended TEXT modes (such as those with 132 COLUMNs).
  1055.          sometimes would fool SERIAL into thinking they were GRAPHICS modes. 
  1056.          SERIAL can now recognize these as TEXT modes.
  1057.        * Got rid of code that caused computers with 8086 or 8088 CPU's to
  1058.          crash (OOPS!!!).
  1059.        * Optimized (made smaller and/or faster and/or more reliable) much of
  1060.          the code.
  1061.        * Added ErrorLevel 5 (incorrect DOS version).
  1062.        * If another program was already using the speaker when SERIAL started
  1063.          beeping, the speaker could continue to beep even after SERIAL was
  1064.          done.  SERIAL is now better able to tell if another program is
  1065.          already using the speaker.
  1066.        * Certain BIOS's do not update the BIOS data area in low memory
  1067.          properly.  This could cause SERIAL to delay for an extraordinarily
  1068.          long time when installed (it appeared to lock up the computer). 
  1069.          This could also cause the error beeps to last for an extraordinarily
  1070.          long time.  This has been fixed.
  1071.        * Released the source code into the Public Domain (if you want the
  1072.          source code for SERIAL, just go to my home page,
  1073.          http://members.aol.com/bretjohn, and download it!).
  1074.  
  1075.  
  1076.  
  1077.  
  1078.  
  1079.  
  1080.  
  1081.  
  1082.  
  1083.  
  1084.                        SERIAL 2.00            Page 19 of 19
  1085.