MAIN   SUPPORT   FAQs  PCI and other Operating Systems 

Created: December 9, 1999
Last modified: September 25, 2001

VScom PCI Configuration

Installation in other Operating Systems than Windows'95/NT

Problem:

 VS is not able to construct drivers for every Operating System in the world. Namely interface cards from VScom PCI series make the configuration of the system difficult. This is because the PCI-Bus is a Plug&Play system. On every start of the computer resources are assigned in a dynamic manner. It is impossible to save a special configuration on the board.
 Nevertheless there are possibilities to operate the VScom PCI series. All of them rely on usage of our programs VSEMUIO, VSPCIDOS and VSSHOW. All of these are DOS programs.

  • VSEMUIO emulates Hardware under DOS.
  • VSPCIDOS displays the actual resources, and integrates the ports into the BIOS. Additionally on certain boards the addresses of the ports may be changed.
  • VSSHOW displays the actual resources of all boards.
The exact parameters of these programs are described in the addendum in full details.

Solution:

  1. DOS:
    There is some extra instruction for DOS. Here it is possible to emulate the required Configuration.
    Additionally on some boards it is possible to change the configuration with VSPCIDOS. These boards are VScom (010, 020, 200, 210, 100L, 110L, 200L, 210L) PCI. An Example with a VScom 210L PCI:
    VSPCIDOS compatch=0x3E8,0x2E8 lptpatch=0x3BC
    This command relocates the first serial port to 0x3E8, the second to 0x2E8, and the parallel port to 0x3BC. Furthermore these ports are integrated into the BIOS, as 3rd and 4th serial and as 2nd parallel port. Hereby COM3, COM4 and LPT2 are available for DOS.
    Boards with 4 or 8 ports, and those from the H-series can not be reconfigured in a meaningful fashion for technical reasons. Nevertheless the ports are made available by VSPCIDOS, as much as possible.
  2. DOS-based Operating Systems:
    Hereby we understand systems, which in their startup process at least boot a rudimentary DOS and can run DOS-programs thereby. Examples are Windows-Systems up to 3.11, but also Novell Netware.
    Here it is possible to emulate the desired configuration These are ideal, since in the AUTOEXEC.BAT or the respective PCI_INST can be started with parameters, to force a certain configuration. The interfaces (16C550A) are located at known addresses and are operated be the systems own drivers (or alternatives from shareware).
  3. Systems, allowing DOS-programs access:
    In the startup phase it is possible with a DOS program to change the actual configuration. Again fixed addresses may be placed into the driver.
  4. Other Systems:
    Of course in these systems an emulation is not possible. Also a configuration is not an option. Nevertheless VSSHOW is an essential part of the configuration.
    The BIOS assigns resources dynamic to ISA-PnP and to PCI cards. But as long as the equipment (and configuration) of the computer remains unchanged, the PCI cards receive the same resources again and again. Now it is necessary to get exactly this information. These values are given to the drivers of the system, to control the ports.
    1. First the computer is booted in the final equipment and configuration, by a borrowed DOS-Disc. This is necessary, because only in DOS the program VSSHOW can operate reliable.
    2. Next VSSHOW is started from this disc. Now the program detects the VScom PCI board and displays the actual configuration. Please note these values. ATTENTION: all ports utilize the same IRQ, this is a must!
    3. The computer is started again, now direct into the target Operating System.
    In this environment the drivers are configured to support more ports. ATTENTION: this process differs from system to system. Therefore we only can give general hints.

Examples:

  1. Windows (f. WG) 3.11:
    This system belongs to category 2). The configuration is done in the AUTOEXEC. Unfortunately the standard driver only supports 4 ports, and no IRQ-sharing. VS offers a special driver, supporting 8 ports and also IRQ-sharing. More details in the explicit examples below.
  2. Novell Netware (Server):
    This systems starts from DOS, but emulation of hardware is not possible. It belongs also to 2). The built-in drivers support more ports, but not with shared interrupts. It is only possible to use one port per board. The address of the port may be configured with VSPCIDOS.
  3. Unix (e.g. SCO):
    Belongs to category 3). VS recommends to use the driver of the Hostess-cards, this is available in the normal software, see below.
  4. OS/2:
    As far as we know this belongs to 3). But changing of addresses can not happen early enough to reconfigure successful. But fortunately the actual configuration is readable in OS/2, using VSSHOW. The built-in driver only supports 4 ports without IRQ-sharing. There is an alternative from the shareware scene, named SIO.SYS. VS does not deliver this driver. More information in separate instructions.

