home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
High Voltage Shareware
/
high1.zip
/
high1
/
DIR10
/
ZMOD19_4.ZIP
/
ZMODEM.DOC
< prev
next >
Wrap
Text File
|
1993-06-25
|
53KB
|
1,296 lines
Zmodem Rev 16.01
Copyright (c) 1989, 90, 91, 92, 93
By
International TeleCommunications
ALL RIGHTS RESERVED
Table Of Contents
i
Limited Warranty .......................................... Page 1
Distribution Policy And Copyright ......................... Page 1
Copyright .............................................. Page 1
-- Test-Drive Distribution Policy -- ................... Page 2
Introduction .............................................. Page 2
Zmodem Command Line Switches .............................. Page 3
/S ..................................................... Page 3
-T<d,w,o> .............................................. Page 4
/R ..................................................... Page 6
/U ..................................................... Page 6
/F ..................................................... Page 6
@ ...................................................... Page 7
/K ..................................................... Page 7
/N ..................................................... Page 8
/P ..................................................... Page 8
/V ..................................................... Page 8
/B ..................................................... Page 8
/L ..................................................... Page 9
Environment Lock Variable ........................... Page 9
Required Switches ......................................... Page 9
Your Receive Batch File ................................ Page 10
Send Batch File ........................................ Page 10
Error Levels .............................................. Page 10
Bbs/Terminal Programs ..................................... Page 10
Serial Drivers And Multi-Port Cards ....................... Page 11
Intelligent Multi-Port Stargate ........................ Page 11
Intelligent Multi-Port Arnet ........................... Page 12
Intelligent Multi-Port Digiboard ....................... Page 12
Fossil ................................................. Page 13
Non-Intelligent Serial Cards ........................... Page 13
Non-Intelligent Digiboards ............................. Page 13
Setting Up The Digi Pc/4 Board ..................... Page 14
Setting The Jumpers .............................. Page 14
Multi-Board Connectors ........................... Page 15
Dip Switches ..................................... Page 15
Setting Up A Digiboard Pc/8 ......................... Page 16
Setting The Jumpers .............................. Page 16
Multi-Board Connectors ........................... Page 17
Dip Switches ..................................... Page 17
Setting Up The Digiboard Pc/16 ...................... Page 18
Non-Intelligent Stargate ............................... Page 20
Non-Intelligent Ast .................................... Page 20
Non-Intelligent Boca ................................... Page 21
8259 Interrupt Management ................................. Page 21
Zmodem License ............................................ Page 22
Zmodem Technical Reference Manual Page 1
Limited Warranty
This products provided "as is" without warranty of any
kind. The entire risk as to the results and performance of
the program is assumed by you. Should the program prove
defective, you (and not International TeleCommunications )
assume the entire cost of all necessary servicing, repair or
correction. Further, International TeleCommunications does
not warrant, guarantee, or make representations regarding the
use of, or the results of the use of this program in terms of
correctness, accuracy, reliability, currentness, or
otherwise; and you rely on the program and its results
solely at your own risk. International TeleCommunications
cannot accept responsibility for system damage, loss of
profit, or any other special, incidental, or
consequential damage resulting from the use or inability
to use this product.
International TeleCommunications DOES warrant to the
original licensee of a REGISTERED product that the program
disk(s) on which the program is recorded be free from
defects in materials and workmanship under normal use and
service for a period of ninety (90) days from the date
of delivery as evidenced by a copy of your receipt.
International TeleCommunications' entire liability and your
exclusive remedy shall be replacement of the disk not
meeting International TeleCommunications Limited Warranty.
Distribution Policy And Copyright
Copyright
Despite the method of marketing, Zmodem is not in the
public domain. It is the proprietary property of
International TeleCommunications. All rights are
reserved. Copying, duplicating, selling or
otherwise distributing this product except as
expressly permitted in the TEST-DRIVE Distribution
Policy below is a violation of the Law. However,
we grant you the right, in fact encourage you to make
and distribute as many copies of this TEST-DRIVE
version as you wish, using any acceptable
medium of exchange, with the following provisions:
Zmodem Technical Reference Manual Page 2
-- Test-Drive Distribution Policy --
1. Please feel free to distribute this TEST-DRIVE version as
often as you like, to any interested parties.
2. Please do not distribute the program without all of its
original related files, addendum files, and documentation.
3. Please obtain our written permission prior to distribution
with any "Bundled" software packages.
4. Please do not accept payment for the program; a copying fee of
$10.00 per diskette may be charged when distributed by a
non-profit user-group.
5. Please do not alter the program or documentation in any
manner.
6. NOTE - Individuals, groups, vendors, or other software
distribution companies which market diskettes containing
the TEST-DRIVE programs for profit must obtain written
permission from International TeleCommunications prior to
distribution.
Introduction
Zmodem.exe is a full function stand alone Zmodem
protocol driver.
Zmodem.exe offers exceptional fast Zmodem file transfers
and it fully supports ZSKIP, Resume interrupted
Transfers, 32 and 16 bit CRC error detection, 8259
interrupt management, and a wide range of intelligent
and non-intelligent serial cards (also support Fossil
and has an internal driver).
Zmodem.exe is one of the fastest (we've been told)
Zmodem drivers you are likely to find.
It is the only stand alone zmodem driver that offers
support for such a WIDE range of serial card as well as
8259 interrupt managment (faster transfers).
Zmodem Technical Reference Manual Page 3
Zmodem Command Line Switches
Each switch must be preceded by either a forward slash '/'
or a dash '-'.
O Should Always Be Used With Osiris BBS.
V Engage ANTI-PMS Screen, For Use With Osiris BBS Only.
S Use RTS flow control.
K Keep Aborted Transfers.
@ Use Send Control File.
U Place Uploads In This Directory.
R Receive Files
N Osiris Node Number, Osiris BBS Only.
L Lock Serial Rate.
B Connect Baud Rate.
P Serial Port.
F Send These Files.
T Time Slicing.
/S
9600 bps and higher
Slow Computer
If you have a high speed modem you MUST have a 16550
Uart. Attempting to run at high speeds without one will
result in errors.
You might sneak by without a 16550 if you have a fast
386, or 486.
A good way to check is by watching your transfers. If
you are under an error correcting connect, then you
should almost NEVER get an error reported by ANY
transfer protocol.
Getting errors reported (by ANY transfer protocol)
while under MNP or ARQ can only mean.
1. The protocol goofed (Zmodem doesn't goof).
2. You may have another application interfering
with serial interrupts.
3. You have hardware problems.
4. You do not have a 16550 Uart.
If you have a 16550 installed, then you can rule out
number four and that leaves you with two or three.
If you have a multi-tasker or a network and a 16550 then
the network and/or multi-tasker is stealing to much time
and the 16550 fifo's are being over run.
Zmodem Technical Reference Manual Page 4
If you have a 16550 and NOTHING else that may interfere
with the serial interrupts, then you more than
likely have hardware problems.
If it is option 4, buy one and install it. 16550 uarts
cost about $20.00 and are WELL worth it.
Unless you have hardware problems, I can HELP you
by kicking in RTS flow control. This does slow down
transfers, but it is better to slow them DOWN than
experience errors.
If you have to, add /S to the command line. But only
use it if you HAVE to and only until you fix the
CAUSE of the problem.
-T<d,w,o>
This governs the TYPE of time slicing the protocol
driver will use. Leaving off the -T switch means no time
slicing.
D= Desqview or Topview
W= Windows
O= OS-2
E.g. -TD, -TW, -TO
While time slicing does reduce the drain on your CPU it
may, depending on the multitasker (OS-2, Windows,
Topview, or Desqview) and your hardware, greatly reduce
transfer rates.
Despite the term "Multitasking", multitasking is
impossible using a single CPU. The CPU can only process
a single instruction (2 integer instructions if the new
Intel P5 chip is used) at once. Multitasking with a
single CPU is nothing more than quickly swapping in and
out programs giving each a short period of time to run
before swapping in another one.
For instances, when Windows swaps away it freezes
everything in that windows and this includes ANY device
drivers or interrupt service routines. If you use the
internal serial driver, it to is frozen and cannot send
data that may be in the transmit buffer.
Zmodem Technical Reference Manual Page 5
While all multitaskers do this, some are more efficient
than others. Some will give interrupt services higher
priority than other tasks and allow them to use much
more CPU time. Even if the application only gets access
to the CPU once ever oh . . . 9 clock tics, interrupt
routines used by that application may get access to the
CPU every 2 clock tics. This is sometimes referred to as
multi-threading.
There are conditions when it doesn't matter how the
multitasker works. For instances, intelligent serial
cards.
If you have an intelligent serial card, it handles
sending the data and the multitasker does not stop it
from doing so by swapping out the window. In this case,
always use Time slicing.
Fossil drivers can sometimes get around this if they are
loaded BEFORE the multitasker. However, some
multitaskers will not allow dual access, from different
windows, to the fossil.
To determine if your system works better with or without
time slicing, testing is the only way.
Do uploads and downloads using time slicing and without
using time slicing. If you run a single node, compare
the transfer rates.
If you run multiple nodes, it gets more involved. After
getting the first set of figures, repeat the entire
process but make sure you have someone doing the uploads
and downloads on ALL nodes at once. THEN compare ALL the
transfer rates. Doing multiple transfers at once DOES
effect the outcome. You may find that while transfer
rates drop drastically with a single transfer, they may
actually go up when you have multiple transfers going at
once.
When you are doing the tests, keep in mind that transfer
rates WILL vary, but only a little bit. Look for the big
differences and don't worry about 1 to 3 percent.
Zmodem Technical Reference Manual Page 6
/R
Receive Files
When I encounter this switch, I will go directly
to receive files mode.
You MUST make sure that /R is the very last switch
used. If it is not, then you will be missing important
command line switches.
/U
Place inbound files in this directory
You can direct Zmodem to place inbound files in a
specific directory by using the /U command.
I will verify the directory you specified, so make sure
it is a VALID directory.
You cannot use Drive designators or ROOT directories
with the /U switch.
For instance, /UC: or /UC:\. C: and C:\ aren't
listed in the FAT and I cannot validate them.
Make sure you do NOT use a trailing backslash with
the /U path, I'll ADD a backslash when I concate the
file name with the path you specified.
E.g., d:\uploads\ is NOT valid, it should be d:\uploads
Here is a sample of a GOOD /U setting:
/UC:\TELIX\UPLOADS
/F
Send These Files
When I find the /F, I will immediately begin
sending.
YOU should make sure that you have listed ALL the
OTHER commands before using /F. Make sure you place ONE
blank space between the /F switch and the first
filename.
Place one blank space between ADDITIONAL files names, if
you have specified more than one. You may include a
drive and path with the file names.
Zmodem Technical Reference Manual Page 7
E.g., c:\uploads\file1.exe is a valid file name.
You can use the DOS wild card characters '?' and '*'. I
will expand those characters to match any file in
that directory.
I do not place limits on the number of files that
can FOLLOW /F, but DOS DOES! DOS restricts the
number of characters you can place on a command line
to 128.
DOS also limits you to nine batch parameter symbols,
%1 through %9.
@
I'll assume USE this file as a "SEND" control file.
e.g. -@D:\OSIRIS\SEND2.CTL
Since DOS forces me to work with 128 and nine batch
variables, using @ to send file names is the
preferred method of passing the names.
The information following @ is the full drive, path,
and file name of a TEXT file.
I do not place restrictions on the number of files
that you can have listed and you can include the full
drive, path, along with name of the file. You can
include DOS wild card characters, '?' and '*'.
E.g., C:\PCboard\Tlx310a.exe is valid.
E.g., C:\Telix\*.arj is valid.
Each line in the file must contain only ONE filename and
has to end with the DOS CR/LF sequence.
Sample Send Control File:
C:\DRIVERS\MPT110.ZIP
C:\DRIVERS\TMOD610.ARJ
C:\DRIVERS\ZMOD*.*
/K
Keep Aborted Transfers
If you drop carrier or time out, I will delete the
aborted file.
Zmodem Technical Reference Manual Page 8
If you're using Zmodem with a TERMINAL program, then
you will WANT to keep the file. Adding /K to your
Zmodem command line tells ME you want to keep aborted
transfers.
/N
Node Number
If you're running OSIRIS, you can include /Nx on
the command line.
E.g., /N1 /N2 /N3 . . . /N255
Add /N*N to your protocol command lines.
I'll display the callers name, city, and state at
the bottom of the screen, useful when you walk into the
room and WONDER who is currently downloading what.
/P
Com Port
You have to tell me which serial port your caller is
ON by including /Px on the command line.
E.g., /P1 /P2 /P3 . . . /P8
/V
Engage PMS Screening
This can ONLY be used on an OSIRIS system. This tells
me to allow Osiris to monitor the serial port with
its ANTI-PMS screening system.
/B
Connect Baud Rate
You have to provide the TRUE CONNECT RATE, most of the
time this is the same as your SERIAL baud rate.
e.g. /B1200 /B2400 /B9600
If you have a high speed modem with a FIXED serial rate,
the CONNECT rate may not always be the same, but that
doesn't change anything. You still should pass the
TRUE connect rate and not the SERIAL rate.
Zmodem Technical Reference Manual Page 9
/L
Lock Rate
This tells me you have a LOCKED Serial Port.
E.g.
/L38400
/L57600
/L19200
Environment Lock Variable
You can define an environment variable called
COMx=BaudRate. Replace x with the serial port
number and BaudRate with the LOCKED baud rate.
e.g. COM1=19200
Do NOT add blank spaces or comma's. Make sure you
use Upper Case.
You can do that in the AUTOEXEC.BAT file or in the
BATCH file you use to CALL Zmodem.
e.g.
cls
SET COM2=38400
Zmodem -B%1 -P%2 -R
Exit
Required Switches
Each Zmodem installation will require TWO switches. It does
not matter what type of BBS/Terminal program you're going to
use.
It does not matter if it is SEND or RECEIVE.
/Bxxxxx and /Px
You should replace xxxxx in the /B with the correct
CONNECT rate or 0. Replace the x in /P with the correct COM
port.
/B9600 /P2 (Connect Rate 9600, COM 2)
/B2400 /P1 (Connect Rate 2400, COM 1)
It is not important WHERE you place the switches, as long as
they are NOT the LAST switch used.
Zmodem Technical Reference Manual Page 10
Your Receive Batch File
Your Receive Batch file will require only one
additional switch, /R.
It MUST be the very last switch on the command line.
The MINIMUM command line for receiving would be:
Zmodem /B2400 /P1 /R
2400 and 1 can be supplied by DOS batch variables,
e.g. Zmodem /B%1 /P%2 /R
Other optional switches, /U . . . /K etc., must
be included BEFORE the /R switch.
Send Batch File
Your "SEND" batch file only "requires" ONE additional
switch, /F or -@.
The MINIMUM command line for sending a file:
/B2400 /P2 /F FILENAME#1 FILENAME#2 FILENAME#3
or
/B2400 /P2 -@CTRL_NAME
2400, 2, FILENAME#1, FILENAME#2, FILENAME#3, etc.
may be supplied by DOS batch variables.
E.g., Zmodem /B%1 /P%2 /F %3 %4 %5 %6 %7 %8 %9
Error Levels
I will exit, following the transfer, with an error level
of 0 or 1.
Zero, 0, indicates a successful transfer and one, 1,
indicates an error.
Bbs/Terminal Programs
I use a very basic command line setup which should allow
Zmodem to be used by almost any program. I do NOT expect that
it will work with EVERYTHING.
If you are using something that it will just flat not work
with then send it to me. You can upload it or mail it and I
will attempt to find out why.
Zmodem Technical Reference Manual Page 11
Serial Drivers And Multi-Port Cards
Zmodem supports Intelligent multi-port serial cards, non-
intelligent multi-port serial cards, fossils, and has an
internal serial driver (fastest method of dealing with the
serial port).
Zmodem defaults to the internal high speed driver, but you
can change the driver type by using the use the environment
variable COMDRV, ONLY AVAILABLE IN REGISTERED VERSION.
COMDRV=FOSSIL
{Intelligent Serial Cards}
COMDRV=STARGATE
COMDRV=DIGI
COMDRV=ARNET
{Non-Intelligent Serial Cards}
COMDRV=NDIGI
COMDRV=NSTARGATE
COMDRV=AST
COMDRV=BOCA
Intelligent Multi-Port Stargate
Load the Star Gate device driver, ACL.SYS, in your
config.sys. When your system boots, run ACLDL to
download your code.
Zmodem defaults to the 16 port with the I/O address of
0x200 at D000:000 starting at COM 5. If your hardware
doesn't match this, you'll need to create a SERIAL.CFG
control file in SAME directory that houses Zmodem.Exe or
re-configure your stargate board.
SERIAL.CFG for STARGATE Intelligent Multi-port Cards:
The first line of this file should contain 5 settings,
separated by a single space.
BOARD BOARD_SEGMENT PORT FIRST_PORT_NUMBER NUMBER_OF_PORTS
Board: Stargate board to use (0 - 3). This tells us
which board you want to use.
Board_segment: Segment of the Star Gate board's memory
window.
Zmodem Technical Reference Manual Page 12
Port: The Address of the board's I/O latch.
First_port_number: Name given to the first port on the
board (1,2,3,etc). The designation of the port number
for the first port on the board is arbitrary.
Number_of_ports: Number of ports on the board.
Example:
{SERIAL.CFG}
0 0xd000 0x300 4 8
Intelligent Multi-Port Arnet
When you load the Arnet device driver, port number
assignments are printed on the display. These are the
number you'd use for the zmodem serial port parameter.
Use the /N5 switch on ASP.SYS. If you do not use this
switch, attempts to set handshaking will result in an
error.
The files, box.bin and fastbios.bin, supplied with the
Arnet boards, must be in your root directory for this to
work properly. These files are used by ASP.SYS at boot
time.
Intelligent Multi-Port Digiboard
Run the Digiboard config. program (XIDOSCFG.EXE) which
asks you for the desired port numbers. Also, install the
device driver supplied with the board. You must also
complete the following steps:
1. Set up the board NOT to use interrupts.
2. Setup to support INT 0x14 for most drivers and EBIOS
for the XIDOS5 driver.
3. Change the configuration to enable ports, if your
driver requires it. Make sure "NONE" is the selected
handshaking for ports.
4. Reboot your system. During the boot, the driver
should respond with the message "successfully
initialized board".
Zmodem Technical Reference Manual Page 13
Fossil
Any fossil driver will work. See documentation that
comes with the fossil driver for details.
Non-Intelligent Serial Cards
Non-Intelligent boards frequently come with device
driver software. This software provides INT 14H access
to the UART on the board.
Do N O T use this software with Zmodem. Zmodem accesses
the hardware directly without the use of any external
drivers.
Non-Intelligent Digiboards
(COMDRV=NDIGI)
The Digiboard DigiCHANNEL PC/16, PC/8, and PC/4 are
multi-channel communications boards that provide a
serial communications subset for IBM and compatible
computers. Each of the boards supports full modem
control on each port. Up to two DigiCHANNEL PC/16, 4
PC/4 or PC/8 boards can be installed on a single
computer providing up to 32 additional ports.
To insure connection flexibility, 3 options are
available:
1. An I/O mate connection box with external connections.
2. An octopus cable with four or eight DB25 connectors.
3. An RJ45 connection box with eight RJ45 or RJ11
connectors.
The DIGI PC/4 and PC/8 addressing and interrupt
selection are flexibly and not limited to preset IRQs,
address, or address ranges. The user may set DIP
switches to select different status registers (DS1) and
I/O port addresses (DS2 - DS9), as well as setting
jumpers to select either one or two interrupts.
The DIGI PC/16 offers hardware jumpers for selecting an
interrupt and a PAL with preset I/O port and status
register addresses.
There are six possible system interrupts that may be
selected for the DIGI PC/X board: IRQ2 - IRQ7. However,
IRQ3 and IRQ4 are commonly reserved for standard COM1
and COM2 serial hardware.
Zmodem Technical Reference Manual Page 14
If multiple boards are installed in one system, each
board is given a unique I.D. such as board 0 and board 1
by setting the board ID jumpers. The status register and
IRQ of ALL boards can be set to the same values, and
the boards are daisy changed with special cables that
pass signals from the interrupt sequence. When daisy
chained, the boards are treated like one board. The
boards can also be setup independently on different
interrupts.
Setting Up The Digi Pc/4 Board
The COM/4 board has 4 serial interface ports,
individual address and interrupt settings, and two
8 bit status ports. It is preset and tested at the
factory at IRQ3; address 100, 108, 110, and 118;
status port ON, and set to address 140. Check your
system for any peripherals that may use either the
preset interrupt or addresses. If there is no
conflict, you can install the COM/4 board without
modifications. However, if you need to change
settings, details are provided below.
Setting The Jumpers
Jumpers 1-4 are used to choose the interrupt
for each individual port.
For odd interrupts IRQ3, IRQ5, or IRQ7 set the
shunt between pins 1 and 2 for the
corresponding jumper.
For even interrupts IRQ2, IRQ4, or IRQ6 set
the shunt between pins 2 and 3 for the
corresponding jumper. Ports 1 through 4 map
with jumpers 1-4 respectively.
J9 and J10 are used to set the board ID
number. The setting will depend upon which
board it represents. If more than one board
is used in the system, each board must be set
to a unique identification number. The first
board should always be set to 0. If you have
daisy changed more than one board, you will
use the board #s 1-3. The settings are as
follows:
Zmodem Technical Reference Manual Page 15
Board # J9 J10
------------------------------------------------------------
0 between pins 2 and 3 between pins 1 and 2
1 between pins 2 and 3 between pins 1 and 2
2 between pins 1 and 2 between pins 2 and 3
3 between pins 1 and 2 between pins 1 and 2
J85 through J90 are used to select which
interrupt the board will use. Set these
jumpers as follows:
IRQ# Jumper#
---------------------------
2 J90
3 J85
4 J89
5 J86
6 J88
7 J87
Multi-Board Connectors
P2 and P3 are jumpers used to daisy chain two
boards together using a special DigiBoard
cable. If you are only using one board, place
a shunt on pins 2 and 3 of both of these
jumpers. This is VERY important. Without this
shunt, no interrupts will be received.
Dip Switches
Address line A3 through A9 determine the port
address and are logic-selected on the DIP
switches for each port for switches DS3
through DS5. The DIP switches for each port
can be set to any NON-CONFLICTING address in
the I/O map from 0000H to 03FFH.
Switch positions 1-7 switch set the address of
each port. Position 1 corresponds to A9, 2=A8,
3=A7, 4=A6, 5=A5, 6=A4, 7=A3. Position 8 of
each switch enables or disables the port. We
recommend assigning consecutive port numbers
for easy of use.
The following table lists suggested address
and switch settings for the DigiBoard
DigiCHANNEL PC/4 board:
Zmodem Technical Reference Manual Page 16
Port# Base Dip Switch Settings
Address Switch 1 2 3 4 5 6 7 8
----------------------------------------------------------------
Status 140H DS1 ON OFF ON OFF ON ON ON ON
port
----------------------------------------------------------------
1 100H DS2 ON OFF ON ON ON ON ON ON
2 108H DS3 ON OFF ON ON ON ON OFF ON
3 110H DS4 ON OFF ON ON ON OFF ON ON
4 118H DS5 ON OFF ON ON ON OFF OFF ON
Position (Switch setting 8) enables or
disables the port where ON = enabled.
Setting Up A Digiboard Pc/8
The PC/8 board has eight individual ports,
individual address and interrupt settings and two 8
bit status ports.
The PC/8 board is preset and tested at the factory
using IRQ3; address 100, 108,110, 118, 120, 128,
130, and 138; status port ON and set to address
140.
Setting The Jumpers
Jumpers J1-J8 are used to choose the interrupt
for each port. For odd interrupt numbers
including IRQ3, IRQ5, or IRQ7, set the shunt
between pin 1 and 2 for the corresponding
jumper.
For even interrupts, set the shunt between
pins 2 and 3. All ports HAVE to use the same
interrupt to work properly. Ports 1 through 8
map to jumpers 1-8 respectively.
J9 and J10 are used to set the board ID
number. The setting will depend upon which
board it represents. If more than one board
is used in the system, each board must be set
to a unique identification number. The first
board should always be set to 0. If you have
daisy changed more than one board, you will
use the board #s 1-3. The settings are as
follows:
Zmodem Technical Reference Manual Page 17
Board # J9 J10
------------------------------------------------------------
0 between pins 2 and 3 between pins 1 and 2
1 between pins 2 and 3 between pins 1 and 2
2 between pins 1 and 2 between pins 2 and 3
3 between pins 1 and 2 between pins 1 and 2
J85 through J90 are used to select which
interrupt the board will use. Set these
jumpers as follows:
IRQ# Jumper#
---------------------------
2 J90
3 J85
4 J89
5 J86
6 J88
7 J87
Multi-Board Connectors
P2 and P3 are jumpers used to daisy chain two
boards together using a special DigiBoard
cable. If you are only using one board, place
a shunt on pins 2 and 3 of both of these
jumpers. This is VERY important. Without this
shunt, no interrupts will be received.
Dip Switches
Address line A3 through A9 determine the port
address and are logic-selected on the DIP
switches for each port for switches DS3
through DS5. The DIP switches for each port
can be set to any NON-CONFLICTING address in
the I/O map from 0000H to 03FFH.
Switch positions 1-7 switch set the address of
each port. Position 1 corresponds to A9, 2=A8,
3=A7, 4=A6, 5=A5, 6=A4, 7=A3. Position 8 of
each switch enables or disables the port. We
recommend assigning consecutive port numbers
for easy of use.
The following table lists suggested address
and switch settings for the DigiBoard
DigiCHANNEL PC/8 board:
Zmodem Technical Reference Manual Page 18
Port# Base Dip Switch Settings
Address Switch 1 2 3 4 5 6 7 8
----------------------------------------------------------------
Status 140H DS1 ON OFF ON OFF ON ON ON ON
port
----------------------------------------------------------------
1 100H DS2 ON OFF ON ON ON ON ON ON
2 108H DS3 ON OFF ON ON ON ON OFF ON
3 110H DS4 ON OFF ON ON ON OFF ON ON
4 118H DS5 ON OFF ON ON ON OFF OFF ON
5 120H DS6 ON OFF ON ON OFF ON ON ON
6 128H DS7 ON OFF ON ON OFF ON OFF ON
7 130H DS8 ON OFF ON ON OFF OFF ON ON
8 138H DS9 ON OFF ON ON OFF OFF OFF ON
Position (Switch setting 8) enables or
disables the port where ON = enabled.
Setting Up The Digiboard Pc/16
This board is, in most respects, the functional
equivalent of two DigiChannel PC/8 boards operating
together. The PC/16 features the same method of
interrupt sequencing in hardware, sparing the CPU
from having to POLL the individual ports. While the
PC/8 has several DIP switches and jumpers to set,
the PC/16 has all addresses set in the hardware.
Default values are set at IRQ3, UART base address =
100h, and status register = 140H.
To install the board, set the jumpers including the
board selection jumper and the IRQ selection
jumper.
Check other peripherals for conflicts with the pre-
set addresses. If a conflict occurs, you will HAVE
to change the I/O port on the OTHER device.
Connector Jumper P3 is used to daisy chain two
boards together using a special Digiboard cable. If
you are only using one board, place a shunt on this
jumper. It is located in the upper right-hand
corner of the board.
Interrupt Jumper J1 through J6 are used to select
which interrupt the board will use. Set the jumpers
as follows
Zmodem Technical Reference Manual Page 19
IRQ# Set the shunt at Jumper #
----------------------------------------
2 J1
3 J2
4 J3
5 J4
6 J5
7 J6
Set the BOARD I.D. Jumper J7 is used to number the
board if you have more than one cascaded.
For Board #0 set the shunt between pins 2 and 3.
For Board #1 set the shunt between pints 1 and 2.
Telling Zmodem about the non-intelligent digiboard board
requires you to create a SERIAL.CFG file in the same
directory that houses Zmodem.exe.
The first line of this file contains four fields,
separated by a single space.
<IRQ> <Shared_port_status> <First_Port_Number> <Port_Count>
<IRQ> The IRQ line used by this board 3-7.
<Shared_port_status> Address of the status port (in
HEX).
<First_Port_Number> Number of the first port. This is an
arbitrary port number.
<Port_Count> Total number of ports on the board. Be sure
to put the correct total number of ports and NOT just
the number of ports you'll be USING. E.g. 4, 8, 16, or
32.
The Second line should contain the PORT ADDRESSES,
separated by a single space, for each port on the card
(In HEX). If you defined Port_Count as 4, then you would
have FOUR fields on this line. If you defined port count
as 16 then Sixteen fields.
Example, four port digiboard with default settings using
COM5 as the first port number.
{SERIAL.CFG}
3 0x140 5 4
0x100 0x108 0x110 0x118
Zmodem Technical Reference Manual Page 20
Non-Intelligent Stargate
(COMDRV=NSTARGATE)
Telling Zmodem about the non-intelligent Star Gate board
requires you to create a SERIAL.CFG file in the same
directory that houses Zmodem.exe.
Serial.cfg contains a single line with 3 fields,
separated by a single space.
IRQ FIRST_PORT_NUMBER FIRST_PORT_ADDRESS
IRQ The IRQ line used by this board (2-7).
FIRST_PORT_NUMBER Number of the first port. This is an
arbitrary port number.
FIRST_PORT_ADDRESS Address (In HEX) of the first UART
on the board.
Example:
{SERIAL.CFG}
3 5 0x180
Non-Intelligent Ast
(COMDRV=AST)
Telling Zmodem about the non-intelligent AST board
requires you to create a SERIAL.CFG file in the same
directory that houses Zmodem.exe.
Serial.cfg contains a single line with 3 fields,
separated by a single space.
IRQ FIRST_PORT_NUMBER FIRST_PORT_ADDRESS
IRQ The IRQ line used by this board (2-7).
FIRST_PORT_NUMBER Number of the first port. This is an
arbitrary port number.
FIRST_PORT_ADDRESS Address (In HEX) of the first UART
on the board.
Example:
{SERIAL.CFG}
3 5 0x1a0
Zmodem Technical Reference Manual Page 21
Non-Intelligent Boca
(COMDRV=BOCA)
Telling Zmodem about the non-intelligent BOCA board
requires you to create a SERIAL.CFG file in the same
directory that houses Zmodem.exe.
Serial.cfg contains a single line with 4 fields,
separated by a single space.
IRQ FIRST_PORT_NUMBER PORT_COUNT FIRST_PORT_ADDRESS
IRQ The IRQ line used by this board (2-7).
FIRST_PORT_NUMBER Number of the first port. This is an
arbitrary port number.
PORT_COUNT Total number of ports on the board (4 or 8).
FIRST_PORT_ADDRESS Address (In HEX) of the first UART
on the board.
Example:
{SERIAL.CFG}
3 5 4 0x180
8259 Interrupt Management
The interrupt manager automatically assigns priority to each
of the systems interrupts. The timer counter, keyboard, and
cascaded interrupt all have higher priority than the UART.
To gain the MAXIMUM throughput (especially when multi-
tasking), we suggest that you allow Zmodem to alter the IRQ
manager so the UART has the highest priority.
You can do this using the environment variable 8259=IRQ{1-7}
Examples:
8259=IRQ4
8259=IRQ3
Keep in mind that only ONE of the uarts (in a multi-uart
environment) can be switched to the HIGHEST priority, select
the one that contains the fastest modem.
Intelligent Multi-port cards use a single shared IRQ. This is
the one you want to give highest priority to.
Zmodem Technical Reference Manual Page 22
Zmodem License
Please Read Carefully
WHEN you register Zmodem, you indicate your acceptance of
these terms.
1. License Grant. International TeleCommunications will grant
you a non-exclusive license to use one copy of Zmodem on a
single computer or on a single terminal connect to a single
computer. Neither concurrent use on two or more computers nor
use in a local area network is authorized without advanced
written consent of International TeleCommunications and the
payment of additional license fees.
2. International TeleCommunications' Rights. You acknowledge
and agree that Zmodem is a proprietary product of
International TeleCommunications, protected under U.S
copyright law, international treaty provisions, and trade
secret laws of general applicability. You further acknowledge
and agree that all rights, title, and interest in and to
Zmodem are and shall remain with International
TeleCommunications.
3. Other Restrictions. You may not lease or rent Zmodem. You
may not disassemble, decompile, or reverse engineer Zmodem.
4. Zmodem is licensed "AS IS," and International
TeleCommunications disclaims any and all warranties, whether
express or implied, including (without limitation) any
implied warranties of merchantablity or fitness for a
particular purpose.
5. Limitation of Liability. International TeleCommunications'
cumulative liability to you or any other party for any loss
or damage resulting from any claims, demands, or actions
arising out of or relating to this agreement shall not exceed
the license fee paid to International TeleCommunications for
the use of Zmodem. In no event shall International
TeleCommunications be liable for any indirect, incidental,
consequential, special, or exemplary damages or lost profits,
even if International TeleCommunications has been advised of
the possibility of such damages. Some states do not allow the
limitation or exclusion of liability for incidental or
consequential damages, so the above limitation or exclusion
may not apply to you.
6. Governing Law. This license agreement shall be construed
and governed in accordance with the laws of the State of
Missouri.
Zmodem Technical Reference Manual Page 23
7. Severability. Shall any term of this license agreement be
declared void or unenforceable by any court of competent
jurisdiction, such declaration shall have no effect on the
remaining terms hereof.