COM.TXT COMpanion DOS Personal Network (tm) User's Guide Oxford House Software 160 Oxford Way Santa Cruz, CA 95060 CompuServe ID: 72603,3215 Copyright (c)1994 Oxford House Software, All Rights Reserved COMpanion DOS Personal Network is a trademark of Oxford House Software. Other product names mentioned in this manual may be trademarks or registered trademarks of their respective companies and are hereby acknowledged. COMpanion User's Guide -- Page 2 Definition of Shareware Shareware distribution gives users a chance to try software before buying it. If you try a Shareware program and continue using it, you are expected to register. Individual programs differ on details -- some request registration while others require it, some specify a maximum trial period. With registration, you get anything from the simple right to continue using the software to an updated program with printed manual. Copyright laws apply to both Shareware and commercial software, and the copyright holder retains all rights, with a few specific exceptions as stated below. Shareware authors are accomplished programmers, just like commercial authors, and the programs are of comparable quality. (In both cases, there are good programs and bad ones!) The main difference is in the method of distribution. The author specifically grants the right to copy and distribute the software, either to all and sundry or to a specific group. For example, some authors require written permission before a commercial disk vendor may copy their Shareware. Shareware is a distribution method, not a type of software. You should find software that suits your needs and pocketbook, whether it's commercial or Shareware. The Shareware system makes fitting your needs easier, because you can try before you buy. And because the overhead is low, prices are low also. Shareware has the ultimate money-back guarantee -- if you don't use the product, you don't pay for it. Disclaimer -- Agreement Users of COMpanion must accept this disclaimer of warranty: "COMpanion is supplied as is. The author disclaims all warranties, expressed or implied, including, without limitation, the warranties of merchantability and of fitness for any purpose. The author assumes no liability for damages, direct or consequential, which may result from the use of COMpanion." COMpanion is a "shareware program" and is provided at no charge to the user for evaluation. Feel free to share it with your friends, but please do not give it away altered or as part of another system. The essence of "user-supported" software is to provide personal computer users with quality software without high prices, and yet to provide incentive for programmers to continue to develop new products. If you find this program useful and you continue to use COMpanion after a reasonable trial period, you must make a registration payment of $58 to Oxford House Software. The $58 registration fee will license one network of up to five PCs, and includes shipping and handling. All registered users will receive the current version of COMpanion, plus the items listed below in What Comes with the COMpanion Package. You can register directly through the CompuServe Shareware Forum. COMpanion User's Guide -- Page 3 Commercial users of COMpanion must register and pay for their copies of COMpanion within 30 days of first use or their license is withdrawn. Site-License arrangements may be made by contacting Oxford House Software. Anyone distributing COMpanion for any kind of remuneration must first contact Oxford House Software at the address above for authorization. This authorization will be automatically granted to distributors recognized by the (ASP) as adhering to its guidelines for shareware distributors, and such distributors may begin offering COMpanion immediately. However, Oxford House Software must still be advised so that the distributor can be kept up-to-date with the latest version of COMpanion. You are encouraged to pass a copy of COMpanion along to your friends for evaluation. Please encourage them to register their copy if they find that they can use it. All registered users will receive a copy of the latest version of COMpanion, plus the items listed below in What Comes with the COMpanion Package. You can register directly through CompuServe. Support Policy You receive free support for COMpanion for three months after your first contact with Oxford House Software. Support is offered via mail or through CompuServe. Please see the cover page for details. ASP Ombudsman Statement This program is produced by a member of the Association of Shareware Professionals (ASP). ASP wants to make sure that the shareware principle works for you. If you are unable to resolve a shareware-related problem with an ASP member by contacting the member directly, ASP may be able to help. The ASP Ombudsman can help you resolve a dispute or problem with an ASP member, but does not provide technical support for members' products. Please write to the ASP Ombudsman at 545 Grover Road, Muskegon, MI 49442-9427 USA, FAX 616-788-2765 or send a CompuServe message via CompuServe Mail to ASP Ombudsman 70007,3536. 1 Introducing COMpanion DOS Personal Network ---------------------------------------------------------------------- Performance You Should Expect from COMpanion.........................5 System Requirements..................................................5 Product Restrictions.................................................6 What Comes with the COMpanion Package................................6 2 Basics of Networking with COMpanion ---------------------------------------------------------------------- COM Ports............................................................8 Dedicated Servers....................................................9 DESQview Multitasking Servers........................................9 Limited Bi-directional Link.........................................10 Using Switch Boxes..................................................10 Some Things to Keep in Mind.........................................10 3 Installation ---------------------------------------------------------------------- Using the COMpanion INSTALL Program.................................12 Copying COMpanion Files to Your System Disk (INSTALL)...............12 Updating CONFIG.SYS with the COMDEV Device Driver (INSTALL).........13 Updating AUTOEXEC.BAT File (INSTALL)................................13 Setting Up Drive and COM Port Mappings..............................14 Hardware Installation...............................................14 Using the COM Finder................................................15 Verifying the COMpanion Link........................................15 Using the Flipping Cable............................................16 4 COMpanion Programs ---------------------------------------------------------------------- COMserve - COMpanion Server.........................................17 COMsetup - Customize Device Drivers and Invoke Special Functions....18 COMerr - Output Table of DOS-COMpanion Error Messages..........18 COMfind - Setup to Use COMfinder...............................18 COMfree - Free a Stacker Drive Grabbed with COMgrab............19 COMgrab - Grab a Stacker Drive on Server PC....................19 COMinfo - Output Information Window to Screen..................19 COMreset - Reset COMpanion Drive(s)............................19 COMsetv - Run COMpanion Using Video BIOS Screen I/O............19 DRIVEMAP - Get Information about Drives on Your PC..................23 DRVFREE - Free a Stacker Drive Locked with DRVLOCK..................24 DRVLOCK - Lock a Stacker Drive for Use under DESQview...............24 PRTFREE - Free a Printer Locked with PRTLOCK........................24 PRTLOCK - Lock a Printer for Use under DESQview.....................24 5 Technical Notes ---------------------------------------------------------------------- DESQview............................................................25 DOS and DR DOS......................................................26 Early Bit Detection (EBD) Null Modem Connectors.....................27 Miscellaneous.......................................................28 Performance.........................................................29 Stacker.............................................................30 COMpanion User's Guide -- Page 5 CHAPTER 1: Introducing COMpanion DOS Personal Network The COMpanion DOS Personal Network is ideal for use in a home or small office with two to five PCs. COMpanion is less expensive than other network options and is easy to set up using the COM ports already on your PC, though the server PC may require additonal COM ports to support multiple PCs. Use COMpanion to share a data base or application software, for transferring files rather than using floppy disks, and to share printers without requiring additonal hardware. You also need just one backup device for up to five PCs. COMpanion uses Stacker data compression to achieve faster transfers than other serial networks. Before installing COMpanion, you select one PC to act as a server. If more than one PC is attached to the server, DESQview multitasking software allows the server PC to provide disk and printer access for up to four PCs, while simultaneously letting you run other tasks. Under DESQview, write access to drives on the server is limited to one user at a time, and only Stacker drives are supported for writing. Setup features unique to COMpanion help you get up and running as quickly as possible. COMpanion's Early Bit Detection (EBD) technology eliminates the need to set baud rates. EBD technology also allows you to use any COM port, regardless of where your mouse or other serial devices are plugged in. Use the COM Finder to indicate which COM port you are using so you don't have to guess. And if you use switch boxes or special adapters, the Flipping Cable may save you having to buy new adapters. Performance You Should Expect from COMpanion From a hard disk or RAM drive, you can expect uncompressed data transfer speeds of 5,000 characters per second on a 4.77 MHz XT system, and 10,000 characters per second on any PC operating at 10 MHz or greater. The maximum transfer rate is approximately 11,000 characters per second. COMpanion uses data compression from Stac Electronics. Two-to-one data compression yields roughly 50% faster data transfer rates over the uncompressed rates. Performance on your system, however, is also dependent upon the speed of disk transfers, which can be affected by the use of a disk cache or data compression software. Floppy disk file transfers normally occur at one-half to three-fourths hard disk speed. Please note that the 16550 UART does not increase data transfer rate with COMpanion. System Requirements COMpanion runs under MS-DOS and PC-DOS 2.0+ on the Intel family of CPUs, from the 8088 through the 80x86 processors, along with 100% compatibles. COMpanion also runs under DR DOS 3+. COMpanion User's Guide -- Page 6 The COMpanion drivers in COMDEV.SYS require 12K bytes of memory. A special minimum configuration of COMpanion without data compression requires less than 5K bytes of memory. The drivers can be loaded into high memory with the appropriate software. The server program COMSERVE.COM requires 24K bytes of memory. Each PC to be connected with COMpanion must have an 8250-compatible UART, which includes the 16450 and 16550 UARTs. Please note that the 16550 does not increase data transfer rate with COMpanion. Product Restrictions ù Network drives such as Novell can not be accessed through the COMpanion server. ù DOS versions prior to 4.0 will not support disk partitions greater than 32 Mbytes, so this restriction also applies to COMpanion. ù Only one user at a time may have write access to drives on a server PC. ù Only Stacker drives are supported for writing under DESQview. ù Simultaneous data transfer between two PCs running the COMpanion server is not supported. ù COMserve does not run as a background task under Windows. What Comes with the COMpanion Package COMpanion software is distributed on both 3.5" and 5.25" low density diskettes. The files listed below appear in the root directory of the floppy. The identical files also appear in the directory COMDUP. Use the files in COMDUP if you encounter a problem accessing files in the root directory. C1-PIF.DVP DESQview Program Information File to run COMserve using COM1 C2-PIF.DVP DESQview Program Information File to run COMserve using COM2 C3-PIF.DVP DESQview Program Information File to run COMserve using COM3 C4-PIF.DVP DESQview Program Information File to run COMserve using COM4 COMDEV.SYS COMpanion disk and printer device drivers. COMERR.BAT Runs COMsetup to display DOS-COMpanion error translation table on screen COMFIND.BAT Setup to use COM Finder COMFREE.BAT Free a Stacker drive on the server PC that was previously grabbed with COMgrab. COMpanion User's Guide -- Page 7 COMGRAB.BAT Grab a Stacker drive on the server PC for writing. Only required when DESQview is running on the server. COMINFO.BAT Runs COMsetup to display current setup info on screen COMRESET.BAT Runs COMsetup to reset COMpanion drives COMSERVE.COM COMpanion server program COMSETUP.COM COMpanion setup program COMSETV.BAT Runs COMpanion setup program using BIOS video calls DRIVEMAP.COM Get information about drives on your PC DRVFREE.COM Free a Stacker drive locked with DRVLOCK DRVLOCK.COM Lock a Stacker drive for use under DESQview INSTALL.COM COMpanion installation program INITCOM Default COMsetup Setup file PRTFREE.COM Free a printer locked with PRTLOCK PRTLOCK.COM Lock a printer for use under DESQview README.TXT Quick start guide to COMpanion The following files are in the directory MINICOM. These special minimum configurations of COMpanion do not include data compression or support for COMgrab and COMfree. COMDEV.SYS COMpanion disk and printer device drivers COMSERVE.COM COMpanion server program The rest of the COMpanion package includes: COMpanion User's Guide 2 EBD null modem connectors 1 9-pin (DB-9) 1 25-pin (DB-25) Mailer for connector exchange 50' cable COM Finder Flipping Cable Modular inline coupler COMpanion User's Guide -- Page 8 CHAPTER 2: The Basics of Networking with COMpanion COMpanion is a client-server network. The client PC is where you enter commands, such as running a program. The server PC is where the disks and printers are that you want to access. As long as the disks on a server PC use the DOS file system, you can use the same DOS commands on them that you would use on disks connected directly to your PC, such as DIR or CHKDSK. COMpanion does not provide access to disks on the server that are either network disks or unsupported by the DOS version on the client PC. A client PC will issue requests to a server PC whenever a drive letter is used that maps to a disk on the server PC. Printing to the LPT3 remote printer driver will cause output to a printer on the server PC. A client PC establishes connection to a server PC through the COMpanion device drivers in COMDEV.SYS. The drivers are loaded with a DEVICE line in the CONFIG.SYS file. Normally, both the disk and printer drivers are loaded, but you may choose not to load the printer driver. You can connect a PC to up to four server PCs, one on each of the COM ports COM1 through COM4. One application of connecting to multiple servers is to perform backups to a backup device on the client PC. A server PC provides access to its disks and printers with the COMpanion server program COMserve. Without a multitasking program such as DESQview running on a server PC, the COMserve program makes a PC into a "dedicated server." That is, the PC is tied up running the server and can not be used for other tasks. Multitasking provides a way for up to four PCs to share a server PC's disks and printers. To get the benefits of multitasking with COMpanion, you must purchase and install both DESQview and Stacker software packages. DESQview provides multitasking of COMpanion servers, and Stacker compressed drives allow COMpanion to provide write access to client PCs attached to DESQview servers. COM Ports Most PCs will support up to four COM ports, or serial ports as they are also called. Generally, PCs come equipped with two COM ports, often one 9-pin and one 25-pin. If you want to add COM ports to your system, you can buy add-on boards containing one to four COM ports and plug them into a free slot in your PC's chassis. Although COM ports have standard base addresses, these values can be modified with the COMsetup and COMserve programs. Unlike most communications programs, COMpanion does not use interrupts. This means you will not have conflicts with COMpanion ports and COM ports you use for your mouse or other serial devices. This also means that COMpanion User's Guide -- Page 9 using the 16550 UART does not result in any speed improvement with COMpanion. Even though COM ports that use the 16550 are referred to as high speed, the actual bit transfer rate used on standard PC COM ports is the same for all 8250-compatible UARTs. Dedicated Servers Running the COMserve program directly from DOS makes that PC into a dedicated server. The PC is then a slave to the commands it receives from the COM port selected. COMpanion supports reading, writing and printer sharing on dedicated servers without restrictions. COMpanion can be used without additional software in the following configurations of dedicated servers. ù laptop to dedicated server ù desktop to dedicated server ù desktop to multiple dedicated servers Applications using dedicated servers include: ù transfer files with server ù access data base on server ù keep commonly used files on server ù run applications on server ù use printer on server ù backup files from servers on multiple PCs DESQview Multitasking Servers By running DESQview multitasking software, COMserve tasks can be run simultaneously on COM1 through COM4. This allows up to four PCs to read files and share printers on the DESQview server PC. You can also run other tasks simultaneously with COMserve tasks. See the Technical Notes on DESQview for details on COMpanion installation under DESQview. Writing to a drive on a server PC running DESQview requires Stacker compressed drives on the server PC. On the client PC, use the COMgrab command to grab a Stacker drive on the server for exclusive write access. The COMfree command is used to free a grabbed Stacker drive for write access by other PCs. COMgrab works only on Stacker drives. Printer contention is handled by COMserve tasks under DESQview. Do not use the DESQview printer contention option if you plan to print with COMserve. While one server is printing, the other servers will return a busy signal if printing is attempted. A printer is relinquished by a server after 16 seconds of inactivity. Note that a local DESQview user will not be stopped from using the printer, even while other PCs are printing. To avoid conflicts, use the PRTLOCK program to lock the printer for use from the DESQview system only. The printer remains locked until the PRTFREE program is run. COMpanion User's Guide -- Page 10 Spooling of print data is not handled on the PC running COMserve. Use a program such as the DOS PRINT command to spool print data. Select LPT3 to access the remote printer. The DOS PRINT command will allow you to continue to work while it prints, or waits to print, on the remote printer. Limited Bi-directional Link A bi-directional link connects two PCs with one cable and allows either PC to access drives on the other one. This configuration requires COMserve running on both PCs under DESQview. This configuration will function properly as long as both users don't try to access a disk or printer on the other PC at the same time. If a simultaneous data transfer does occur, both PCs will get errors. One user at a time can then restart the failed operation. Using Switch Boxes Switch boxes offer an alternative to adding physical COM ports to your PC to support multiple serial devices. For example, your PC may have one COM port, COM1, which you use for an external modem. To also access a remote drive through COM1, you could use a two-way switch box. Selecting switch A would open the line to the modem, selecting switch B would open the line to the remote drive. As long as you don't need to access a file on the remote drive at the same time as using the modem, you could manually switch between these two external devices. To set up the switch box, attach a cable between COM1 and the input of the switch box. Then plug in the modem on the A port and the EBD null modem connector on the B port. Unfortunately, there will probably be a little more to the setup than this since most switch boxes have female plugs. Map out the hardware you will need before the trip to the store. For the example above, assuming you plan to connect a 25-pin COM port to a 25-pin switch box, you would need one two-way switch box; one straight through 25-line cable, with female-to-male connectors; and, if the switch box has female plugs, two DB-25 gender changers, male-to-male. Also note that 9-pin connectors on switch boxes are compatible with COMpanion, but may not be compatible with other 25-pin devices. Some Things to Keep in Mind ù Use of DOS versions 2 and 3 limits the size of remote disks that can be supported. If you want to use the standard DOS commands, you can boot up from a floppy with DOS version 4+. Also, you can use Stacker to create a drive as large as 32 Mbytes that can be accessed from DOS version 2 (see the Technical Notes on Stacker). COMpanion User's Guide -- Page 11 ù Use of DR DOS through release 6 imposes the disk size restrictions of using DOS version 3. Also, the DR DOS PRINT command will not work with the COMpanion remote printer driver. You can use the COPY command instead, but this does not provide background printing. ù DOS commands can not be used to access network disks such as Novell. ù A server PC that supports more than one client PC requires the multitasking program DESQview and the disk compression program Stacker. You can also use DESQview to allow you to run other tasks simultaneously with COMserve tasks. ù Simultaneous data transfer between two PCs running the COMpanion server is not supported. See Limited Bi-directional Link above. COMpanion User's Guide -- Page 12 CHAPTER 3: Installation Installation requirements will vary with the function of PCs in your network. A PC to be used as a client requires the device driver file COMDEV.SYS be loaded in CONFIG.SYS, but a PC to be used only as server does not. In most cases, it is desirable to go ahead and install the COMpanion devices on all PCs in the network so that they may function as a client as well as server. Unless stated otherwise, the following installation instructions apply to both hard disk and floppy-based systems. Characters you are expected to enter are identified in bold typeface. Statements entered from the command line must be terminated by pressing the ENTER (or RETURN) key. Using the COMpanion INSTALL Program It is recommended that you use the INSTALL program on the COMpanion distribution floppy to install COMpanion on your PC. The installation sections incuded in the COMpanion INSTALL program are identified by (INSTALL). Insert the COMpanion floppy in a drive and enter the floppy drive letter followed by the INSTALL command, such as A:INSTALL. INSTALL will lead you through the software installation process step by step. You will then need to refer to the section Setting up Drive and COM Port Mappings and the following installation instructions. If you are using DOS version 2, you must first change to the drive that contains the COMpanion floppy and then run INSTALL. Copying COMpanion Files to your System Disk (INSTALL) Create a directory on the drive of your choice and change to it. On a floppy-based system where you install device drivers, you create the directory on the boot disk. We like the directory name CDPN for COMpanion DOS Personal Network. We assume in this User's Guide that you create CDPN from the root directory of the C: drive. C:\>MD CDPN C:\>CD CDPN Copy the files from the COMpanion floppy disk to the new directory. We assume the floppy is in drive A:. C:\CDPN>COPY A:*.* On a floppy-based system, you may want to save space by deleting the COMpanion files you will not use. COMpanion User's Guide -- Page 13 Updating CONFIG.SYS with the COMDEV Device Driver (INSTALL) You can skip this step for a PC to be used only as a server. To make the COMpanion disk and remote printer drivers available, you will need to edit the CONFIG.SYS file in the root directory of your boot drive. On a floppy-based system, this applies to boot disks. It may be helpful to consult your DOS manual if you are unfamiliar with the DEVICE statement. The general form of the COMpanion DEVICE statement follows. Note that you must enter all values on one line. DEVICE = d:path\COMDEV.SYS drive-count N d:path\ is the drive and directory of COMDEV.SYS. drive-count is used optionally to allocate 1 to 4 drive letters as remote drives. If not specified, one drive is allocated. N suppresses loading of the remote printer driver. If not specified, the LPT3 remote printer driver will be loaded. The following DEVICE line will allocate one remote drive and load the remote printer driver as LPT3. DEVICE=C:\CDPN\COMDEV.SYS Specify N on the DEVICE line to suppress loading the remote printer driver. This option has no effect on memory requirements. Specify a number from 1 to 4 on the DEVICE line to allocate that many remote drives. Avoid allocation of drives you will never use since searching non-existent drives can take up to four seconds for each drive. This option has no effect on memory requirements. The following device line allocates two remote drives and suppresses loading the printer driver. DEVICE=C:\CDPN\COMDEV.SYS 2 N You must reboot your system for the COMpanion drivers to be installed. Updating Your AUTOEXEC.BAT File (INSTALL) If you want to access the executable files in CDPN from any directory, you will need to edit the AUTOEXEC.BAT file in the root directory of your boot drive and add the new directory name to the end of the current PATH statement. PATH=;C:\CDPN It may be helpful to consult your DOS manual if you are unfamiliar with the PATH statement. COMpanion User's Guide -- Page 14 We highly recommend adding the line BREAK=ON to your AUTOEXEC.BAT file so that you can use CTRL-BREAK or CTRL-C to terminate DOS commands before they complete. To abort long file transfers, your only alternative is to reboot. Note: BREAK is also a command you can use from the DOS prompt to enable this feature. We also recommend you include a line in your AUTOEXEC.BAT file to initialize the COMpanion driver from a setup file. COMSETUP C:\CDPN\INITCOM You will need to run COMsetup to customize the COMpanion settings, and then save them using the file name you specify on the command line. In the previous example, INITCOM is the file name, and C:\CDPN\ is the drive and path to the file. Setting Up Drive and COM Port Mappings Make sure you reboot your system to install the device drivers added to CONFIG.SYS before you continue with this step. Run the COMsetup program to set up drive and COM port mappings on any PC where you have loaded COMpanion drivers. COMSETUP COMsetup will not run under DESQview. COMsetup gives you the ability to customize: ù drive mappings from local to remote drives ù COM port mappings for each remote drive ù COM port to use for remote printing ù remote LPT number to use ù COM port base addresses ù seconds to time-out on COM port Once you have defined setup values to your liking, you can save them in a setup file that can be invoked from your AUTOEXEC.BAT file each time your PC boots up. INITCOM is the recommended file name to use. Hardware Installation To connect two PCs together, plug in an EBD null modem connector to a serial port on each PC. Then plug in each end of a phone cable to the phone jack on each connector. If you have trouble figuring out what COM port numbers match the plugs on the back of your PC, consult the section below on Using the COM Finder. COMpanion User's Guide -- Page 15 Using the COM Finder Use the COM Finder if you do not know which COM port numbers correspond to the plugs on the back of your PC. Begin by plugging the COM Finder into an EBD null modem connector, then plug the connector into a COM port on your PC. Enter the COMFIND command, which displays the COMsetup information window. Under the active column you will see no, yes or no/x. The no/x entry will show up for the COM port the COM Finder is in. If you have other PCs connected to this one, then no/x may show up when a remote system is off. Enter CTRL-R from the information window to retest the link after starting COMserve on a remote PC, or after moving the COM Finder to a different COM port. COMsetup will then update the information displayed. When a specified COM port is not a valid UART, an asterisk (*) will show up next to the number in the COM column. Note that a UART associated with an internal modem is valid, even though you have no way to connect to it. Verifying the COMpanion Link Run COMserve on the PC to act as a server: C:\CDPN>COMSERVE COMx Specify 1, 2, 3 or 4 for x to indicate the COM port to use for the COMpanion link. Run COMsetup on the client PC: C:\CDPN>COMSETUP The active column should read "yes" if the COMpanion link is active. If you run the server under DESQview, you may not get "yes" in the active column even when the link is active. Remedy this by doing validity checking before you start DESQview. If the link is not active when you expect it to be, make sure the COM port settings selected in COMsetup are correct. Also make sure the COMserve program was started on the correct COM port. You can enter CTRL-R from the COMsetup information window to retest the COM ports and update the information displayed. If you use an adapter in your COM port and plug the EBD null modem connector into it, the send/receive lines may be swapped. These lines may also be swapped if you have an intermediate cable, such as when connecting to a switch box. Use the as described below to attempt to remedy this problem, then verify the link once again. COMpanion User's Guide -- Page 16 Using the Flipping Cable Use of a switch box or COM port adapters are the two most likely situations where the Flipping Cable might be needed. When two PCs are connected directly by the connectors and cable supplied with COMpanion, it is extremely unlikely that the Flipping Cable will be needed. There is a slim chance that the connectors or phone cable supplied with COMpanion are faulty. You can use any null modem connection between PCs that you already know works to check for this possibility. Begin the installation of the Flipping Cable by removing one end of the phone cable from the EBD null modem connector on either PC. Attach this end of the cable to an input of the inline coupler supplied in the package. Attach the Flipping Cable to the other end of the inline coupler. Plug the Flipping Cable into the EBD null modem connector. You have now swapped the send/receive lines between the two PCs if you are using EBD null modem connectors, null modem connectors from Traveling Software, or other plug-compatible connectors. COMpanion User's Guide -- Page 17 CHAPTER 4: COMpanion Programs COMserve Server program run on PCs where disks and printers are that you want to access. COMsetup Provides interface between user and COMpanion devices on client PC, and is used to invoke special functions. DRIVEMAP Gives you information about each drive on your PC system, and can be used under DESQview to get the write onwership of Stacker drives. DRVFREE Frees a drive locked by DRVLOCK. DRVLOCK Under DESQview, locks selected Stacker drive for write access by DESQview user only. PRTFREE Frees a printer lockd by PRTLOCK. PRTLOCK Under DESQview, locks selected printer for use by DESQview user only. Command Line Syntax and Parameters Common to COMpanion Programs Parameters in italics should be replaced by values in their description. Upper case parameters are literals that should be entered as is. Parameters separated by a vertical line, as in VBIOS | RESET, represent an array of choices. Unless stated otherwise, only one value can be selected for a given choice. COMserve --------------------------------------------------------------------- COMserve is the COMpanion server program run on PCs where disks and printers are that you want to access. COMSERVE COMx | COMx=hex-value COMx COM port number 1 to 4; if not specified, COM1 is used hex-value four-digit hex value representing COM port base address; if not specified, the standard DOS address is used Include COMx on the command line to run COMserve on COM ports other than COM1, or to specify a base address that is non-standard. COMSERVE COM1=06E0 runs COMserve on COM1, using base address 06E0 hex. COMpanion User's Guide -- Page 18 After you start COMserve, the COM port used is displayed. When you run COMserve from DOS, a built-in screen saver scrolls the screen up and down every three seconds. As you access data on the server, the current drive, function and transfer rates are updated. Transfer rate is only updated if the transfer takes at least half a second. COMsetup --------------------------------------------------------------------- COMsetup provides the interface between the user and the COMpanion device drivers. Use COMsetup without command line parameters to view the current COMpanion drive settings, to change drive and COM port settings, to change remote printer settings, or to save a setup file containing the current settings. COMsetup is also used to invoke special functions, such as GRAB and FREE for gaining write access to remote Stacker drives on a server PC running DESQview. Batch files are included that will invoke COMsetup for you when you enter these special commands. Use COMsetup in conjunction with the COM Finder to determine the COM port numbers on your PC (see Using the COM Finder in Chapter 3). Command Line Options Through command line options, COMsetup provides a means to change the COMpanion settings from a previously saved setup file, as well as to invoke the special functions described below. As a short cut to entering the COMsetup command and a keyword, you can use a batch program name specified in the descriptions on the following page. COMSETUP setup-file | special-function setup-file Change the COMpanion settings to values contained in a previously saved setup file. Setup files are created by using the SAVE command from the information window of COMsetup. special-function May be one of the special functions described below. Batch programs are supplied with the COMpanion software to invoke each of these functions. COMFIND Brings up the information window and shows the status of COM ports in the active column. See the section Using the COM Finder in Chapter 3. The batch program name is COMFIND. DOSERR Display on standard output a table showing DOS error messages and corresponding meaning for COMpanion drives. The batch program name is COMERR. COMpanion User's Guide -- Page 19 FREE d Free the remote Stacker drive mapped to drive d that was previously grabbed for write access with COMGRAB. The batch program name is COMFREE. GRAB d Grab the remote Stacker drive mapped to drive d for write access. The batch program name is COMGRAB. INFO Display on standard output the information window. The batch program name is COMINFO. RESET d Reset the COMpanion drive specified by d. This forces DOS to update its internal drive table. If you do not specify a drive, all COMpanion drives are reset. COM ports will be reset only if no drive is specified. The batch program name is COMRESET. VBIOS Force COMsetup to use BIOS video calls rather than write directly to the screen. BIOS video calls provide a high degree of compatibility with nonstandard systems, but are slower than writing directly to the screen. The batch program name is COMSETV. Information Window When COMsetup is run without command line options, the information window is displayed on the screen as shown in Figure C. If you like, you may use the arrow keys to reposition the window. The information window options are displayed along the bottom of the information window. COMsetup V1.2 (c) Copyright 1994 Oxford House Software DRIVE MAPPING STATUS OF COMDEV DRIVES ------------- ------------------------- local remote active COM type access e --> c no 1 ??? none ESC exit F1 drive F2 LPT3 F3 COM F4 save Figure C: Information Window The VBIOS and INSTALL command line options also cause the information window to be displayed on the screen. COMpanion User's Guide -- Page 20 Drive Mapping From one to four local drives point to the drive letter selected on the remote system. The number of drives allocated can be set on the COMpanion DEVICE line in your CONFIG.SYS file. See Device Driver Installation in Chapter 3 for more details. Status of COMDEV Drives The current status of each drive is indicated in the active, COM, type and access columns. The active column has one of the following values: no COMserve does not respond on the remote PC. This usually indicates the COMpanion link is not active. However, when COMserve is running under DESQview, the time constraints on a response may cause "no" to be reported when the link is working. Use CTRL-R to retest the link if you are unsure about the connection. no/x This is a special indication that feedback characters are being read on the link, but not the values expected from COMserve. This will occur when the COM Finder is plugged into the indicated COM port. Feedback also occurs on some PCs when their power is turned off. yes The COMpanion link is active. The COM column contains the COM port assigned to each drive mapping. COM ports 1 to 4 are supported. When a COM port selected is not a valid 8250-compatible UART, an asterisk (*) is displayed next to the COM port. The type column indicates the type of drive mapped to on the server PC. Use the program DRIVEMAP to view drive information on the server PC. Drive type may be any of the following: ??? Drive type has not yet been determined. invalid Drive is not a valid drive for use with COMpanion. too big Drive is too big to be used by the version of DOS running on this PC. floppy Drive is a physical floppy disk. fixed Drive is a fixed disk (physical, RAM, etc.). Stacker Drive is a Stacker compressed disk. SUBST Drive is defined with the SUBST command, so even if it is pointing to a Stacker disk, COMgrab will not work on it. COMpanion User's Guide -- Page 21 network Drive is a network drive, and not accessible with COMpanion. remov Drive is a removable disk. The access column indicates the type of access allowed on this drive. none Drive can not be accessed. read Drive can only be read from. write Drive can be read from and written to. Information Window Options The information window options appear along the bottom of the COMsetup information window, except CTRL-R. Use the arrow keys to move the information window about the screen. Within the option submenus, use the arrow keys or TAB key to navigate among the choices, and use ESC to return to the information window. ESC Exit from COMsetup. F1 Invoke the Change Drive Setup menu (Figure D). For each local drive you may select the remote drive to map to and the COM port to use. Remote drives can be a letter from a to z. COM ports may be a value from 1 to 4. Changing a value causes the associated drive to be reset. Change Drive Setup LOCAL DRIVE e f g h -------------------------- remote drive c c c c COM port 1 1 1 1 Figure D: F1 - Drive Option Initial values: remote drive c and COM port COM1 for all drives. F2 Invoke the Change Remote Printer Settings menu (Figure E). LPT3 is used for COMpanion remote printing. You may select which COM port to send remote printing to, and which LPT number to use on the remote system. The COM port to use for remote printing may be a value from 1 to 4, and the remote printer to use may be a value from 1 to 3. COMpanion User's Guide -- Page 22 Change Remote Printer Settings for LPT3 Do remote printing on COM1 Remote printer to use is LPT1 Figure E: F2 - LPT3 Option When the remote printer driver is not loaded, because the N option on the COMpanion DEVICE line was specified, the message "Remote printer device not loaded" is displayed. You can not change remote printer values in this case. The COM port used for remote printer may also be shared by remote drives. Background printing, such as with the DOS PRINT command, will not interfere with drive accesses on the same COM port. Initial values: COM1 and LPT1. F3 Invoke the Change COM Port Setup menu (Figure F). For each of COM1 to COM4, you may select the base address to use. This may be helpful if you want to use an add-on board containing COM ports that are not at the standard addresses. An asterisk (*) appears next to base addresses that do not represent a valid 8250-compatible UART. The base address must be entered as four hex digits. COM time-out controls the number of seconds to wait for a response from the remote system before a time-out error is generated. Values of 1 to 9 correspond to 1 to 9 seconds. A value of 0 indicates a time-out of 16 seconds. Some uses of DESQview may require the use of 0 (see the Technical Notes on DESQview). In most cases, this value will not need to be changed. Initial values: COM1 is 03F8, COM2 is 02F8, COM3 is 03E8 and COM4 is 02E8; and COM time-out is 6 seconds (Figure F). Change COM Port Setup COM 1 base address 03F8 COM 2 base address 02F8 COM 3 base address 03E8 COM 4 base address 02E8 COM time-out is 6 seconds Figure F: F3 - COM Option COMpanion User's Guide -- Page 23 F4 Invoke Save Setup menu. Save the current COMpanion settings to a disk file. This file may then be used to change the COMpanion settings as described below in Using a Setup File. Enter a valid drive, path and file name in which to save the current setup values. The current drive and directory are used if you enter only a file name. If the file you specify already exists, you are given the option to overwrite it. If an error occurs, no file is created. CTRL-R CTRL-R will retest COM ports for the presence of a COMpanion server and update the information displayed. Using Setup Files Use setup files to automatically change the COMpanion driver settings. Setup files are created with the F4 option from the COMsetup information window, as described above. To install the settings from a setup file, enter a setup file name on the COMsetup command line. C:\>COMSETUP setup-file Here, setup-file refers to the drive and path of a setup file name you previously saved. All drives are reset by this command, and COM ports are re-initialized. To initialize the COMpanion settings each time you boot up your PC, add the COMsetup command line above to your AUTOEXEC.BAT file. INITCOM is the recommended name and is what the INSTALL program uses. DRIVEMAP --------------------------------------------------------------------- Use DRIVEMAP to get information about the drives on your PC. When run under DESQview, DRIVEMAP indicates the write ownership of Stacker drives, reflecting COMgrab and DRVLOCK commands that have been issued. DRIVEMAP reports on the use of ASSIGN, JOIN and SUBST drive commands. Please refer to a DOS manual for a description of these commands. SUBST drives provide an alternate drive letter to reference a drive and path. SUBST drives on the server PC can not be used with the COMgrab command from a client PC. If the ASSIGN command is used, whether an assignment exists or not, all drives on the server PC will be read-only when running under DESQview. JOIN drives do not affect the operation of COMpanion. When a system error occurs and locks up the server PC running DESQview, any Stacker drives that were grabbed for writing with the COMgrab command will be read only after rebooting the PC. After you run DRIVEMAP, all Stacker drives will be reset to their writable state. COMpanion User's Guide -- Page 24 DRVFREE --------------------------------------------------------------------- Use DRVFREE to release a Stacker drive that was locked with the DRVLOCK command. Specify the local drive letter to free on the command line. DRVLOCK --------------------------------------------------------------------- Use DRVLOCK under DESQview to lock a Stacker drive for exclusive write access from the DESQview server PC. This will disable the use of COMgrab by any PCs attached to the server. Specify the local drive letter to lock on the command line. Use the DRVFREE command to allow other PCs to grab the drive for writing. Run DRIVEMAP to view the status of drives on the server. PRTFREE --------------------------------------------------------------------- Use PRTFREE to free a printer that was locked with the PRTLOCK command. Specify the printer to free on the command line (LPT1, LPT2 or LPT3). PRTLOCK --------------------------------------------------------------------- Use PRTLOCK under DESQview to lock a printer for exclusive use on the DESQview server PC. This will disable the use of the specified printer by any PCs attached to the server. Specify the printer to lock on the command line (LPT1, LPT2 or LPT3). Use the PRTFREE command when finished printing to allow other PCs to use the printer. COMpanion User's Guide -- Page 25 CHAPTER 5: Technical Notes DESQview --------------------------------------------------------------------- Installation of COMpanion Files From the DESQview main menu, select Open Window, then select the Add a Program function. From the Add a Program window select Other (Add Program Not in List). Enter the path to COMpanion files, C:\CDPN, or the installation directory you chose. COMpanion files are predefined with key codes as shown below: COMserve COM1 C1 COMserve COM2 C2 COMserve COM3 C3 COMserve COM4 C4 The COMserve programs are set to use a 24K window, and 16K of system memory. The directory used to find the program is C:\CDPN. In order to change these settings, you will have to use the Change a Program selection from the DESQview Open Window menu. The value of system memory is checked by COMserve for at least 16K, 32K or 64K for the allocation of a buffer for writing to disk. You will notice a slight improvement in disk write time if you use 32K or 64K. If you specify less than 16K, no write buffer is allocated, and write time may take up to twice as long. General Concept DESQview allows you to run one to four COMserve tasks in the background, and lets you do other work on your PC at the same time. After following the installation procedure above, you start COMserve tasks on the COM ports where other PCs are connected. DESQview will cycle through the COMserve tasks to give approximately equal time to each one. If you will be running other applications on the DESQview server, then you may want to adjust the amount of time allocated to the COMserve tasks. Select Rearrange from the DESQview main menu, and then select Tune Performance. DESQview defaults for Foreground and Background ticks are 9 and 3. This gives the application you run triple the time of background tasks. Although this may sound good, selecting a higher value for COMserve tasks can work quite well for both your DESQview application and the client PCs accessing your disks. Swapping these values so that Foreground ticks is 3 and Background ticks is 9, will allow COMserve to run nearly as fast as possible. If performance in your DESQview application is inadequate, move the values closer to even and try again. COMpanion User's Guide -- Page 26 Adjusting Time-out Value on Client PC If you get "drive not ready" error messages accessing valid drives on a DESQview server, you may need to adjust the time-out value used by the COMpanion drivers. In most cases you will never need to change the COM time-out value from 6 seconds. From the COMsetup menu, select COM (F3) to access the time-out value. A setting of 0 sets time-out to 16 seconds. Since DOS retries after an error occurs, a time-out of 16 seconds can cause a delay of 32 seconds before you get an error message accessing remote drives. Printing COMserve recognizes when it is running under DESQview and will allow only one of the active COMserve tasks to print to the same printer at a time. After 16 seconds of inactivity, another COMserve task may begin printing. If you use a print spooler on a client PC, such as the DOS PRINT command, then the spooler will keep trying to print until the printer becomes available. DESQview offers an option to manage printer contention. This option should be set to N(o) in the Performance option of the Advanced DESQview Setup to let COMserve provide printer support. Use the PRTLOCK command to let a local DESQview user print without interference from PCs attached to the server. When finished printing, enter a PRTFREE command to free the printer for use by other PCs. Screen Blanking The DESQview screen blanker will allow tasks to continue to run even though the screen is blanked. Please use it! DOS and DR DOS --------------------------------------------------------------------- DOS Versions 2 and 3 The disk size supported under DOS version 2 is limited to 4086 clusters. A cluster contains some number of sectors, which are the smallest units addressable on a disk drive. Sector size is usually 512 bytes. On XT systems, drives were often defined with 8 sectors per cluster, or 4096 bytes. If you multiply times 4086 clusters, you find a 16 Mbyte disk can be supported. See the Technical Notes on Stacker for creating 32 Mbyte drives on a server that can be accessed from a DOS 2 client. COMpanion User's Guide -- Page 27 On AT systems, 4 sectors per cluster is common. Smaller clusters are desirable for small files since each file requires at least one cluster. With DOS 3.0, the maximum cluster count was raised to 16,384. Yet the 16-bit value used to represent sector numbers on the disk still limits disk size to 32 Mbytes under DOS 3. DR DOS DR DOS versions 3 through 6 support the functions of DOS 3.3. In addition, large disk drives are supported in the same fashion as for DOS 4+. Unfortunately, the external interface for large disk drives is not supported, so you will have the same 32 Mbyte disk size restriction for COMpanion remote drives as users of DOS 3 on a client PC. When you run COMserve under DR DOS, your disks that are greater than 32 Mbytes will be accessible to client PCs if they are running DOS 4+. The DR DOS PRINT command does not support the use of the COMpanion remote printer driver. You can use the DR DOS COPY command to send a file to the COMpanion remote printer as follows: COPY filename LPT3 Unlike the PRINT command, you must wait for COPY to finish printing before you can resume other work. The DR DOS SCRIPT command works properly with the COMpanion remote printer driver. To format a text file for output to a remote PostScript printer, enter: SCRIPT filename LPT3 As with the COPY command, you must wait for SCRIPT to finish printing before you can resume other work. Early Bit Detection (EBD) Null Modem Connectors --------------------------------------------------------------------- The connectors supplied with the COMpanion package are very nearly null modem connectors. The only difference is an additional jumper from the Receive Data (RD) line to the Ring Indicator (RI) line. The information gained from using the Ring Indicator allows COMpanion to function at the full speed of the UART without the use of interrupts. The term Early Bit Detection (EBD) refers to the ability of COMpanion to recognize the arrival of data on the Ring Indicator before a byte is fully serialized by the UART. COMpanion User's Guide -- Page 28 The physical wiring of EBD connectors matches that used by connectors from Traveling Software, so you could use a connector from Traveling Software on one PC and connect it to a COMpanion EBD connector on another PC. The resulting data transfer rate would be three-fourths full speed since the Traveling Software connectors do not have the EBD feature. If you use non-EBD connectors between two PCs, the data transfer rate is one-half full speed. If you are making your own EBD connectors, you will need to connect the yellow, green, red and black phone wires as follows: yellow Transmit Data (TD) green Signal Ground (SG) red Signal Ground (SG) black Receive Data (RD) and Ring Indicator (RI) The actual pin numbers on the connector will vary according to whether a 9-pin (DB-9) or 25-pin (DB-25) connector is used. The following table shows the assignments for female connectors: Signal DB-25 DB-9 ------ ----- ---- Transmit Data (TD) 2 3 Receive Data (RD) 3 2 Signal Ground (SG) 7 5 Ring Indicator (RI) 22 9 Miscellaneous --------------------------------------------------------------------- Screen Blankers Most screen blankers will deactivate the running programs. This means that if you start COMserve and a screen blanker comes along, requests from the client PC will not be serviced. COMserve has a built-in screen saver that scrolls the screen up and down every three seconds, so it is recommended that screen blankers be disabled while COMserve is running. One exception is the DESQview screen blanker, which does allow tasks to continue running while the screen is blanked. COMpanion Drives Under Windows It is best to be sure that remote COMpanion drives you will access under Windows are active before you start Windows. You can run COMsetup under Windows, but you must close (Exit) the DOS window after you finish to avoid conflicts with COM ports in Windows applications. Memory Optimizers The memory optimizers MEMMAKER and QEMM will not work with COMpanion. Please bypass the COMpanion device driver COMDEV.SYS when running these optimizers. COMpanion User's Guide -- Page 29 Mouse Port Conflict under Windows If you run COMserve in a DOS window under Windows, and accidentally select the same COM port the mouse is in, the mouse under Windows will go crazy. You must then exit from Windows. Laptops If you use a laptop with power saving features, you may get "Drive not ready" messages from the loss of power when these modes are activated. To avoid this problem, use an AC adapter, or temporarily disable the power saving features. Minimum Configuration COMpanion Programs If you use the COMpanion INSTALL program, the installation directory will contain a subdirectory called MINICOM that contains minimum configuration versions of COMDEV.SYS and COMSERVE.COM. These can be mixed with the full versions. Reference these versions of the COMpanion programs if you need to conserve memory resources on your PC. This version of COMDEV.SYS requires only 4.5k of memory, and COMSERVE.COM only 12k. Data compression is not performed, and the COMgrab function is not supported. Performance --------------------------------------------------------------------- Disk Caching Programs If you use SMARTDrv, or other disk caching programs on your PC, you should be aware of their affect on COMpanion drives. SMARTDrv can make accessing data on a COMpanion drive very quick after the first time it is read. The price you pay for this will vary with your system type, but transfers are roughly 10% slower when using SMARTDrv. Write caching is not recommended. If you attempt to write to a read-only drive with write caching enabled, you will have to re-boot your system. SMARTDrv affects the performance on the server PC as well. It is recommended that you disable caching on drives to be accessed on a server PC. Disk Compression Programs If you use a disk compression program, such as Stacker, DOUBLE DISK or SuperStor, your operating system must compress or decompress data every time it is accessed on your disk. The time required by the disk compression program is reflected in the transfer rate displayed by COMserve. COMpanion User's Guide -- Page 30 Time Lags Caused by Inactive Remote Drives Programs that check for the presence of drives, such as File Manager under Windows, will cause the system to wait two to four seconds per remote drive that is inactive. If you need to keep a drive mapping available for a drive that is not always available, you can map it to a drive that is active to avoid the delay until such time that you need it. Another way to deal with drives you won't access too often is to define only as many COMpanion drives as you will actively use, then remap one of them to another drive as you need it. Stacker --------------------------------------------------------------------- Stacker is a software package from Stac Electronics that doubles your disk capacity using data compression. Stacker software is required to provide write access to drives on a server PC running DESQview. Use Stacker to create and manage drives on your PCs. You have the ability to shrink and grow Stacker drives, and create new ones from uncompressed disk space. One application of Stacker is to create a drive on the server PC for each client PC on your network. This would provide a writable drive on the server for each PC on the network. Other Stacker drives on the server would then be accessible for writing on a first come first serve basis using the COMgrab or DRVLOCK commands. Restriction on Loading Stacker Device Driver in Low Memory for Stacker through version 3.1 The Stacker device driver provides a means to be loaded into high memory. In order for COMpanion to work under DESQview, you must load the Stacker device driver in low memory. In versions of Stacker prior to 3.1, do not use DEVICEHIGH to load Stacker, or a similar command for a memory manager other than HIMEM. In Stacker 3.1, do not use the STACHIGH device driver. You can still use the EMS option to allow Stacker to use EMS memory for its built-in cache. Creating a 32 Mbyte Disk Drive Accessible from DOS 2 To create a 32 Mbyte Stacker disk that you can access from a DOS 2 client, enter one of the Stacker command lines from the DOS prompt. These commands will create a drive of fewer than 4086 clusters, but nearly 32 Mbytes in size. COMpanion User's Guide -- Page 31 Stacker 2.0 command line SCREATE d: /S=16 /R=2.0 /C=8 Stacker 3.x command line CREATE d: /S=16M /R=2.0 /C=8 d: specifies the drive letter to be used to host the Stacker drive. /S=16 or /S=16M will use16 Mbytes physical space on drive d:. /R=2.0 specifies a compression ratio of 2:1. This is the default value. /C=8 specifies 8K bytes per cluster. This is the default value. If you expect compression of greater than 2:1, then you may adjust the /S and /R values so that S times R is 32 or less. Please check your Stacker User's Guide for more details on these commands.