DRV.TXT Driver File Contents (sud.zip)

*********************************************************************
DRV.TXT -   SeaCOM Serial Port Driver Notes

Serial Utility Diskette 1997

*********************************************************************
This document is organized with the following conventions:

Section 1.  Upgrade Notice and General Information
Section 2.  Diskette Layout
Section 3.  Programming Information
Section 4.  Available Diagnostics
Section 5.  Documentation Updates
Section 6.  Known Problems, Bugs, and Conflicts

*********************************************************************

Section 1. Upgrade Notice and General Information

Developer assistance programs may be available over the Internet.
To find out, visit the URL listed on the label of this diskette or contact
technical support.

This version of the DOS Serial Port Driver is fully operational. SeaCOM is a 
serial communications software driver that provides fully buffered interrupt 
driven input and output to multiple asynchronous serial communication (COM:) 
ports. SeaCOM provides the programmer with a robust and reliable means for 
servicing multiple serial ports while maintaining a straightforward and 
consistent software interface.

SeaCOM was designed to operate on an IBM PC / XT / AT or compatible computer.
The driver is a BIOS extension and / or replacement that provides extended
capabilities in the form of block I/O and user configurable flow control
support in addition to emulating standard BIOS interrupt 14h calls.


SeaCOM currently supports the following specifications:

-Bi-directional buffered I/O on all ports.
-Supports XT (2-7) and AT (8-15) IRQs (Interrupt Request).
-Interrupt sharing between multiple ports and / or multiple boards.
-Supports up to 32 ports per installation,  multiple installations allow for a 
      maximum of 288 ports.
-Configurable flow control options allow hardware and / or software 
      handshake support.
       * XON / XOFF transmit and / or receive flow control.
       * Hardware transmit / receive flow control supports DTR, DSR , CTS,
	 and / or block RTS mode enable (RS-485).
-Block and character I/O supported.
-Emulates interrupt 14H PC / AT BIOS calls (00H-03H) and PS/2 extended 
      BIOS calls (04H and 05H) for compatibility with existing software.
-Support for 16550 buffered UART.
-Written in 100% optimized assembly language for maximum performance.
-Supports data rates to 115.2 Kbps with standard COM: configuration.
-Independently configurable input and output buffers up to 64 kilobytes in 
 size.
-High Level Language Library Supports C, C++, and BASIC.

 LOW LEVEL ASSEMBLER FUNCTION CALLS

This section details the function calls supported by SeaCOM.  All 
examples assume that software interrupt 14h was selected during the 
configuration and all baud rate selections that are listed assume that a 
standard 1.8432 MHz oscillator is used.  For further documentation on the 
serial port register definitions, please refer to the 8250, 16450, or 16550 
data book.  For additional reference on SeaCOM function calls, refer to the 
Quick Reference Sheet included with this manual.

Port Initialization
+Function 00h-Programs the port with specified communication 
 parameters. Standard data rates up to 9600 can be obtained.  (compatible
 with int 14h BIOS call 00h).
+Function 04h-Provides all the functionality of InitPortCOM while allowing 
 access to baud rates.
+Function 0Ah-Configures the selected port for various flow control 
 options.
+Function 0Bh-Allows the selected port to be configured to a non-
 standard baud rate (i.e. 3600 baud).
+Function 0Ch-Writes a specified value to any UART register.

Transmit and Receive
+Function 01h-Places a single character into the transmit buffer.
+Function 02h-Gets a single character from the receive buffer.
+Function 08h-Places a string or buffer of data into the transmit buffer.
+Function 09h-Retrieves a block of data from the receive buffer.

Port Information
+Function 05h-Provides status of Modem Status and Port Status.
+Function 03h-Same features as ReqPortStatCOM with additional read 
 back capabilities.
+Function 06h-Returns the value of any UART register.

Buffer Routines
+Function 06h-Returns the logistics of the transmit or receive buffer.
+Function 07h-Purges the contents of the transmit or receive buffer.

System Information
+Function 0Eh-Provides miscellaneous system information such as 
 number of ports being serviced, resident memory requirements, and driver
 code segment.


HIGH LEVEL LANGUAGE INTERFACE

This section details the High Level Language Interface.  Although all 
examples are in the C language, sample programs and syntax explanation 
for other languages are available on the distribution diskette. Differences 
in language usage will be noted under the Remarks section of each 
function. The following is a list of the routines supported by SeaCOM. The 
routines are organized by functionality.

