
   V0.1 First Aminet Release

   - It worked, just.


   V0.4 Second Aminet Release

   - Added several SANAII commands for compatibility with Miami.

   - Enabled interrupts during RemoteWrite. Should no longer cause
     serial port overruns.

   - Improved error checking in case of card initialisation failure.
     Now doesn't GURU if device is opened twice! Also tested it with
     Enforcer, which did not detect any illegal memory accesses.

   - Relaxed hardware address verification to accept the Accton EN2216.
     Now it might possibly work with other 'NE2000 compatible' cards.

   - Unrolled loops to improve data transfer speed. Now about 20% faster
     on an unexpanded A600. Code size got bigger as a result :(

   - Hack to fix problem with missed interrupts. Now the device clears
     the Gayle interrupt bits instead of letting card.resource do it.


   V0.5  Third Aminet Release

   - Accepts 802.3 packets (probably, untested).

   - Sets BROADCAST bit in io_flags when appropriate.

   - Now examines PCMCIA attribute memory to determine the value to write
     into the Card Configuration Register. This should work with all NE2000
     compatible PCMCIA network cards, even those with different CCR offsets.

   - If attribute memory is not found, cnet.device tries to open the file
     "s:cnetdev.config" and read from it the Card Configuration Register
     offset, Configuration ID, and ROM Station Address. This often revives
     a card that did not power up properly. The 'cnetconfig' program is
     supplied for creating this file.


   V0.6 Fourth Aminet Release

   - Removed cnet.config stuff, and replaced with a hardware mod. This
     mod should be done on all A1200s (not required on the A600).

   - Now cards are hot-swappable. As a result, only proper network
     cards will be accepted. Other types of cards are ignored so
     that other drivers can access them.

   - I/O addressing now supports a 64KByte range. Previously this was
     only 1KB, which may have prevented some cards from working.

   - Accepts all Card Configuration Register address sizes (previously
     the address was assumed to be 16bit, but some cards are 24 bit!).

   - Tighter data transfer loops, which are slightly faster on a
     machine with small CPU caches (eg. 68030).

   - Un-supported commands now return S2ERR_NOT_SUPPORTED.

   - 'card_info' program provided for viewing card attributes.

   v0.7  Fifth Aminet Release

   - fixed harmless bug in init_nic - remote DMA timeout test
     could not fail!

   - Now remembers copytobuf/copyfrombuf tags for each opener.
     Allows simultaneous use of eg. AmiTCP and Envoy.

   - OnEvent types ONLINE and OFFLINE now return immediately
     if the device is already in the wanted state.

   v0.9  Sixth Aminet release

   - fixed bug in OnEvent: was using wrong register to test ONLINE flag.

   - Added support for multicasting, statistics, orphan packets, exclusive
     and promiscuous modes.

   v1.0  Seventh Aminet release

   - Fixed bug in readpacket: Broadcast packets were also being identified
     as Multicast.

   v1.1  Eigth Aminet release

   - Fixed bug: delmulticast always failed due to bad testing
     for multicast address match.

   - Fixed bug: readpacket was getting incorrect src and dst
     addresses (A4 was pointing to prhdr instead of etherhdr).

   - Included put_multi in init_nic (need to reload multicast
     bits if card is removed and re-inserted)

   - Added 4 to rx ios2_datalength in raw mode. Shapeshifter
     seems to need this (why?)

   v1.2  Ninth Aminet release

   - Since there has been almost ten months without an update, I, Harry
     Sintonen <sintonen@iki.fi>, decided to have a go.

   - Dozens of bugs fixed.

   - Now comply to SANA2 Rev2 and Rev3. Also implements Multicast address
     range extensions to Rev3.

   - Properly implements Multiple Protocol Stack Support.

   - cnet.device is now NewStyleDevice.

   - cnet.device can now be expunged from the memory.

   - Separate 68000 and 68020 versions. Special turboio version with DMA
     speedup hack.

   - Optimized for better performance.

   - Thanks to v1.2 beta testers: darza, sda, shygirl, kolla, BlackWine,
     miksuh, Nadir, tekmag, goat^god, Tripper, Tundrah, Ion and Janne_k.
     Special thanks to Tundrah for providing very extensive benchmark
     results.

   v1.3  Tenth Aminet release

   - Updated the compatibility list and this readme file. Thanks to Maks
     Weclawski, Pierre Cauchy, Ilkka Lehtoranta, Gunter Hinrichsen, Robert
     Simmonds and others for reporting card [in]compatibilities.

   - Disabled some unused code. Size optimized some non-time critical code.

   - Speedup: Implemented one obvious 020 optimization. Thanks to Ilkka
     Lehtoranta for pointing it out.

   - Improvement: Now uses memory pool for all memory allocations to
     prevent memory fragmentation. Also a bit faster than using exec
     AllocMem/FreeMem since uses semaphore for access arbitration (exec
     memroutines use Forbid/Permit).

   v1.4  Eleventh Aminet release

   - Bugfix: Fixed 8 byte random memory trash from OpenDevice.
     Thanks to Ralph Schmidt for not killing me because of this. :)

   v1.5  Twelfth Aminet release

   - Updated the compatibility list. Thanks to Tony Duxbury, Carson
     Gray, Lukas Stehlik, Henrik Berglund and the usenet ppl. :->

   - Now assumes network card if CISTPL_FUNC_ID tuple isn't found. Makes
     the device work with some cards that failed before (Microcomputer
     Research Inc's Mr Ethernet). (Colin Willans, Neil Cafferkey)

   - Fixed a bug from pre-V39 FreePooled() -routine. I thought I had
     already fixed it, but no.

   v1.6  Thirteenth Aminet release

   - Bugfix: S2_GETSTATIONADDRESS returned current interface address in
     both ios2_SrcAddr and ios2_DstAddr. Now ios2_DstAddr return the
     factory default station address as supposed to.

   - Bugfix: S2_TRACKTYPE and S2_UNTRACKTYPE called alloc & free within
     Disable(). Caused terrible lockup if semaphore wasn't free or owned
     by the caller. Fixed.

   - Bugfix: S2_ONLINE trashed one byte of memory if device wasn't
     configured. Grrrh, I hate assembler. Fixed.

   - Bugfix: In some special conditions OwnCard() could have got called
     more than once. Oops. Fixed.

   - General source cleanup: Better device initialization and cleanup,
     removed some redundant code.

   - Added error requesters for initialization errors, helps identifying
     compatibility problems.

   - Added DMA timeout test for reads, might fix some cards that failed
     before (timing problems).

   - Improvement: Now set iorequest error code properly on write error.

   - Updated the compatibility list. Thanks to MX3.

   - Separated history to separate file.

   - Added guide by Niclas Aronsson, thanks mate!


   v1.6b Fourteenth Aminet release

   - Updated the compatibility list. Thanks to joe, Darry Dooman, Levas,
     Antti Haljak and the rest.


   v1.7 Fifteenth Aminet release

   - Bugfix: Recovering from receiver ring buffer overflow caused
     NIC to stop accepting multicast packets (broadcast packets were
     still accepted though). Also possible promiscous mode was turned
     off. Now always reset the receive mode to current one. Also
     disabled unused dd_overflows counter.

   - Bugfix: Promiscous mode didn't accept all multicast addresses.
     Fixed to do so.

   - Added notes about CardReset software fixes.

   - Small include fixes, provided by platon42.


   v1.8 Sixteenth Aminet release

   - Minor bugfix: deviceinit leaked memory if it failed.

   - Added KingMax EN10-T2T and Kingston KNE-PC2T to compatibility list.
     Thanks to GDR!

   - Added NetGear FA410TX to compatibility list. Thanks to Spokki.

   - Added Eusso UPE4010-TC 10M and ActionTEC FASTnet PE200AC
     (BNC+UTP 10M) to compatibility list. Added Asmax LM5LT-10N to
     incompatible cards list. Thanks to Mandi^ATO.

   - Added Billionton LNT-10TB to compatibility list. Thanks to Valwit.

   - Added note about CardPatch software.


   v1.8b Minor fix release

   - Minor fix: device structure revision bumped to 8, too.

   - Added PLANET Smart PCMCIA Ethernet Card ENW-3502-2T (V.2) to
     compatibility list. Thanks to Arkadiusz Hucko.


   (for more information see src/cnetdevice.asm version history)