DOS:
When the computer is switched on, all PCI- and ISA-PnP-cards become configured. As far as possible resources are assigned. Especially the cards of VScom xxx PCI series become configured completely. Hereby the standard addresses for serial and parallel ports are not assigned. These are reserved for old legacy hardware. As a consequence the BIOS at system start only finds those interfaces available on the mainboard. The necessary changes at the card an in the system are done by a program from VS: VSPCIDOS.
Assumption: In the computer the only interfaces are those on the mainboard. A VScom 210 PCI is intended to operate as additional COM3, COM4 and LPT2. The VGA card is from Cirrus Logic, thus there are no problems involved with the address 02E8h. The serial ports shall operate with compatible speed, i.e. max. 115200bps.
Then only one entry is necessary in the AUTOEXEC.BAT:
 C:\VSPCIDOS compatch=0x3E8,0x2E8 lptpatch=0x278
This entry configures the ports to be on the intended addresses, and it fulfils what the BIOS could not do at system start. Especially the configuration of LPT2 is necessary, to enable DOS and BIOS for printing. DOS and BIOS do not care about IRQ's. The program VSPCIDOS displays the actual IRQ, assigned by the system. Unfortunately this can not be changed, and all interfaces received the same IRQ. Terminal programs must be configured to the correct value.

Windows (for Workgroups) 3.1x:
Assumption 1: The VScom 210 PCI from the DOS example above is intended to be used in Win 3.11.
 The AUTOEXEC.BAT must be changed as described above. Now the configuration of the hardware is known. The parallel interface can immediately be used by printers. The serial ports must be configured in the control panel (in "ports"). The correct IRQ must be inserted, instead of the standard values.
 Unfortunately the driver of Win 3.11 is not able to support multiple interfaces with IRQ-Sharing. The ports operate the correct way, but they can not be used simultaneously. VS offers a driver for Win 3.11, which allows this feature: in Internet at http://www.VisionSystems.de
Assumption 2: Instead of the VScom 210 PCI a VScom 400 PCI shall be used. For faster data transmissions a higher baud rate than 115200bps shall be possible. Additionally the computer already has an internal modem at address 03E8h (as COM3) with IRQ 5. This is already detected by the BIOS as third serial port.
 This configuration is not easy to build. Changing of addresses is not available with the H-series. In effect now this is a system belonging to category 3). So one must call VSSHOW once. This displays the addresses and the IRQ of all four ports.
There is no sense to name the first port as COM4. The serial ports can only be used in Windows, DOS programs must not use them.
The same driver as above is to be installed. It allows up to 8 ports in Win 3.11, as well as IRQ-Sharing at the serial ports. The internal modem is already known as COM3, the new interfaces can be installed as COM4 to COM7 (or COM5 to COM8 if preferred). Because these operate at a higher clock the application must be aware of this. When an application requests a certain speed, always the 8 times higher value will be used (9600 instead 1200). The user or the programmer must obey this situation. The driver is not prepared to handle this, and it can not be changed.

Unix:
Assumption: a VScom x00 PCI is to be used. In Unix it is not possible, to run DOS-programs in the start sequence. At least these programs will not have hardware access. Thus the card can not be configured to certain addresses. The BIOS assigns resources, and these must be used.
 First the card is inserted in the computer. Next one borrows a bootable floppy disc with MS-/PC-/DR-/Novell-/Caldera- or a similar DOS. After booting the computer from this disc VSSHOW is started. This is a one-time operation. The program then displays the actual configuration. This configuration is the same on every boot, as long as the hardware configuration of the computer remains unchanged. Example:

