[ Article crossposted from comp.os.linux.setup ]
[ Author was root ]
[ Posted on 29 Oct 1995 17:43:46 GMT ]
I have this really neat 8 port serial / 2 port printer device that
says "AT&T IPC 802" on the case.
It has a 16 bit interface card with 10 small chips on it and two 8
switch blocks. It has an IRQ jumper bank with IRQ15,14,12,11,10,7,
6,5,4,3,2 positions and a 37 pin connector that runs to the I/O box.
The box is about 11 x 17 inches and 1 inch thick with 8 serial rs232c
and 2 parallel 25 pin connectors. This unit is boldly labled "AT&T
INTELLIGENT PORTS CARD", "IPC 802".
I was just going to throw it out 'till I opened it to find 2 Z80 CPU's,
128K of 12ns ram and several support chips. I know it's not super high
tech but it should be able to rune the 8 serial lines pretty well...
I don't have the original docs for it but I have the disks with the
DOS drivers :(
Inside the box I found information on the board indicating the original
manufacturer. CTC Systems, INC. P/N 30200A Gemini-10 871107.
I have looked at all the drivers that come with the linux source and
have looked at sunsite for other drivers that may work. I even
tried the cyclades just for kicks (No luck).
Any help finding a driver or docs or a contact for CTC Systems would
be very helpfull.
Here is what the dos read.me says on the disk:
AT&T IPC-900/802 Intelligent Ports Card MSDOS Driver Installation
[C] Copyright CTC Systems, Inc. 1987, 1988, 1989
[C] Copyright AT&T 1987, 1988, 1989
All rights reserved
There are 13 files on this diskette.
READ.ME -> What you are reading now. This file is only
an abstract of the IPC User's Guide. For detail
information please refer to the IPC User's Guide.
IPC.DRV -> DOS device driver for IPC900/802 with default
controller memory start address mapped at
0D0000h, the Base I/O address mapped at 290h,
default board type is IPC900.
GMODE.EXE -> Change IPC900 BAUD rate and data bits,
parity bits, etc.
TEST.PAT -> A short output zig-zag walking test pattern
LONGTEST.PAT -> A long output zig-zag walking test pattern
CTEST.BAT -> A diagnostic program
SPIOTEST.BAT -> Another diagnostic program
TES.EXE -> A special program used by the diagnostic program
TES2.EXE -> A special program used by the diagnostic program
TESTS -> A special file used by the diagnostic program
CHARSET -> A special file used by the diagnostic program
MASTER -> A special file used by the diagnostic program
WAIT -> A special file used by the diagnostic program
To load the IPC.DRV, you must:
1. Modify (or create) the CONFIG.SYS file on your boot disk to include:
the "options" is up to four groups of /<IO addr>,<ram addr>,<board type>,
(board type = 0 for IPC900 and 1 for IPC802)
DEVICE=IPC.DRV /290,D0000,0 /2A0,D2000,1 /2B0,D4000,1 /2C0,D6000,0
specifies four IPC boards installed.
The configuration of the IPCs is as follows:
BOARD # I/O ADDRESS ON-BOARD RAM ADDRESS TYPE PORTS AVAILABLE
1 290 (HEX) D0000 (HEX) IPC900 SIO1 - SIO8
2 2A0 D2000 IPC802 SIO9 - SIO16,PPO3,PPO4
3 2B0 D4000 IPC802 SIO17 - SIO24,PPO5,PPO6
4 2C0 D6000 IPC900 SIO25 - SIO32
The first and the fourth boards are IPC900 where the second and the third
one are IPC802. If omitted, then the default is one IPC900 board with
factory address setting (/290,D0000).
2. Copy the IPC.DRV file to the root directory of your boot disk.
3. Re-boot your system.
Once IPC.DRV is loaded, you can use the Serial Input Output ports or the
Parallel Printer Output ports (IPC802 only) on the IPC board as if they
were files with file names SIO1, SIO2, ..., SIO32, and PPO1, PPO2, ..., PPO8
To change the BAUD and data format of the Serial Input Output ports, use the
command GMODE. GMODE uses simular syntax as the DOS command MODE. e.g.
where the serial I/O port SIO3 has been programmed to the
following parameter: 1200 baud, EVEN parity, 7 Data Bits per
Character, and 2 Stop Bits per character.
redirects the output to the parallel output port LPT1 to IPC serial port
restores the parallel output port LPT1
4. To output any ASCII data to any one of the 40-ports:
COPY filename SIO1
COPY filename SIO2
COPY filename SIO32
COPY filename PPO1 (IPC802 only)
COPY filename PPO2
COPY filename PPO8
5. To input from any serial I/O ports (PPOx are output Parallel Printer ports
COPY SIO1 filename
COPY SIO2 filename
COPY SIO32 filename
Note: any input typed on the CRT terminal corresponding to
the SIOx port will not echo on the CRT Terminal screen. The
file specified by the filename must be closed by enter a Ctrl-Z
from the CRT Terminal keyboard.
6. To make one of the SIOx ports as the PC console input & output
7. To switch the console functions back to the PC Monitor &
Keyboard by entering the following on the CRT Terminal keyboard:
8. To access the IPC from application programs by first
open SIOx or PPOx as a file with appropriate parameters such as
input sequential, output sequential, Random Access, etc. to
obtain a file ID. At any time when accesses to these ports are
needed, the file READ and file WRITE statements can be used. And
of course the same ports have to be CLOSED at the end as well.
9. One can also access the Serial Input Output ports (SIOx) through BIOS INT
14H calls. Follow the same protocals as the COM1 and COM2 BIOS INT 14H calls
with the following exception:
a. DL=80H for the first IPC board, DL=81H, 82H, or 83H for the second,
third or fourth IPC board respectively. COM1 and COM2 can still be
accessed with DX=0000H and 0001H respectiovely.
b. DH=0 for the first serial port on the selected IPC900 board, DH=1, ..., 7
for the second through eighth serial port on the selected IPC board.
DX=0080H -> SIO1 DX=0180H -> SIO2 DX=0280H -> SIO3 DX=0380H -> SIO4
DX=0480H -> SIO5 DX=0580H -> SIO6 DX=0680H -> SIO7 DX=0780H -> SIO8
DX=0081H -> SIO9 DX=0181H -> SIO10 DX=0281H -> SIO11 DX=0381H -> SIO12
DX=0481H -> SIO13 DX=0581H -> SIO14 DX=0681H -> SIO15 DX=0781H -> SIO16
DX=0082H -> SIO17 DX=0182H -> SIO18 DX=0282H -> SIO19 DX=0382H -> SIO20
DX=0482H -> SIO21 DX=0582H -> SIO22 DX=0682H -> SIO23 DX=0782H -> SIO24
DX=0083H -> SIO25 DX=0183H -> SIO26 DX=0283H -> SIO27 DX=0383H -> SIO28
DX=0483H -> SIO29 DX=0583H -> SIO30 DX=0683H -> SIO31 DX=0783H -> SIO32
c. Returned Status does not reflect real-time status of the UART due to
hardware differences and the use of on-board input and output buffers.