Port Initialization
+InitPortCOM-Programs the port with specified communication 
 parameters.  Standard data rates up to 9600 can be obtained.  (compatible
 with int 14h BIOS call 00h.
+InitPortExCOM-Provides all the functionality of InitPortCOM while 
 allowing access to baud rates.
+HandShakeConfigCOM-Configures the selected port for various flow 
 control options.
+BaudRateConfigCOM-Allows the selected port to be configured to a non-
 standard baud rate (i.e. 3600 baud).
+WritePortRegCOM-Writes a specified value to any UART register.

Transmit and Receive
+PutCharCOM-Places a single character into the transmit buffer.
+GetCharCOM-Gets a single character from the receive buffer.
+PutBlockCOM-Places a string or buffer of data into the transmit buffer.
+GetBlockCOM-Retrieves a block of data from the receive buffer.

Port Information
+ReqPortStatCOM-Provides status of Modem Status and Port Status.
+ReqPortStatExCOM-Same features as ReqPortStatCOM with additional 
 read back capabilities.
+ReadPortRegCOM-Returns the value of any UART register.

Buffer Routines
+GetBufferCountCOM-Returns the logistics of the transmit or receive 
 buffer.
+FlushBufferCOM-Purges the contents of the transmit or receive buffer.

System Information
+GetDrvInfoCOM-Provides miscellaneous system information such as 
 number of ports being serviced, resident memory requirements, and driver
 code segment.

Miscellaneous Macros
+HIBYTE(word)-This macro will return the high byte of a word size 
 variable.
+LOBYTE(word)-This macro will return the low byte of a word size 
 variable.
+HIWORD(long)-This macro will return the high word of a long size 
 variable.
+LOWORD(long)-This macro will return the low word of a long size 
 variable.

Note: The provided macros are not supported under all high level 
language interfaces. Please refer to the include file associated with the 
high level language that you intend to use.

Object files (.OBJ) and Quick Basic Library (.QLB) are provided on the 
diskette for all memory models and software interrupts. Please refer to the 
text files on the diskette for information on filenames that correspond to a 
specific configurations. All high level language interface modules were 
written using MASM 6.0 or higher.

*********************************************************************

Section 2. Distribution Diskette Layout

The following is a summary of the files and directories that are in the
DRV sub-directory on this diskette.

\                   - Root Directory contains main executables
\SEACOM.EXE         - Terminate and Stay Resident (TSR) Driver
\SETUP.EXE          - Driver Configuration Utility Program
\DRV.TXT            - The file you are viewing
\EXAMPLES\          - Sub directory containing sample programs demonstrating
		      the use of the Serial Port Driver
\LIB\               - Contains all object and library files for static linking
		      with various high level languages.
*********************************************************************

Section 3. Programming Information

The LIB sub-directory contains all object and library files that should be
linked to your application. Although these library files are not required to
use the Driver, however they do provide a high level interface to access the
Drivers services. All accesses to the driver are done via a software
interrupt. The following is a description of the naming convention used for
all object and library files on this diskette:

		SCxyyz.OBJ or SCxyyz.QLB

	x = Language, 'C' for the C or C++ language or 'B' for BASIC.
       yy = Software interrupt; 14, 60, 61, 62, 63, 64, 65, 66 , or 67
	z = Memory model; Small-S, Medium-M, Large-L, Tiny-T.

BASIC Note: All constant values in the header file SCOM.BI are the same as
    the C language examples with the exception of the underscore ( _ )  is
    removed. For example, the C language calls may use BAUD_300, but the BASIC
    calls will use BAUD300. All library files for BASIC are in the Quick
    Library format (*.QLB). All BASIC files are SCB??M.QLB, where ?? is the
    software interrupt that is being used.

C and C++ Note: When using the Driver with the C++ language the header file
    will declare all calls extern "C". This will allow you to link the .obj
    files to you application.

Assembly Note: The C and C++ object files that are provided on the
    distribution diskette can be used in an assembly language program.
    The calling program must use the C calling convention. If you are
    using MASM 6.0 or greater you can use the INVOKE directive. The
    prototypes for the INVOKE directive are located in the SCOM.INC file
    in the \INCLUDE directory.

*********************************************************************

Section 4. Available Diagnostics

Please refer to the README.TXT file in the root directory for information
regarding serial port diagnostics.

*********************************************************************

Section 5. Documentation Updates

Presently there are no documentation updates.

*********************************************************************

Section 6. Know Problems or Conflicts

Presently there are no known problems or conflicts with the Serial Driver.

*********************************************************************
Download Driver Pack

How To Update Drivers Manually

After your driver has been downloaded, follow these simple steps to install it.

  • Expand the archive file (if the download file is in zip or rar format).

  • If the expanded file has an .exe extension, double click it and follow the installation instructions.

  • Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.

  • Find the device and model you want to update in the device list.

  • Double-click on it to open the Properties dialog box.

  • From the Properties dialog box, select the Driver tab.

  • Click the Update Driver button, then follow the instructions.

Very important: You must reboot your system to ensure that any driver updates have taken effect.

For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.

server: web5, load: 1.27