VScom 800 PCI
VS PCI 800 found at bus 0, device nr. 17 func 0
IRQ = 9
Speed: HIGH
Com port 1: 0x6000
Com port 2: 0x6008
Com port 3: 0x6010
Com port 4: 0x6018
Com port 5: 0x6020
Com port 6: 0x6028
Com port 7: 0x6030
Com port 8: 0x6038
VScom 800H PCI
VS PCI 400H found at bus 0, device nr. 19 func 0
IRQ = 9
Speed: HIGH
Com port 1: 0x6200
Com port 2: 0x6208
Com port 3: 0x6210
Com port 4: 0x6218
VS PCI 400HF1 found at bus 0, device nr. 19 func 1
IRQ = 9
Speed: HIGH
Com port 1: 0x6400
Com port 2: 0x6408
Com port 3: 0x6410
Com port 4: 0x6418
VScom 200L PCI
VS PCI 200L found at bus 0, device nr. 20 func 0
IRQ = 9
Speed: HIGH
Com port 1: 0x6700
Com port 2: 0x6800

 These informations are only excerpts. With the VScom 200 PCI each UART has its own address range. In opposite at the VScom 800 PCI all ports are located sequentially, starting from address 06000h. These informations must be written down.
 Remaining is the installation into the Unix. To use the 4- and 8-port boards it is best to use the Hostess-driver. This driver needs two informations, base address and IRQ. There is an instruction for OS/2, with informations how to change the speed from High (14 MHz) to standard (1.8 MHz), as the new power-on default. This is an option on certain boards.


Calling parameters of the utilities

Run VSSHOW:

VSSHOW is called without parameters. It displays all installed PCI boards from VScom. Also IRQ and addresses of each port are displayed.

Run VSPCIDOS:

VSPCIDOS may be started with or without parameters. Without parameters it integrates detected ports into the BIOS (and into the DOS this way). Parameters may be used to control this process. Additionally all addresses and IRQs are displayed.
VSPCIDOS <options>
The <options> are:

usecom=n[,n]
List of COM-numbers to be installed. Default is all available numbers. Possible values are 1, 2, 3 and 4.
uselpt=n[,n]
List of LPT-numbers to be installed. Default is all available numbers. Possible values are 1, 2, and 3.
nocom=n[,n]
List of COM-numbers to be ignored
nolpt=n[,n]
List of LPT-numbers to be ignored
compatch=<adr1>[,<adr2>]...
List of addresses, where the serial ports shall be configured to. This requires a new configuration of the PCI-bridge. Use on your own risk.
lptpatch=<adr1>[,<adr2>]...
List of addresses, where the parallel ports shall be configured to. This requires a new configuration of the PCI-bridge. Use on your own risk.

Run VSEMUIO:

 VSEMUIO must be started before a program based on the configuration. It is best to do this in the AUTOEXEC.BAT startup file. Requires: EMM386 to be loaded in CONFIG.SYS.
These boards are supported:
VScom 010,010H,010L, 020,020L, 100H,100L, 110H,110L, 200,200H,200L, 210,210H,210L, 400,400H,400L, 800,800H,800L PCI.
VSEMUIO requires a configuration file, holding the values detected by VSSHOW. VSEMUIO vsemuio.cfg
vsemuio.cfg may be omitted or replaced by a file with another name.
The program is very sensitive to the syntax. Each line in the configuration file describes the parameters of one port. Empty lines are not allowed.
Configuration line of a serial port:
S,<real io>,<virtual io>,<virq>,<clock>,<com number>
real io
is the actual I/O-address of the port on the VScom board.
virtual io
on which address is the port to be virtualised.
virq
which IRQ shall be virtually used by this port.
clock
is equivalent to the factor the port is faster compared with a standard port. Integer numbers are allowed here, however only the values 1, 2, 4 und 8 bring up a useful configuration.
com number
number of the COM- port, as which the virtualised port has to be integrated into the BIOS.
Example for COM3 and COM4:
S,D400,03f8,4,8,1
S,D408,02f8,3,8,2
 
Parallel Ports:
P,<real io>,<virtual io>,<lpt number>
<real io>
is the actual I/O-address of the port on the VScom board.
<virtual io>
on which address is the port to be virtualised.
<lpt number>
number of the LPT- port, as which the virtualised port has to be integrated into the BIOS.
Example for LPT 2:
P,DC00,0278,2

Remarks: It is not guaranteed the application will operate in this virtual environment.



VS Vision Systems GmbH      
         Aspelohe 27 A               
         D-22848 Norderstedt         
         Fon : +49 40 528401-0       
         Fax : +49 40 528401-99      
         http://www.visionsystems.de 
         Mail: info@visionsystems.de