
		 Stallion Technologies DOS Driver
		 --------------------------------


Installation Procedures
=======================

These instructions cover the entire range of Stallion Technologies
EasyIO, EasyConnection, ONboard and Brumby boards.

Hardware Configuration
----------------------
Before installing the DOS Driver software, the board(s) should be 
configured ready for installation.  Up to eight boards may be  configured 
for installation into your system.  To configure your hardware:

1.      For each board, choose a memory address, an I/O address and an 
	interrupt request line (if required) that will avoid clashes with 
	any other hardware you may have in your system.   Valid address 
	ranges are provided in the Appendix F - Hardware Specifications.
	The files EASYIO.TXT, EASYCONN.TXT and ONB_BRUM.TXT provide information
	on switch and jumpers for the boards supported by the DOS driver.

	Notes:  
	EC8/64 (with the exception of the EC8/64-PCI), ONboard and Brumby boards
	require a memory address and an I/O address but may optionally be run in
	polled mode, requiring no interrupt. EC8/64-PCI and EC8/32 boards require
	an interrupt and both a primary and secondary I/O address.
	Multiple EC8/64, ONboard and Brumby boards may share the same memory
	address, while the secondary I/O address may be shared by EC8/32 boards.
	EasyIO boards require only an I/O address and an interrupt.

2.      For ISA boards only:  Set the DIP switches on the board(s) according 
	to the chosen addresses, by consulting the tables in the Appendix A 
	- DIP Switch Settings.

	Make note of any installation parameters that you set, such as the 
	memory address, I/O address and interrupt for each board, as they 
	will also be required to install the DOS Driver software.


				TO PREVENT STATIC
				DAMAGE AVOID EXCESSIVE
				BOARD HANDLING


	
Installing DOS Driver Software
------------------------------

The installation of the DOS Driver software is executed from the DOS 
command line. To install the DOS Driver, perform the following steps:

1.      Ensure that your EasyConnection board(s) are configured, using 
	the section "Hardware Configuration" above.

2.      Place this diskette in the floppy drive of your 
	choice and make that floppy drive the active disk drive. 

		for example     C:\>  A:<Enter>

3.      Run the install batch file by typing:

		install ata <target drive spec>

	(The target drive specification defaults to drive C if no drive 
	is given. Thus, if you are installing on drive C, type install ata. 
	If you are installing on a drive other than C, a drive specification 
	is required. e.g. type install ata d: for drive D.)

	INSTALL.BAT will copy the DOS Driver files to \STALLION\ATA  on the 
	target drive specified.

4.      In addition to copying the files from the diskette, you must make 
	an entry in your config.sys file in order to load the DOS  Driver. 
	Multiple boards must be included in the single entry. Commands 
	to configure ports and download code to the board should be added 
	to the AUTOEXEC.BAT file. 

	The driver entry in the CONFIG.SYS file must be in the following 
	format:

	device= <path><driver>.exe [-a] [-i <intfce>] [-r <rqsize>]
			-b <brdtyp>,<mem>,<i/o>,<irq>,<slot> [-b ......]
			-s <COM port>

<path>  is the full path to the driver file
	eg. c:\stallion\ata\atahost.exe  

<driver> is the driver required for the boards that you have installed.
		There are two (2) drivers included in this distribution.  Each
		driver supports a different set of boards.  The drivers and the
		boards that they support are:

			atahost.exe: all EasyIO and EC8/32 boards
			atacdk.exe:  all ONboard, Brumby and EC8/64 (with the exception of
						 the EC8/64-PCI) boards


<brdtyp>  specifies the board type. It must be one of:
		EC/RA-PC
		EC8/64-AT   
		EC8/64-MC   
		EC8/64-EI
		EC8/32-PC
		EC8/64-PC
		EC8/32-AT
		EC8/32-MC
		EASYIO-PC
		EASYIO 
		ONBOARD
		BRUMBY

	      
