Ö· Ö· Ò Ç¶ º º ½Ó Ó½ ÓÄ Ö· Ö· Ò Ò ºº Ó· º º Ó½ Ó½ Ð Ð For Versions 1.X ACLTM Family Device Driver (Version 2.00) for IBM OS/2 (Version 1.2X, and 1.3X) Installation Manual Part Number 650085-02 CONTENTS INTRODUCTION 2 DRIVER Installation on ISA (AT) Bus Computers 3 Hardware Installation 3 Software Installation and Configuration 3 CONFIG.SYS Options for ISA Systems 4 DRIVER Installation on Micro Channel Bus Computers 6 Hardware Installation 6 Software Installation 6 CONFIG.SYS Options for Micro Channel Systems 7 USING ACL Family Ports 8 USING ACLMODE to Configure a Port 10 Line settings 11 Flow Settings 11 APPENDIX A - OS/2 IOCtl Functions and the ACL Family 13 Overview 13 OS/2-defined functions 13 ACL Family Specific functions 19 CUSTOMER Service 21 TECHNICAL Support Checklist 22 LICENSE Agreement 23 c 1991 Star Gate Technologies, Inc. First Issue December 1990 Current Issue October 1991 All brand and product names are trademarks or registered trademarks of their respective companies. INTRODUCTION TO THE ACL FAMILY OS/2 DEVICE DRIVER The diskettes accompanying this manual contain device drivers and supporting software for Star Gate ACL, ACL II, ACL IIR, ACL 16, ACL II+, ACL IIR+, ACL 16+, ACL MC and ACL MC16 products. This software is designed to be used with IBM OS/2 versions 1.20, 1.21 and 1.3. There are two device driver files shipped as a part of this package. The ACL.SYS driver is installed on Industry Standard Architecture (sometimes referred to as AT-bus) computers, and is used with the ACL, ACL II, ACL IIR, ACL 16, ACL II+, ACL IIR+ and ACL 16+ products. The ACLMC.SYS driver is installed on Micro Channel Architecture computers (such as IBM PS/2 Models 80, 90 and 95), and is used with the ACL MC and ACL MC16 products. The ACL.SYS driver can support a maximum of 64 serial ports (with four ACL 16 boards installed). The ACLMC.SYS driver can support a maximum of 64 serial ports (with four ACL MC16 boards installed). If you will be installing this software on an ISA or AT-bus style computer, refer to the section "Driver Installation on ISA (AT) Bus Computers". If you are installing on a Micro Channel style computer, refer to the section "Driver Installation on Micro Channel Bus Computers". DRIVER INSTALLATION ON ISA (AT) BUS COMPUTERS HARDWARE INSTALLATION Install each ACL Family adapter in the computer following the directions in the User's Guide for the adapter. Make note of the switch settings for each adapter. This information is necessary for completion of the software installation described below. The driver requires that each ACL Family board have an interrupt enabled. The interrupt level selected may be the same for all boards or unique for any (or all) boards at the discretion of the driver installer. SOFTWARE INSTALLATION AND CONFIGURATION Install the driver software by following the steps enumerated below. 1. Turn on the computer. 2. When the Presentation Manager appears on the screen, start an OS/2 Full Screen or Windowed Session by double-clicking the proper icon in Group Main. 3. Type DDINSTAL at the session prompt and press Enter. 4. Insert the ACL Family OS/2 Device Driver diskette in drive A and press Enter as instructed. 5. Use the arrow keys to position the cursor over the selection entitled "ACL Family OS/2 Device Driver". 6. Press the space-bar to select your choice. An arrow will be displayed to mark your selection. Be sure that you make one selection only. You can undo a selection by striking the space bar again with the cursor positioned over the selection. 7. Press Enter to begin the driver installation. 8. You will be asked if you want to install another Device Support Diskette. Move the cursor to select "No" and press Enter. Remove the driver diskette from drive A. Follow the on-screen instructions to reboot the computer. 9. When the Presentation Manager appears on the screen, start the OS/2 System Editor by double-clicking on the proper icon in Group Main. See the manual "Operating System/2, Using Advanced Features" for information on using the System Editor. 10. Open the file CONFIG.SYS from the System Editor. 11. Move to the end of the file. The last line of the file should begin as follows: rem DEVICE=C:\ACL\ACL.SYS /IO=200 ... 12. Delete the first four characters of the line ("rem ") so that the driver can be loaded the next time the system is booted. 13. Edit the line so that the parameters specified for each installed ACL Family board match the switch settings that were noted in "Hardware Installation" above. Note that the line contains entries for four ACL Family boards. If you are not installing four boards, be sure to delete the entries for the extra boards from the command line. You can also select the port naming convention of your choice at this time. See the following section, "CONFIG.SYS Options for ISA Systems" for a complete discussion of possible parameter settings. 14. Save the file and exit the System Editor. 15. Reboot the computer by holding down the Ctrl and Alt keys and then pressing the Del key. This completes the driver installation process. CONFIG.SYS OPTIONS FOR ISA SYSTEMS Industry Standard Architecture (ISA) computers, sometimes referred to as AT bus computers, have no facility for hardware-assisted configuration, as do Micro Channel bus computers. For this reason, it is necessary to use option parameters in the CONFIG.SYS file to provide the driver with hardware information required for boot-time configuration. Using a command line parameter, the port naming convention for the first installed board can also be changed. This option is provided to allow access to ACL Family ports from applications such as Presentation Manager, which can only access ports with specific predefined names. See the CN option inthe following text. The CONFIG.SYS command line has the form: DEVICE=C:\ACL\ACL.SYS / IO=AAA,DP=bbbbb,RL=cc,PT=d,CN /... Where every occurrence of the / (slash) character begins parameters for the next installed board. The first set of parameters corresponds to the first board, the second set corresponds to the second board, and so on. NOTE: If no parameters appear on the command line, the following defaults are assumed: Installed boards: 1 Dual port address: D0000h I/O latch address: 200h IRQ level: 5 Ports: 8 The parameters are described in detail below: CN Enables the COM naming convention for the first installed board. If the board contains eight ports, they would be named COM1 thru COM8. This option can be specified in the parameter list for the first board only. This parameter is present in the default command line supplied by the installation procedure. See "Using ACL Family Ports" for an explanation of port naming conventions. DP is used to specify the board's five or six-digit dual port RAM physical address. This is a hexadecimal value. If this parameter is not present, dual port RAM address defaults to D0000h. IO is used to specify the board's I/O latch address. This is a hexadecimal value. If this parameter is not present, I/O latch address defaults to 200h for the first board, 300h for the second board, 600h for the third board and 700h for the fourth board. PT is used to specify the number of ports on the board. If this parameter is not present, number of ports defaults to 8. RL is used to specify the interrupt request level (IRQ) to the host computer. If this parameter is not present, request level defaults to 5. DRIVER INSTALLATION ON MICRO CHANNEL BUS COMPUTERS HARDWARE INSTALLATION Install each ACL MC Family adapter in the computer following the directions in the User's Guide for the adapter. The driver requires that each ACL MC Family board have an interrupt enabled. The interrupt level selected may be the same for all boards or unique for any (or all) boards at the discretion of the driver installer. SOFTWARE INSTALLATION Install the driver software by following the steps below. 1. Turn on the computer. 2. When the Presentation Manager appears on the screen, start an OS/2 Full Screen or Windowed Session by double-clicking the proper icon in Group Main. 3. Type DDINSTAL at the session prompt and press Enter. 4. Insert the ACL Family OS/2 Device Driver diskette in drive A and press Enter as instructed. 5. Use the arrow keys to position the cursor over the selection entitled "ACL MC Family OS/2 Device Driver - ACL names" if you will be using the ACL port naming convention for all ports. Otherwise, position the cursor over the selection "ACL MC Family OS/2 Device Driver - COM names on board 1" to use the COM port naming convention for the first board and the ACL port naming convention for any other boards. See the following section, "CONFIG.SYS Options for Micro Channel Systems" for a discussion of port naming convention options. 6. When you have positioned the cursor over the configuration you will be using, press the space-bar to select your choice. An arrow will be displayed to mark your selection. Be sure that you make one selection only. You can undo a selection by striking the space bar again with the cursor positioned over the selection. 7. Press Enter to begin the driver installation. 8. You will be asked if you want to install another Device Support Diskette. Move the cursor to select "No" and press Enter. Remove the driver diskette from drive A. Follow the on-screen instructions to reboot the computer. This completes the driver installation process. CONFIG.SYS OPTIONS FOR MICRO CHANNEL SYSTEMS The driver determines the ACL MC Family board's hardware configuration at system boot time by accessing each board's POS register data. The only hardware setup necessary is performed using the Reference Disk as described in the specific board's User's Guide. The CONFIG.SYS command line may contain one parameter, CN, for enabling the COM naming convention on the first installed board, which resides in the lowest numbered Micro Channel expansion slot. The command line has the form: DEVICE=C:\ACL\ACLMC.SYS /CN If the COM naming convention is desired, or DEVICE=C:\ACL\ACLMC.SYS If the standard (ACL) naming convention is desired. For the purposes of port naming, the first board is defined as the board in the lowest numbered Micro Channel expansion slot. The second board resides in the next higher expansion slot containing an ACL MC Family board, and so on. See "Using ACL Family Ports" for an explanation of port naming conventions. USING ACL FAMILY PORTS After the driver has been successfully installed, unique names are automatically assigned to each ACL Family port controlled by the device driver. These port names consist of a board designator prefix and a port number. The board designator prefix naming convention is controlled with the CN CONFIG.SYS option. See the sections "CONFIG.SYS Options for ISA Systems" and "CONFIG.SYS Options for Micro Channel Systems" for information on the use of the CN parameter. For boards using the ACL naming convention, the first board designator would be ACLA, the second, ACLB, the third, ACLC, and the fourth, ACLD. For ISA installations, the boards are ordered according to their position in the CONFIG.SYS command line. The first board corresponds to the first set of parameters, the second board, the second set, etc.. For Micro Channel installations, the first board is the board installed in the lowest numbered expansion slot, the second board in the second lowest slot, etc.. EXAMPLES - ACL NAMING CONVENTION Port 3 on board 1 would be named ACLA3 Port 4 on board 3 would be named ACLC4 Port 16 on board 4 would be named ACLD16 If the COM naming convention has been enabled for the first installed board, the board designator for the first board would be COM. Board designators for the remaining boards would remain as described above. EXAMPLES - COM NAMING CONVENTION Port 2 on board 1 would be named COM2 Port 7 on board 1 would be named COM7 Port 3 on board 2 would be named ACLB3 The COM naming convention is useful when a port needs to be accessed by the Presentation Manager Print Spooler which can only access ports COM1- 4 and LPT1-4. Ports may be accessed from the command line in an OS/2 Full Screen or Windowed Session, from the Presentation Manager and utilities, or from an application program. Configuration of a port is accomplished from the command line using the ACLMODE utility described elsewhere in this manual. Ports are totally configurable from an application program using the DOSDevIOCtl API function call to the device driver IOCtl interface. See Appendix A, "OS/2 IOCtl Functions and the ACL Family" for more information. ACL Family ports are configured to the following default settings at driver initialization time: 1200 bits per second Even parity 7 data bits 1 stop bit You can use the ACLMODE utility (described in the following section) to change line settings. USING ACLMODE TO CONFIGURE A PORT The ACLMODE utility is used to change line and/or flow control settings for a specific ACL Family port. The utility was designed to be syntactically similar to the OS/2 MODE command. Configuration changes made with ACLMODE are valid until the next time the computer is booted or the configuration is changed again with ACLMODE. At system boot time, the port configuration reverts to its default state. The ACLMODE command line has the following form: ACLMODE port:baud,parity,databits,stopbits [,flow] where port is the name of the port to be configured. The positional parameters: baud, parity, data bits and stop bits, must be entered in the order specified above. The flow parameters may be entered in any order, separated by commas. To view the current settings for a port, simply omit all parameters from the command line. The following command line: ACLMODE ACLB5 displays the current line and flow settings for port ACLB5. To configure line settings, place the desired values in the proper parameter positions. This command line: ACLMODE ACLA1:9600,N,8,1 sets line settings for port ACLA1 to 9600 bits per second, no parity, 8 data bits, 1 stop bit. If any parameter is omitted, its current value is retained. For instance, in the following command line: ACLMODE ACLA1:,,8 the data bits configuration for port ACLA1 is set to 8, but all other line and flow settings remain the same. Flow parameters consist of a tag followed by an "=" and ended with a parameter value. In the command line: ACLMODE ACLA2:,,,,XON=ON,DTR=OFF Automatic Transmit Flow Control is set to ON, while DTR Enable mode is set to OFF for port ACLA2. Note that the order in which flow parameters are specified on the command line is not significant. The command line below functions identically to the command line shown previously: ACLMODE ACLA2:,,,,DTR=OFF,XON=ON The following section describes possible line and flow settings that can be established with ACLMODE. LINE SETTINGS baud valid baud rate values are 110, 150, 300, 600, 1200, 1800, 2000, 2400, 4800, 7200, 9600, 19200, 38400, 57600, 76800 and 115200. ACL Family boards may not be able to program all baud rate values in this list. See the User's Guide for the specific board you are using. The initial baud rate is 1200. parity valid parity settings are N (none), O (odd), E (even), M (mark) or S (space). The initial parity setting is E (even parity). databits valid number of data bits settings are 5, 6, 7 or 8. The initial number of data bits is 7. stopbits valid number of stop bits is 1 or 2. The initial number of stop bits is 1. FLOW SETTINGS DTR Specifies DTR enable state. Valid values are ON and OFF. When DTR=ON, the DTR output will be asserted as long as the port is open. When DTR=OFF, the DTR output will always be in the negated state. Initial setting is ON. OCTS Specifies output handshaking using CTS state. Valid values are ON and OFF. When OCTS=ON, the port will not transmit data unless the CTS input is asserted. When OCTS=OFF, the state of the CTS line has no effect on data transmission. The initial setting is ON. RTS Specifies RTS enable state. Valid values are ON, OFF and HS. When RTS=ON, the RTS output will be asserted as long as the port remains open. When RTS=OFF, the RTS output will always be in the negated state. When RTS=HS, the RTS output will be asserted when the port is ready to receive data and negated when the port is not ready to receive data for any reason. The initial setting is ON. TO Specifies infinite write timeout state. Valid values are ON and OFF. When TO=ON, Write calls to the driver will not return until all data has been put into the port's output buffer. WhenTO=OFF, Write calls will complete after the Write Timeout value regardless of the state of the transmit data. The Write Timeout value is set using OS/2 IOCtl function 53h (Set DCB). See Appendix A for details on using OS/2 IOCtl calls. The initial setting is OFF. XON Specifies transmit xon/xoff handshaking. Valid values are ON and OFF. The initial value is OFF. When XON=ON, the driver will transmit data until the xoff character is received. Transmission continues upon reception of the xon character. When XON=OFF, the driver does not respond to xon/xoff characters when received. APPENDIX A OS/2 IOCTL FUNCTIONS AND THE ACL FAMILY OVERVIEW The ACL Family OS/2 Device Driver supports a subset of the OS/2 Category 1 ASYNC IOCtl commands. These commands are described in detail in the IBM publication "I/O Subsystems and Device Support, Volume 1, Device Drivers" which is contained in the "Operating System/2 Programming Tools and Information" product. This is a recommended, if not required, source of information for developing applications that use OS/2 device drivers. In the following text, each supported ASYNC IOCtl function is listed and information is provided to help clarify any differences between this implementation and the OS/2 Base ASYNC subsystem (COM0x.SYS) implementation of the IOCtl functions. In addition, there are detailed descriptions of ACL Family-specific IOCtl functions that were added to support functionality not provided by the base IOCtl calls. These functions are accessed under Category 80h. OS/2-DEFINED FUNCTIONS 41H - SET BAUD RATE The following bit rate values are supported by the driver: 110 4,800 150 7,200 300 9,600 600 19,200 1,200 38,400 1,800 57,600 2,000 76,800 2,400 115,200 The default bit rate is 1200 bits per second. Due to the OS/2 limitation of bit rate value as a 16-bit word, the 76,800 and 115,200 bits rate cannot be represented directly in the parameter packet. To program these bit rates, use the values 768 and 1152 respectively, in the parameter packet. Please note that individual ACL Family products may not support the entire table. Also, certain ACL Family products require values common to a UART-specific bit rate table for adjacent ports. See the ACL Family Technical Reference manual for a discussion of these limitations. The driver will report a General Failure error if the selected bit rate cannot be programmed for a port for any reason. 42H - SET LINE CHARACTERISTICS Default Line Characteristics are: 7 data bits, Even parity, 1 stop bit. The driver will report a General Failure error if any non-valid parameter packet values are specified. 45H - SET BREAK OFF Functions as described in OS/2 documentation. 46H - SET MODEM CONTROL SIGNALS Functions as described in OS/2 documentation. 47H - BEHAVE AS IF XOFF RECEIVED (STOP TRANSMITTING) A function 48h (Behave as if XON Received) request is required for transmission to be resumed. 48H - BEHAVE AS IF XON RECEIVED (START TRANSMITTING) This function will resume transmission on a port that has previously received a function 47h (Behave as if XOFF Received) request. It will also resume transmission on a port with Automatic Transmit Flow Control en- abled, if that port's transmission had been stopped due to reception of an XOFF. 4BH - SET BREAK ON Functions as described in OS/2 documentation. 53H - SET DEVICE CONTROL BLOCK (DCB) The following parameter packet values can be programmed: Write Timeout value: In the range 0 - FFFFh. Read Timeout value: In the range 0 - FFFFh. FLAGS1 The following modes are supported: DTR Control Mode - Disable DTR Control Mode - Enable Enable output handshaking using CTS FLAGS 2 The following modes are supported: Enable automatic transmit flow control Enable automatic receive flow control RTS Control Mode - Disable RTS Control Mode - Enable RTS Control Mode - Input Handshaking RTS Control Mode - Toggling on transmit FLAGS 3 The following modes are supported: Enable write infinite timeout processing Read Timeout Processing - Normal Read Timeout Processing - Wait for something Read Timeout Processing - No wait XON CHARACTER Any byte in the range 00h to FFh. If 00h is specified, the standard XON character (11h) will be programmed. XOFF CHARACTER Any byte in the range 00h to FFh. If 00h is specified, the standard XOFF character (13h) will be programmed. Any other parameter packet values will cause the driver to report a General Failure error condition. 61H - GET BAUD RATE Functions as described in the OS/2 documentation with the exception of the 76,800 and 115,200 bit rates, which are reported as 768 and 1152, respectively. 62H - GET LINE CHARACTERISTICS Functions as described in OS/2 documentation. 64H - GET COM STATUS The following status bits are returned by the driver: Bit 0 - TX waiting for CTS to be turned ON Bit 3 - TX waiting because XOFF received Bit 5 - TX waiting because BREAK being transmitted All other bits are returned as 0. 65H - GET TRANSMIT DATA STATUS The following status bits are returned by the driver: Bit 0 - WRITE request packets in progress or queued Bit 1 - Data in the device driver transmit queue Bit 2 - The transmit hardware is currently transmitting data All other bits are returned as 0. 66H - GET MODEM CONTROL OUTPUT SIGNALS Functions as described in OS/2 documentation. 67H - GET MODEM CONTROL INPUT SIGNALS Functions as described in OS/2 documentation except on ACL Family products that do not support certain modem input signals. Unsupported signals are returned as 0 in these cases. See the User's Guide for the specific ACL Family product you are using. 68H - GET NUMBER OF CHARACTERS IN THE RECEIVE QUEUE Functions as described in OS/2 documentation. 69H - GET NUMBER OF CHARACTERS IN THE TRANSMIT QUEUE Functions as described in OS/2 documentation. 6DH - GET COM ERROR INFORMATION Functions as described in OS/2 documentation. However, bit 1 (Receive Timeout Interrupt) is not supported because the driver does not support Extended Hardware Buffering. This behavior conforms with the IBM specification. Bit 1 will always be reported as 0. 72H - GET COM EVENT INFORMATION Functions as described in OS/2 documentation. 73H - GET DEVICE CONTROL BLOCK (DCB) INFORMATION Values are returned as programmed with exceptions below: FLAGS 1 Bits 2,4,5,6,7 - Always returned as 0. FLAGS 2 Bits 2,3,4 - Always returned as 0. Bit 5 - Always returned as 1. FLAGS 3 Bits 3-7 - Always returned as 0. ERROR REPLACEMENT CHARACTER Always returned as 0. BREAK REPLACEMENT CHARACTER Always returned as 0. ACL FAMILY SPECIFIC FUNCTIONS CATEGORY 80H, FUNCTION 40H Set Extended Device Control Block (ExtDCB) PARAMETER PACKET FORMAT FIELD LENGTH Extended DCB WORD DATA PACKET FORMAT None. Packet pointer must be NULL. WHERE Bit 0 - Enable DCE port configuration Bit 1 - Enable RS-485 mode Bit 2 - Disable RS-485 Listen Always mode NOTE: DCE port configuration is invalid in RS-485 mode. Also, DisableRS485 Always Listen mode is invalid if RS-485 mode is not enabled. RETURNS Driver reports General Failure if invalid parameter packet values are specified or if Data Packet pointer is not NULL. CATEGORY 80H, FUNCTION 60H Get Extended Device Control Block (ExtDCB) Info PARAMETER PACKET FORMAT None. Packet pointer must be NULL. DATA PACKET FORMAT FIELD LENGTH Extended DCB WORD WHERE Bit 0 - Enable DCE port configuration Bit 1 - Enable RS-485 mode Bit 2 - Disable RS-485 Listen Always mode RETURNS Driver reports General Failure if Parameter Packet pointer is not NULL. CUSTOMER ASSISTANCE For customer service, please call 1-800-STAR GATE (1-800-782-7428) from 8 a.m. to 6 p.m., Eastern Standard Time. For Technical Support, our hours are from 7:30 a.m. to 7:00 p.m., E.S.T. If you need additional technical assistance after reading the User's Guide for the ACL Family board and this Installation Manual for the device driver software, call and ask for Technical Support. Our specialist will provide help over the phone. Before calling regarding an installation problem, please use the Technical Support Checklist (next page) for the fastest, most effective service. If you face a shipment or order processing difficulty, ask for Customer Service. An experienced Customer Service representative will be glad to assist you. For more information on the Star Gate manuals or product line, ask for the Sales Department. An experienced account representative will be happy to recommend the right solution for your application. TECHNICAL SUPPORT CHECKLIST If you are having problems with installation, please have the following information at hand when calling for Technical Support: 1. From your ACL Family board:  Board type - ACL, ACL II+, ACL IIR+, ACL 16+, ACL MC or ACL MC16?  If installing an ACL, what is the part number of the PAL chip in location U45 (just above the DIP switch)?  Switch settings 2. From the ACL Family device driver diskette label:  Type and version of operating system and version of driver. 3. From your ACL Family software driver installation: Call up the host PC's CONFIG.SYS file and record the DEVICES= line for each ACL Family board. This lists software parameters for:  I/O address  Memory address  Interrupt level  Number of ports 4. From your sales or purchase order form:  Number of ports  Size of dual port memory or catalog number 5. From your host PC and its installed hardware and software: Type of system used  CPU and bus speed of system  Are you using memory caching?  What type of graphics card?  What is your operating system and its version?  What other devices do you have in your system? Examples: Tape backup, LAN card . . .  Type and version of ROM BIOS used?  Do you have shadow RAM enabled or disabled? For each of these other devices installed, What is the:  I/O address range  Interrupt level, if any  Memory address range LICENSE AGREEMENT LICENSE: You have the nonexclusive right to use the ACL Family OS/2 Device Driver on one host computer, plus the terminals connected to it, at a time. You may transfer the device driver from one computer system to another, provided the device driver is used only on one computer system at a time. COPYRIGHT: The ACL Family OS/2 Device Driver and its documentation are owned by Star Gate Technologies, Inc., and are protected by United States copyright laws and international treaty provisions. You must treat this material like any other copyrighted materials, except that you may make one copy of the SOFTWARE solely for backup or archival purposes and transfer the SOFTWARE to a single hard disk. TERM: This license is effective until terminated. You may terminate it by destroying the program, its documentation and all copies. This license can be terminated by Star Gate Technologies, Inc., if you fail to comply with any term or condition of this agreement. AS IS: The program and its documentation are provided AS IS without warranty of any kind. The entire risk as to the results and performance of the device driver is assumed by you. Should the program prove to be defective, you (and not Star Gate Technologies, Inc., or its dealers) assume the entire cost of all necessary servicing, repairs or corrections. Further, Star Gate Technologies, Inc., does not warrant, guarantee or make any representations regarding the use of, or the results of the use of, the device driver in terms of correctness, accuracy, reliability, currentness or otherwise. You rely on the program and results solely at your own risk. NO WARRANTIES: STAR GATE TECHNOLOGIES, INC., DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, WITH RESPECT TO THE SOFTWARE, THE ACCOMPANYING WRITTEN MATERIALS, AND ANY ACCOMPANYING HARDWARE. NO LIABILITY OR CONSEQUENTIAL DAMAGES: Neither Star Gate Technologies, Inc., nor anyone else who has been involved in the creation, production or delivery of this program shall be liable for any direct, indirect, consequential or incidental damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use, the result of use or the inability to use such product, even if Star Gate Technologies, Inc., has been advised of the possibility of such damages or claim. Because some states do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitation may not apply to you.