CHAPTER  3   PCCOM INSTALLATION
The PCCOM.SYS is used to install device drivers for serial communication port. User may specifies I/O port address, baud rate, interrupt vector ... etc. for different hardware configuration. To setup PCCOM complete the following steps:
STEP 1:
Insert your serial communication adapter and connect communication
cable.
STEP 2: Start the computer.
STEP 3: Use PCCOM.SYS program to install device driver and setup different communication protocol .
You must insert PCCOM.SYS commands to the CONFIG.SYS file, which will install device driver automatically when computer is booted.

3.1 Device Driver Installation
The PCCOM.SYS program is used to install device driver. To install PCCOM device driver, please write the following command format into CONFIG.SYS file.

DEVICE = PCCOM.SYS @filename
        
Prefix symbol to specify configuration file.

filename
Configuration file, which is used to specify hardware configuration of the system.

EXAMPLE 3.1.1
DEVICE = PCCOM.SYS @c:\pccom.opt
Set up device driver which is specified by c:\pccom.opt file.
Back
3.2 Hardware Configuration Specification
To specify hardware configuration, you must follow the PCCOM set up syntax. In  this section, we only introduce how to write the hardware configuration file, more details syntax specification please see the APPENDIX C. In the hardware configuration file, three directives must be used.

/B:portno   /D:devicename  /A:setup
/B:portno
    Specify the first port number.

/D:devicename
    Specify the first device name.

/A:setup
    Set up communication parameters and hardware configuration.
Most important thing is to describe /A: directive, now let's introduce in the following. In order to familiar how to set up, we give some examples first.

EXAMPLE 3.2.1
Suppose we install one 4 port card, its port no is defined from 4, its device name is defined from COM5. Hardware configuration is specified as
Port no. = 4, 5, 6, 7
Device name = COM5, COM6, COM7, COM8
Interrupt request = 5
Port address = 2A0, 2A8, 2B0, 2B8
Interrupt vector = 2BF
Interrupt vector action = Active LOW

Communication parameters
port no.
4
5
6
7
port address
2A0
2A8
2B0
2B8
ring buffer
1K
512
256
128
baud rate
9600
9600
9600
9600
parity
none
none
none
none
data bit
8
8
8
8
parity bit
1
1
1
1
modem control
DTR
DTR
DTR
none

RTS
RTS
RTS


OUT2
OUT1


flow control
XON
XON
XON
XON

Then the hardware configuration file is defined as:

#bios port no = 4, 5, 6, 7
/B:4

#dos device name = COM5, COM6, COM7, COM8
/D:COM5

/A:[5:
      2A0,4,2BF,LO:
           (1k :9600:N-8-1:DTR+RTS+OUT2:XON),
           (512:9600:N-8-1:DTR+RTS+OUT1:XON),
           (256:9600:N-8-1:DTR+RTS:XON),
           (128:9600:N-8-1::XON)]
Where # is comment. Each IRQ control one set of ports and was enclosed by [  ] block. Communication parameters for each port is enclosed by (  ) block.

EXAMPLE 3.2.2
Suppose we install one 8 port card, hardware configuration is specified as
Port no. = 0, 1, 2, 3, 4, 5, 6, 7
Device name = COM5, COM10, COM11, COM12
COM13, COM14, COM15, COM16
Interrupt request = 5
Port address = 280, 288, 290, 298,
2A0, 2A8, 2B0, 2B8
Interrupt vector = 2C2
Interrupt vector action = Active LOW

Communication parameters
port no.
0
1
2
3
port address
280
288
290
298
ring buffer
1K
1K
1K
1K
baud rate
4800
4800 4800 4800
parity
even
even
even
even
data bit
7
7
7
7
parity bit
2
2
2
2
modem control
DTR DTR DTR DTR

RTS
RTS RTS RTS
flow control
DTR DTR DTR DTR

port no.
4
5
6
7
port address
2A0
2A8
2B0
2B8
ring buffer
2K
2K
2K
2K
baud rate
4800 4800 4800 4800
parity
none
none
none
none
data bit
8
8
8
8
parity bit
1
1
1
1
modem control
DTR DTR DTR DTR

RTS RTS RTS RTS
flow control
XON
XON
XON
XON

Then the hardware configuration file is defined as:
#bios port no = 0, 1, 2, 3, 4, 5, 6, 7
/B:0           

#dos device name = COM5,  COM10, COM11, COM12
#                  COM13  COM14, COM15, COM16
/D:COM5, COM10 

/A:[5:
       280,8,2C2,LO:
             (1k:4800:E-7-2:DTR+RTS:DTR) * 4,
             (2k:4800:N-8-1:DTR+RTS:XON) * 4]

EXAMPLE 3.2.3
Suppose we install 16 ports, hardware configuration is specified as
Port no. = 8, 9, 10, 11, 12, 13, 14, 15, 16,  17, 18, 19, 20, 21,  22, 23
Device name = COM1, COM3, AAA2, AAA3, AAA4, AAA5, AAA6, AAA7,
       AAA8, AAA9, AAA10, AAA11, AAA12, AAA13, AAA14,
       AAA15
Interrupt request = 15
Port address = 280, 288, 290, 298, 2A0, 2A8, 2B0, 2B8, 180, 188, 190, 198,
      1A0, 1A8, 1B0, 1B8,
Interrupt vector = 2C2, 1C2
Interrupt vector action = Active LOW

Communication parameters
port no.
8
9
10
11
port address
280
288
290
298
ring buffer
1K
1K 1K 1K
baud rate
2400
2400 2400 2400
parity
none
none none none
data bit
8
8
8
8
parity bit
1
1
1
1
modem control
DTR DTR DTR DTR

