This is release 0.4 of the device-driver for b004-compatible link interfaces.

1.) Installation

To install the driver, you need linux version 99p14 or above. This version will
not compile under earlier versions of linux because the directory structure
has changed.

At first you should run the shell-script tinstall. It copies
the driver's files to your linux-directory ( /linux/drivers/char and 
linux/include/linux ) and the binaries of the afserver and the iserver to
/usr/bin. Then it creates the device "link0" in /dev and tells you to recompile
the kernel. Don't forget to tell lilo about your new [z]Image!

After recompiling, installing and booting the kernel you can test the device-
driver with the program transputer/speed_test/speed. It sends a small occam-
program (speed.occ / speed.b4) to the transputer using the device-driver
and then measures the speed for reading and writing. You can compile speed.c under
DOS (tested with Borland C) without any modifications and test your transfer-rate
running DOS - it will be slightly lower.

Please note that all executables in this package are linked with lib 4.4.4.

2.) The iserver

To recompile the iserver you need the original inmos source code. Replace the
files b004link.c and hostc.c and the Makefile with the new ones and type make. 
I have changed one line in the file iserver.c.  You will find a function
BreakHandler() in this file. The first lines look like this:

#ifndef SUN
	signal(SIGINT, BreakHandler)
#endif

As we compile the file with SUN defined, you need to delete the #ifndef and
#endif lines if you want to reuse the break-handler after the first cntrl-c.

The iserver is fully compatible to the inmos-iserver running on sun workstations.
It is not fully compatible to the DOS-iserver because this server has some
DOS-specific features (similar to the non-supported afserver-commands). The
sourcecode of iserver 1.5 can be found at the following ftp-site:
ftp.thp.uni-koeln.de: /pub/linux/transputer

3.) The afserver

The afserver does not support the following commands:

SendBlock.Cmd		-	Send data directly to the host's memory
ReceiveBlock.Cmd	-	Receive data directly form host's memory
ReadRegs.Cmd		-	Read the 8086 registers
CallInterrupt.Cmd	-	Call a BIOS INT
PortRead.Cmd		-	Direct Access to host's IO-ports
PortWrite.Cmd		-	Direct access to host's IO-ports

These are commands that should not be used in a multi-tasking/user OS!

Happy linuxing,
Christoph Niemann

My email address has changed. Please mail any comments to this address:

niemann@swt.ruhr-uni-bochum.de