<mem>   This may be either the Dual Port RAM address of a EC8/64 (with the
	exception of the EC8/64-PCI), ONboard or Brumby board or it may be the
	secondary I/O address of a EC8/32 board. For EasyIO boards this field
	should be 0.  For the PCI boards this field should be 0 unless instructed
	by a support engineer.
	
	Notes:
	A valid secondary I/O address for a EC8/32 board can be selected 
	from the appropriate table in Appendix A - DIP Switch Settings.  
	
	EC8/64-AT & MC:
	Value in the range 0C0000h-0EFFFFh, using 4K memory segments. 
	For example starting at 0D0000h, possible values are:
			0D0000h
			0D1000h
			0D2000h
			...
			0DE000h
			0DF000h
	
	EC8/64-EI and ONboard:      
	Only possible values are 0C0000h, 0D0000h and 0E0000h because EISA
	boards use a 64K memory segment.This memory address may be shared by
	multiple boards. Both 0C0000h and 0E0000h must be treated with care
	as there may be hardware such as video and bios roms using these areas.

	Brumby:
	as per the switch settings in ONB_BRUM.TXT



<i/o>   is the primary I/O address of the board.  For the PCI boards this
        field should be 0 unless instructed by a support engineer.
	For ISA boards, refer to the I/O switch settings table in  
	Appendix A for possible values.
	For EISA boards, the I/O address is slot dependant 
	eg. slot 3 is I/O address 3000, and so on.

<irq>   is the interrupt request line of the board. For the PCI boards this
        field should be 0 unless instructed by a support engineer.
	Possible values are:
		3,4,5,7,10,11,12,15 
	    
	All EC8/64 boards also support polled mode. In polled mode, 
	interrupts are disabled - use a  value of 0.

<slot>  is the slot size. This should always be 16 with the exception 
	of EC8/32-AT and EasyIO which may use 8.  For EISA and PCI boards
	this field should always be 32.

Optional Driver Parameters
--------------------------

-a      provides an optional alternate port naming convention.  
	Note:
	The default port naming convention starts numbering ports from 
	the next available com port after the machine's native ports.  
	(ie. If the machine has two native ports, the port marked 0 on 
	the multiport module would be named COM3:)  
	When using the '-a' option, all Stallion com ports will be named 
	in the following manner:
		COM<b><p><nn>
	where:
	<b>     is the single digit board number
	<p>     is the single digit module number
	<nn>    is the two digit port number

-i <intfce>     provides the option of using one of the following INT14 
		interfaces, where <intfce> is one of:
	0       Standard BIOS interface 
	1       Extended BIOS interface
	2       Stallion standard BIOS (Digiboard compatible)
	3       Stallion extended BIOS (Digiboard compatible).
	4       Fossil enhancements

	Refer to the file BIOS.DOC for further information.

-r <rqsize>     is only applicable to the EC8/32 and EasyIO boards. It
		provides the option of specifying a ring queue size larger
		than the default to improve performance. The driver automatically 
		calculates a value at boot time by allocating the total 
		reserved space to the maximum number of ports supported 
		by the board installed. eg. An EC8/32 board will, by 
		default, be given a ring queue size to allow for the 
		maximum of 32 ports. If only 8 ports are present, 
		specifying a <rqsize> of 256 will significantly improve 
		the performance of the board. 

	The file CONFIG.ATA in the \STALLION\ATA directory may be included 
	in your CONFIG.SYS and has been provided as an example of configuring 
	a single EC8/64-AT board at memory address D0000 (hex), I/O address 
	2A0 (hex) and no interrupt (polled mode).  The file contains the 
	following example: 

	device=c:\stallion\ata\atacdk.exe -b ec8/64-at,d0000,2A0,0,16
	
	Multiple boards simply require additional '-b <board_info>' 
	settings to be added to this device=<driver> entry.

	Some examples for other board types are:
	
	device=c:\stallion\ata\atahost.exe -b ec8/32-mc,280,2A0,10,16
	device=c:\stallion\ata\atacdk.exe -b ec8/64-ei,D0000,2000,0,16
	device=c:\stallion\ata\atahost.exe -b easyio,0,2A0,10,16
	
	Note: it is also possible (although not recommended)  to load the               
	ATA.EXE driver from the DOS command line or a batch file using          
	the same parameters described above. The driver may then be                     
	unloaded by executing ATA.EXE with no parameters.

