		Release 3.0 of the Clarkson packet drivers

If you are a user, all you need do is locate the correct packet driver for your
interface, and read DRIVERS.DOC.


Enclosed you will find

3C501.ASM     Device dependent 3COM 3C501 code.
3C501.COM     Executable for a packet driver for the 3COM 3C501.
3C503.ASM     Device dependent 3COM 3C503 code.
3C503.COM     Executable for a packet driver for the 3COM 3C503.
3C523.ASM     Device dependent 3COM 3C523 code.
3C523.COM     Executable for a packet driver for the 3COM 3C523.
DEFS.ASM      Definitions and macros.
DRIVERS.DOC   User documentation.
GENERIC.ASM   Device dependent generic code (a skeleton only).
HEAD.ASM      Resident device independent generic code.
MAKEFILE      Makefile.  Uses tasm and tlink, but MS may work.
NI5010.ASM    Device dependent Interlan NI5010 code.
NI5010.COM    Executable for a packet driver for the Interlan NI5010.
NI5210.ASM    Device dependent MICOM-Interlan NI5210 code.
NI5210.COM    Executable for a packet driver for the MICOM-Interlan NI5210.
PACKETQA.TXT  Questions from R. Nelson and Answers from jbvb@vax.ftp.com
PACKET_D.108  Packet driver spec version 1.08
READ.ME       This file.
README.503    Bob Clements' README file for the 3c503.
SLIP8250.ASM  Device dependent SLIP driver using IBM-PC 8250.
SLIP8250.COM  Executable for a SLIP packet driver for the IBM-PC 8250.
TAIL.ASM      Non-resident device independent generic code.
WD8003E.ASM   Device dependent Western Digital WD-8003e code.
WD8003E.COM   Executable for a packet driver for the Western Digital WD-8003e.

I have been in a quandry for some time about the credit that I should take
for these packet drivers.  I created the infrastructure for the packet
drivers, but all of the device dependent portions were written by other
people.  So I feel uncomfortable about taking all the credit.  Probably
the best term to describe what I do is "Editor and publisher", because I
perform a function similar to that served in the literary world.  So, I
sign myself,

	Russell Nelson, Editor of the Clarkson packet drivers.
	nelson@clutx.clarkson.edu, nelson@clutx.bitnet

Changes from version 2.0 to 3.0 of the drivers:

NOTE: Only the SLIP8250, NI5210, and 3c523 drivers have been tested.  All
     others are believed to work.

GNU General Public License adopted.  The restriction on commercial usage
     prevented some companies from distributing the packet drivers.  This
     is entirely my idea, so send any comments to nelson@clutx.clarkson.edu.
3c523 driver added, thanks to Dan Lanciani (ddl@harvard.edu).
Gregg Stefanik (wstef@eng.clemson.edu) is working on a 3c505 driver.  Don't
     bug him about it unless you're willing to be a alpha tester.
User documentation added (DRIVERS.DOC).
Brad Clements (no relation to Bob Clements) fixed the NI5210 driver so that
     it will work with a MTU of 1500.
The NI5210 now checks for shorts and opens before it starts up, thanks to
     Brad.
All memory-mapped packet drivers now check the packet length in send_pkt to
     ensure that too-long packets get trapped.  All packet drivers will
     work with MTUs of 1500 (plus 14 bytes of Ethernet header).
Deborah Swanberg noticed that attach_type was returning NO_CLASS
     when it meant to return NO_TYPE.
She also noted that packet drivers weren't returning unique handles.  This
     is only a problem with Phil Karn's code, as his code directs *every*
     packet driver to the same receiver routine.  With non-unique handles,
     it was impossible to tell which packet driver was upcalling the
     receiver.  Unique handles are now generated, based on the starting
     segment of the driver.  The latest version of Karn's code uses different
     receiver routines, so the code to implement this will eventually go away.
Tail.asm now prints the Ethernet address of the interface (if it is an Ethernet
     class device)
Micom has sold Interlan, and Racal has bought it, so perhaps the NI5210 is
     now the Racal-Interlan NI5210?
If anyone is interested in using the Zenith Z-100 with a SLIP packet driver, please
     send me (Russell Nelson) mail.  I have it partially written, but will
     probably never use it myself.
WD8003E and 3c503 sped up slightly -- stole movemem from NI5210.


Changes from version 3 to 2.0 of the drivers:

Version numbering now changed.  If the skeleton changes, the major version is
     incremented and all the minor versions are reset to zero.

Support for version 1.08 of the packet driver spec included.
Bob Clements' 3c503 driver added.  See README.503.
Some comments improved.
BAD_COMMAND checking code fixed.
cld instructions added to ensure that DF=0.
NI5210 sped up slightly -- look at movemem in ni5210.asm for an especially
     fast routine to move memory around.


Changes from version 2 to 3 of the drivers:

SLIP8250 can now be one of three classes: SLIP, AX.25, and KISS.
Tail.asm now checks for a packet driver already at the given interrupt.
Tail.asm now echoes its arguments in hex and decimal.
Tail.asm will close stdout so that a file handle won't be used up in
     case the user redirects stdout to NUL.
Head.asm now supports driver termination.
Termin.com added to terminate a driver.
Head.asm now does a stack swap to avoid pushing too many things when
     interrupting MS-LOSS.


Changes from version 1 to 2 of the drivers:

!!  Arguments are now in decimal by default  !!  Use a 0x prefix for hex.

DEFS.ASM created.
The loadport macro improved.
SLIP8250 driver added, thanks for a C version from Phil Karn.
     I've tried to put some 16550 support in, but I don't have one to
     test it with.  The documentation insists the TBRE goes low when
     the transmit buffer is not empty, while it makes sense for it to stay
     high while the buffer is not full.  I suspect the documentation is
     wrong.
NI5010 driver added, thanks for a C version from Bill Doster.
WD8003 driver added, by Bob Clements.
Loadport macro added to WD8003 driver by Russell Nelson.
Numeric arguments may now be specified in octal, decimal or hex, using the
     C notation.
Numeric arguments can now use up to 32 bits.
Source files reformatted.