RTS
RTS RTS RTS
flow control
RTS RTS RTS RTS

port no.
12
13
14
15
port address
2A0
2A8
2B0
2B8
ring buffer
1K 1K 1K 1K
baud rate
2400 2400 2400 2400
parity
none none none none
data bit
8
8
8
8
parity bit
1
1
1
1
modem control
DTR DTR DTR DTR

RTS
RTS RTS RTS
flow control
DTR DTR DTR DTR

port 16 to port 23 are set to 1K bytes buffer, baud rate is 2400, none parity, 8 data bits, 1 stop bit, modem control flow are DTR+RTS,  flow control is XON, and its port address start from 180 to 1B8, interrupt vector is 1C2, which was active low.
Then the hardware configuration file is defined as:
#bios port no= 8,  9, 10, 11, 12, 13, 14, 15,
#             16, 17, 18  19, 20, 21, 22, 23
/B:8   

#dos device name= COM1, COM3, AAA2,  AAA3,
#                 AAA4, AAA5, AAA6, AAA7,
#                 AAA8, AAA9, AAA10, AAA11,
#                 AAA12, AAA13, AAA14, AAA15
/D:COM1, COM3, AAA2

/A:[15:
     280,8,2C2,LO:
            (1k:2400:N-8-1:DTR+RTS:RTS),
            (1k:2400:N-8-1:DTR+RTS:RTS),
            (1k:2400:N-8-1:DTR+RTS:RTS),
            (1k:2400:N-8-1:DTR+RTS:RTS),
            (1k:2400:N-8-1:DTR+RTS:DTR) * 4 :
     180,8,1C2,LO:
            (1k:2400:N-8-1:DTR+RTS:XON) * 8]

EXAMPLE 3.2.4
Port no. = 8, 9, 10, 11, 12, 13, 14, 15, 16,  17, 18, 19, 20, 21, 22, 23
Device name = COM1, COM3, AAA2, AAA3, AAA4, AAA5, AAA6, AAA7,
       AAA8, AAA9, AAA10, AAA11, AAA12, AAA13, AAA14,
       AAA15
Interrupt request = 5,7
Port address = 280, 288, 290, 298, 2A0, 2A8, 2B0, 2B8, 180, 188, 190, 198,
                      1A0, 1A8, 1B0, 1B8,
Interrupt vector = 2C2, 1C2
Interrupt vector action = Active LOW
port 8 to port 15 are set to 1K bytes buffer, baud rate is 1200, non parity, 8 data bits, 1 stop bit, modem control flow are DTR+RTS, flow control is XON, and its port address start from 280 to 2B8, interrupt is 5, interrupt vector is 2C2, which was active low.
port 16 to port 23 are set to 1K bytes buffer, baud rate is 1200, non parity, 8 data
bits, 1 stop bit, modem control flow are DTR+RTS, flow control is XON, and its port address start from 180 to 1B8, interrupt is 7, interrupt vector is 1C2, which was active low.
Then the hardware configuration file is defined as:
#bios port no= 8,  9, 10, 11, 12, 13, 14, 15,
#             16, 17, 18  19, 20, 21, 22, 23
/B:8   

#dos device name= COM1, COM3, AAA2,  AAA3,
#                 AAA4, AAA5, AAA6, AAA7,
#                 AAA8, AAA9, AAA10, AAA11,
#                 AAA12, AAA13, AAA14, AAA15
/D:COM1, COM3, AAA2

/A:[5:
      280,8,2C2,LO:
            (1k:1200:N-8-1:DTR+RTS:XON) * 8],
   [7:
      180,8,1C2,LO:
            (1k:1200:N-8-1:DTR+RTS:XON) * 8]

EXAMPLE 3.2.5
Install standard COM1 and COM2.
/B:0   

/D:COM1

/A:[4:
      3F8,1,0,HI:
          (8k:9600:N-8-1:DTR+RTS+OUT2:XON)],
   [3:
      2F8,1,0,HI:
          (8k:9600:N-8-1:DTR+RTS+OUT2:XON)]
Back
3.3 Some Constraints
In the hardware configuration file, each set owns one interrupt, which is enclosed by [   ] block, and each set controls either 1 port, 2 ports, 4 ports, 8 ports, 16 ports, or 24 ports, which is enclosed by (  ) block. Up to 8 sets can be set in one computer system, and total support up to 64 serial ports. In the following, we describe some constrains when set up communication parameters.
device name
Begin with a letter and must consist only letters and digits. Its length can not more than 8.

interrupt
Interrupt will be one of 2, 3, 4, 5,  6, 7, 10, 11, 12, 14, 15.

interrupt vector
Interrupt vector will be any legal address or set to 0 means need not interrupt vector.

interrupt activation
Using HI or LO to set up active high or active low. If interrupt vector not be used, this filed is ignore.

buffer size
The maximum size for one port is 32KB, and one set can not be allocated more than 64KB. However, the size of total buffer used in driver can be larger than 64 KB.

baud rate
Baud rate can be any valid value in serial communication protocol.

parity
Either E, O, N can be selected which means even, odd, none parity.

data bit
Either 5, 6, 7, 8 data bits can be selected.
   
stop bit
Either 1 or 2 bits can be selected.

modem control
You can choice communication protocol you need. Multiple protocol are allowed to set in on port. DTR (Data Terminal Ready), RTS (Request To Send), OUT1, and OUT2 can be selected. If you ignore this field, it means you need not modem control.

flow control
Multiple protocol are allowed. It supports hardware handshaking which are DTR and RTS, and software handshaking XON. If you ignore this field, it means you need not flow control.

#
Begin in column one to specify as comments.

More detail syntax specification was specified in appendix C and communication parameters was introduced in appendix B.