-s <COM port>	if COM port is 4, it configures the ATA driver to start
	at COM5. Refer to the file BIOS.DOC for further information.

5.      On a EC8/64 (with the exception of the EC8/64-PCI), ONboard and Brumby
	boards only, the slave driver code must then be downloaded to each board.
	The command required to perform the download is as follows:

		sput -d <bootstrap> -o <slave> <brdnum>

	where:
	-d              Indicates whole path and filename for bootstrap.
	<bootstrap>     Full pathname to BOOT.SYS (eg. c:\stallion\ata\boot.sys)

	-o              Indicates whole path and filename for slave.
        <slave>         Full path to CDK.SYS or 2681.SYS
                        (eg. c:\stallion\ata\cdk.sys).
                        CDK.SYS is used for EC8/64 boards while
                        2681.SYS is used for ONboard and Brumby boards.

	<brdnum>        The board number. (zero based, ie. first board is 0)

	AUTOEXEC.ATA in the \STALLION\ATA directory can be included 
	in your AUTOEXEC.BAT and gives an example of the command required 
	to perform the download process.  This file consists of the line: 

	c:\stallion\ata\sput.exe
		-d c:\stallion\ata\boot.sys
		-o c:\stallion\ata\cdk.sys 0

Once the hardware is installed into your machine and the system is rebooted, 
the above software changes will take effect.

Hardware Installation
---------------------

The final stage in the installation process is to install the hardware into 
the machine.

1.      Power down the machine.  Consult the computer system installation 
	manual for the correct cover removal procedures.

2.      For each board, locate an available 16 bit slot.  Push the board 
	into the slot, making sure it is securely in place.

3.      Connect the I/O module(s).
	
	Warning:
	Read Appendix B - EasyConnection Module Notes - carefully before 
	attaching modules to the board(s).
  
4.      Configure the board(s).
	
	Note:   When installing ISA boards in an EISA machine:
		It is recommended to configure ISA boards in an EISA 
		machine, using the system's EISA Configuration Utility.  
		Hardware conflicts can easily be detected and resolved 
		using this method. 

	If ISA boards only are being installed, and they are not being 
	configured, proceed to step 5. 

	This diskette contains configuration files required 
	by EISA machines to configure EISA and ISA boards, and by 
	Microchannel machines to configure MCA boards.

	Configure your EISA/Microchannel machine to recognise the installed 
	board(s) using the respective system configuration utility. Consult 
	your computer system installation manual for instructions on using 
	the system configuration utility. 

	Follow these steps to reconfigure your EISA/Microchannel machine:

	(a)     Power-on and boot-up your machine using the diskette 
		containing the system configuration utility supplied with 
		your machine.

	(b)     If you are not using a working copy of this reference 
		diskette, then make a working copy using the system 
		configuration utility. Restart the machine from the working 
		copy.

	(c)     Use the system configuration utility to copy the appropriate 
		configuration file from the root directory of this diskette.
		The configuration files are listed below:

		!STL0400.CFG    -       EC8/64-EI (EISA) in an EISA machine
		!STL0410.CFG    -       EC8/32-AT (ISA) in an EISA machine
		!STL0420.CFG    -       EC8/64-AT (ISA) in an EISA machine
		!STL0100.CFG    -       ONboard-EI (EISA) in an EISA machine
		!STL0120.CFG    -       ONboard (ISA) in an EISA machine
		!STL0130.CFG    -       Brumby (ISA) in an EISA machine
		!STL0200.CFG    -       EasyIO (ISA) in an EISA machine
		@62F9.ADF       -       EC8/32-MC in a Microchannel machine
		@7113.ADF       -       EC8/64-MCA in a Microchannel machine 
		@6091.ADF       -       ONboard2-MCA in a Microchannel machine 

	(d)     Save the new configuration and exit the utility.

	(e)     Upon reboot to the system configuration utility, the 
		configuration file information will be updated and a valid 
		DPRAM address and I/O address will be selected automatically 
		from the choices available.

	(f)     On a EC8/64 (with the exception of the EC8/64-PCI), it is
		recommended to select 'disabled' in the interrupt field. 
	
	(g)     Save the new configuration, exit the system configuration 
		utility, and reboot your system.

	Power down your system and reboot it.  During your machine's boot 
	process, one message for every board installed will be displayed on 
	your screen.

	These indicate that the driver was loaded successfully and has 
	found and booted the board(s) specified.  If the boot process was 
	unsuccessful, a message will be displayed, warning of the cause 
	of the unsuccessful boot.

	If the board(s) fail to be recognized, with the parameters falling 
	between the given limits, the DIP switches may have been set 
	incorrectly, an address clash may have occurred, or the board may 
	be faulty.  Check your DIP switch settings, then ensure that the 
	addresses  chosen are available for use.  If these values are valid, 
	use the board diagnostic test described in this chapter to check 
	for a faulty board.

6.      Having completed the download process, the ports are now configured 
	to the default port parameters and ready for use. ie:

			9600 baud                                                                       
			No parity
			8 data bits
			1 stop bits
			no flow control (handshaking)

Changing Port Parameters
------------------------

These parameters can be modified  to suit your application using the 
utility ATAMODE.EXE in the \STALLION\ATA directory. This utility requires 
the following information to modify port parameters:
	
	atamode -c com#:baud,parity,bits,stop,flow_control
where:

-c              Configure communication device.

com#:           The port to be configured.  This value will either follow 
		the default port numbering convention, or will be of an 
		alternate convention that may have been set in the 
		CONFIG.SYS file during the software installation process.  
		For more information on the type of port naming convention 
		followed, see point 4 in the section entitled 'Installing DOS 
		Driver Software' earlier in this chapter.

baud            Baud rate for the port. Any of the following line speeds:

		110, 150, 300, 600, 1200, 2400, 4800, 9600, 
		19200, 38400, 57600, 115200, 145000

		Default, before execution of a change, is 9600.

		NOTE: The ONboards and Brumby boards have a maximum speed of 38400.

parity          Parity method of the port.  Value can be set to:

			o (odd), e (even), n (none)

		Default, before execution of a change, is n.

bits            The number of data bits.  Values may be:
			
			8, 7, 6, 5

		Default, before execution of a change, is 8.

stop            The number of stop bits.  Values may be:
			
			1, 15, 2

		Note:   The setting of 15 equates to 1.5 stop bits.

		Default, before execution of a change, is 1.


flow_control    The handshaking method of the port.  Flow control may be 
		set to:
			h (hardware handshaking - RTS/CTS), 
			s (software handshaking - Crtl-S/Ctrl-Q), 
			b (both hardware and software handshaking), or 
			n (none)

		 Default, before execution of a change, is n.

Ensure that there are no spaces between each of the comma-separated 
parameters and that each parameter is mentioned, regardless of whether 
or not a change is necessary.

If the default values are different from the settings you require to run 
your system, it is recommended that a batch file be set up to save entering 
this change configuration command each time you reboot the machine.

In an example case of identically configuring the first four ports, using 
a machine with 2 native ports, a simple 'for loop' can be engaged.To create 
the batch file (ie. PORTCONF.BAT), enter the following loop:
	
	for %%x in (3 4 5 6) do 
	c:\stallion\ata\atamode -c com%%x:9600,n,8,1,h

If it is likely that your ports will differ in configuration, you could 
create a batch file with a line for every port.  For example:

	c:\stallion\ata\atamode -c com3:9600,n,8,1,s
	c:\stallion\ata\atamode -c com4:19200,o,7,1,h
	c:\stallion\ata\atamode -c com5:1200,n,7,2,h
	c:\stallion\ata\atamode -c com6:1200,e,8,1,s

Once the batch file is created, it may be included in your AUTOEXEC.BAT file 
to run automatically upon boot up.


Modifying Port Signals
======================

The DSR signal 
--------------

The EasyConnection Dual-Interface module and EasyIO boards support DSR. 
If DSR is low, then data will be prevented from being transmitted on a port. 
(See cabling issues for details on how to use DSR). On all other 
EasyConnection modules, the DSR signal is not present and, by default, is 
reported as high. 

The ATAMODE.EXE program, using the '-d' option allows you to report  the 
DSR signal as always high, on any or all ports if required. This is required 
if you do not wish to wire the cable to assert DSR.  

To set DSR to report high always on com5, use:

		atamode -d com5:1

To set DSR reporting back to normal on com5:

		atamode -d com5:0
Warning: 
	DSR signals should not be enabled on module types that do not support 
	it as it may adversely affect the performance of the driver.    

DTR and RTS signals
-------------------

The DOS native serial device driver asserts DTR and RTS before each character 
is sent. For Stallion ports the DTR and RTS lines are asserted in the driver 
initialization routine and will remain asserted unless they are deliberately 
cleared. If you wish, you may use the ATAMODE.EXE program to raise or lower 
DTR and/or RTS for any port. The format of the command required is:

	atamode -h COM#:rts,dtr

For example to raise DTR and lower RTS on Stallion port COM3: you would         
execute the following command:

	atamode -h COM3:0,1


Board Diagnostics
-----------------

Diagnostic software, DIAG.EXE, has been supplied for the purpose of testing 
the state of the board(s).  This software tests the hardware functionality 
of the board(s) and includes memory and loopback diagnostics tests.

DIAG can be run from a DOS command line from this diskette.
Alternatively, install the diagnostic test suite onto your 
system using:
			install diags <target>

and run it from the \STALLION\DIAGS directory.

To use the diagnostic facility:

1.      Insert this diskette into the chosen floppy drive.

2.      To select the DIAGS directory, enter the following at the DOS prompt 
	of the chosen drive:

			CD \DIAGS

3.      To start the board diagnostics, type:  DIAG

4.      Select the board type from the menu.

5.      The settings for the board are displayed on the screen.  If these 
	values are incorrect, change the configuration by entering the 
	appropriate number for that parameter and set the configuration to 
	the correct values.  

6.      Press <ESC> to start the diagnostic program.

7.      Run the required tests using diagnostic options 1 - 4.

8.      If the board fails diagnostics, there may be an address clash.  
	Check that the addresses chosen are available for use.

9.      If the board still fails diagnostic tests, contact your supplier.


Technical Reference 
-------------------

Interfaces to the Multiport Board

There are three interfaces by which applications can access the serial 
ports on Stallion multiport boards: the Command-line, DOS INT21h and BIOS 
INT14h interfaces. All of the interfaces are standard interfaces to devices 
in the DOS world. It should be noted, however, that not all DOS applications 
abide by these interfaces and, for reasons of their own, use direct hardware 
access to the native serial ports. These applications cannot be used in 
conjunction with Stallion I/O boards. Applications that use the standard DOS 
interfaces with Stallion Technologies ports have the additional benefit over 
native serial ports of employing the buffering and handshaking facilities 
provided by the Stallion multiport boards. These facilities are value-added 
by the DOS Driver and are not available in either the standard INT21h or 
INT14h interfaces.
Additionally, both EasyConnection Dual Interface modules and EasyIO boards 
process DSR signals. To be compatible with DOS interfaces, no data is 
allowed to be transmitted unless DSR is high. For more information, see the 
section on DSR.

Command-line Interface
----------------------

Stallion ports are extensions to the standard DOS file system and so follow 
on consecutively from existing native ports in the device name hierarchy. 
That is, a DOS machine with X native ports installed will have its Y 
Stallion ports starting at COM(X+1): and ending at COM(X+Y): (unless 
alternate port naming convention is used).
From the DOS command-line Stallion ports can be accessed as you would 
access any other file. For example you may use pipes with these devices 
to redirect input and output from them, eg. type \autoexec.bat > com5:
Or you may use the DOS COPY command to do the same thing,
eg. copy \autoexec.bat com5:

You can also switch your standard input and output from the console to 
any Stallion Technologies port with a terminal configured. The terminal 
should be configured to match the line settings of the Stallion port to 
be used. The following command will switch the standard input/output to 
the terminal on COM3:.

	ctty com3:

This allows you to type commands and receive their output on the terminal 
device. This command (typed at the terminal's keyboard) will return standard 
input/output to the system console.
	
	ctty con:

Note, however, that not all applications abide by the DOS device interface 
and so, even though you may enter input at the terminal's keyboard, the 
results may still be displayed on the system console. In this case the 
application uses direct hardware access to display its output.
Stallion port users should avoid the DOS MODE command. The DOS MODE command 
uses a mixture of standard and non-standard operations to manipulate native 
serial ports. As a result, it is not compatible with Stallion ports. The 
serial device configuration functions of this command have been replaced for 
Stallion Technologies ports with those of the program ATAMODE.EXE.

INT21h Interface

The INT21h interface presented by the DOS Driver conforms to that specified 
by the IBM "Disk Operating System Technical Reference". The DOS INT21h 
interface permits filesystem operations such as open(), close(), read() and 
write() upon ports as they appear just as files under DOS. For the 
application programmer it is simply a matter of using these routines with 
Stallion Technologies serial devices as you would to manage native serial 
devices such as COM1:.  Stallion serial devices can be used with any 
application that communicates with serial devices via the DOS filesystem 
interface.
Applications programmers should note that the standard INT21h interface does 
not provide a means to configure ports for operation, and whereas BIOS 
INT14h does allow you to configure ports, the upper limits for the 
parameters are restrictive eg. a maximum baud rate of 9600. To bypass these 
limitations, the utility ATAMODE.EXE can be used to modify the coms 
parameters of selected ports.

INT14h Interface

The BIOS INT14h interface conforms to that specified in the IBM "Personal 
Computer Hardware Reference Library". The INT14h vector is intercepted by 
the DOS Driver and the request processed according to the targeted port. If 
the targeted port is not one of the Stallion ports then the driver 
relinquishes the request to the next driver in the INT14h interrupt chain.
The most common interfaces used by comms applications are the Fossil and 
Digiboard INT14h interfaces, which are both supported by the Stallion DOS 
driver. Please refer to the file BIOS.DOC on the distribution floppy for 
further details.


Modifying the BIOS Hardware Configuration
-----------------------------------------

Some DOS programs use the BIOS hardware configuration to determine the 
number of serial ports in your machine. As a result, the program may not 
allow you to use a Stallion port as it recognises the last COM port to be 
COM2 (or COM1, depending on the number of native serial ports you have 
installed).
A work-around for this problem has been provided using the ATAMODE.EXE 
program. This allows you to set the number of RS232 ports found by BIOS 
to be any number between 1 and 7. Note that this number should include 
native serial ports that are already installed. For example, if you have 
a machine with 2 native serial ports and wish to have BIOS recognize up to 
4 Stallion ports (ie. COM3 to COM6) you would call ATAMODE.EXE with the '-p' 
option as follows:
		atamode -d 6
The upper limit of 7 serial devices is a restriction of the BIOS data area 
as the space set aside for serial ports is only 3 bits.
Of course, reinstating the original BIOS value can be accomplished using 
ATAMODE.EXE. Regardless of whether you reset the value yourself, the BIOS 
will reset this value itself when the machine is next restarted. If you 
wish to permanently run your system with this modification, you should 
place the appropriate ATAMODE.EXE in your AUTOEXEC.BAT file.

	Warning: 
	The BIOS data area is accessible to, and employed by, many varying 
	DOS applications to determine the serial hardware configured in the 
	system. Users who wish to modify the data area should be aware that 
	some applications communicate directly with the serial device 
	hardware and these applications fail when attempting to access the 
	hardware of Stallion ports. It is not possible to access Stallion 
	ports under DOS other than through the interfaces provided by the 
	DOS Driver product. If you wish to use the ports with a particular 
	application, please ensure that the application conforms to either 
	the DOS INT21h or BIOS INT14h interfaces.
