| 
                                   
                                First: 
                                Up to our knowledge Twister (Twister1200 or on top of Unity) is
                                  the only serial interface board for Amiga which offers AFC besides
                                  the traditional mechanisms. The following text will try to explain
                                  why this is very important. 
                                Some History and Background Information: 
                                In former times the Amiga was known to be a Computer which took
                                  a majority of its performance not from the main CPU but from its
                                  Chipset. The chipset offered Coprocessors for sound, graphics and
                                  more. Unfortunately the engineers did not design a serial interface
                                  having equivalent strength because of price. While the chipset supplies
                                  the data, an additional interface chip (CIA) is used for handshake.
                                  The chip was done for the predecessor of the 68000 CPU and nearly
                                  the same device can be found inside the legendary C64. When used
                                  at Amiga the 68000 CPU has to slow down to 10% of it's native access
                                  speed.  
                                 At the early years of Amiga the lack was not noticeable because
                                  of very slow modems. Allthough people clearly noticed the trouble
                                  at faster Null-modem connections. As said before the chipset offers
                                  the data while an external unit has to handle the handshake. It
                                  is telling the communication partner when to go and when to wait.
                                  When having a closer look to the mechanism the limitation might
                                  get clear. The chipset is able to temporary store one character
                                  a time for sending direction an the same for receiving direction.
                                  If the interface would not be cut into two pieces the chipset could
                                  offer and get the characters by using a simple hardware based algorithm.
                                  Unfortunately there are some lines of code (so-called Interrup-Handler)
                                  at the AmigaOS which are controling the cooperative work of the
                                  chips. Beside handling the data flow in both directions it has to
                                  sign a temporary stall to the machine on the other end of the line.
                                  This is the mayor reason for following kind of trouble: 
                                  
                                
                                  - 
                                         
The CPU has to interrupt its normal work any time one character
                                                is reaching the serial receive buffer. This is hard work and
                                                strong overhead even for modern CPUs which have to store/restore
                                                their internal state each time and kill the cache, too. At 57,000
                                                BPS in one direction (download only) this happens 6,000 times
                                                per second. This load is strongly wasting CPU power for a very
                                                thin job (By the way please don't have a look at CPU monitors
                                                - CPU time which goes into IRQ handlers is simply stolen from
                                                the overall time). 
                                   
                                  - 
                                         
Addditionally it is required to have a software which is able
                                                to offer a response time of less than 1 / 6,000 sec to get the
                                                character out of the hardware before it is getting overwritten
                                                by the next one. The AmigaOS has got a nice design and offers
                                                response which is fast enough to match this requirements - at
                                                least most time. All people will have noticed a message "buffer
                                                overrun" or something equivalent f.e. at the terminal programm.
                                                That's exactly what happens if CPU/Software combo was not fast
                                                enough to get the charater in time or sign a slow-down. A character
                                                got lost. It was overwritten by the next one. 
                                   
                                  - This topic should better be called 2b: Additionally there is
                                         a further problem at Amiga. A well conveived computer has got
                                         Interrupts to sign something. There is even a convention for a
                                         driver programmer to cause a minimum tripping delay time when
                                         IRQs are handeled. The movement of data on the other hand is done
                                         via DMA, the direct access to memory by the extension itself,
                                         not CPU! Unfortunately the Amiga is no more able to do DMA. This
                                         was caused by unsuitable rigging of the machines and limitations
                                         inside the chipset. That's a real bad thing and one of the reasons
                                         why the mainboards are very obsolete. This is particularly unfortunate
                                         for extensions which need a constant data stream, e.g. any sound
                                         card. To give a sound card the capability to do noly-breaking
                                         sound it has to inevitably the INTERRUPT to move the data. That
                                         however has consequences for other extensions which require likewise
                                         constant data rates. The reaction delay to INTERRUPT requests
                                         simply rises strongly. As said before the Amiga allready fails
                                         to serve the unnecessarily extremely high requirements of the
                                         serial interface. Finally the the interface even fails for very
                                         low rates if another streaming device is runnin in the system.
 
                                 
                                Having this in mind it's allready allmost unimportant how high
                                  the possible datarates on a serial interface could be. Real live
                                  throughput anyway is only a fraction of the physical maximum. The
                                  line drivers which are used at Amiga are not able to communicate
                                  faster than 115,200 BPS without violating the EIA RS-232 standard. 
                                What do today's
                                  interface modules offer? 
                                For the Amiga there are several serial interface cards. They try
                                  to fix the described probems with different effectivity. All newer
                                  extensions make use of the 16Cx50 family of chips. Therefore it's
                                  not too difficult do a comparsion. A higher number for the "x"
                                  means more enhanced capabilities. Well known chips are 450, 550,
                                  650. The 16450 is called generation one in the following text. 
                                
                                  - 
                                         
Generation: The 450 is used at old PCs. Please don't
                                                ask yourself why it moves only 10% of the CPS rate expected
                                                when having a setup of 115.200 BPS with an old '368. The chip
                                                no better than the stuff used at Amiga chipset. 
                                   
                                  - 
                                         
Generation: The 550 offers 2 x 16 characters
                                                buffer for send and receive. If it would be possible to use
                                                the full size of the buffers the CPU could visit the chip only
                                                one time each 16 characters. At least for the sender it fact
                                                works fine. For the receiver a tradeoff between overrun errors
                                                and efficiency must be made. A programmer of a driver has to
                                                use something between 1 and 16 characters of the buffer (strong
                                                tendency to 1) to prevent too many overruns. This means the
                                                CPU load stays high for the receiver routines. A simple modem
                                                is still fast enough to slow down the machine. 
                                   
                                  - Generation: Based on the experiences of the predecessors
                                         the 650 was done years ago. At that family it's the first time
                                         the buffers are directly connected to the handshake lines of the
                                         interface. Additionally the size of the buffers was extended to
                                         2 x 32 characters. As soon as the chip detects missing space at
                                         receive buffer it signs a wait state immediately. The job of the
                                         CPU is limited in moving data when the chip reports a predefined
                                         fill level via an Interrupt. The enhanced mechanism is called
                                         automatic flow control. While the buffering worked fine and causes
                                         a low load to CPU another problem was detected. Some peripheral
                                         devices (f.e. MODEMs) respond to the handshakelines very slowly.
                                         This fact can cause a major drop-down of the overall transfer
                                         speed. Sometimes it might be helpfull to take a higher Bitrate
                                         setting for the interface. Unfortunately cheaper modems don't
                                         support high rates or response delay increases, too. The chip
                                         is slightly more expensive than the 550 used at most other interfaces.
                                         
                                    
                                  - Generation: The 750 is done as a result of all that experiences.
                                         Beside a doubling of the buffersize to 64 chars each the autoflow
                                         capability was enhanced again. An inteligent driver is able to
                                         reduce delays caused by handshake to a minimum. This device was
                                         focused for Twister1200 rev.2 but today price is the only base
                                         for sales. The chip is again more expensive than the 650 and can't
                                         be used as long users don't recognice the difference and ask for
                                         it.
                                         
                                    
                                  - Generation: The greatest chip of the family done is the
                                         850. The changes are 128 bytes of buffer each and a build-in
                                         IRDA interface. This is even the mayor reason to increase the
                                         buffer to 128. The Autoflow works perfectly with this device and
                                         probably can't made better. This chip even can't be used at Amiga
                                         because of missing demand of users for its features. 
 
                                 
                                Which features does the interface board
                                  offer? 
                                We stopped trying to make fair comparsions to other boards. Keep
                                  in mind Twister is the only one for Amiga which really offers AFC
                                  additionaly to the old de-facto polling approch. It has got a driver
                                  which really makes use of the AFC capability if you like. Additionally
                                  it makes use of a powerfull line driver which usually is only used
                                  at much more expensive boards and typically drives 691,200 BPS (460,800
                                  min.) safely. Since a generic user does not know about autoflow
                                  and wouldn't honor a higher price the 750 and 850 boards will probably
                                  never appear in series boards (increases price about USD 5). As
                                  said before your modem might prevent Twister from doing usefull
                                  transfer speed. If you can't fix it by increasing the BPS rate,
                                  you might better disable the AFC feature with the tool which comes
                                  with the board. You still make use of the bigger buffers compared
                                  to other boards. You might run into trouble when using a soundboard
                                  the same time, though. At least it works much better than the internal
                                  serial.  
                                A look at other computer systems: 
                                Don't expect modern machines are using nice chips on their boards.
                                  Some manufacturers tried to do so, but nobody payed attention (the
                                  guys from Seatle included). People simply don't care too much for
                                  a better chipset if it's more expensive. On the other hand there
                                  are expansion cards available which are strongly used by professional
                                  users (mostly Unix machines). They offer low system load even when
                                  a number of ports is running in parallel. The Mac made use of a
                                  really nice DMA driven Chipset from 1991 to 1998. Today it's replaced
                                  by USB. Bitrates of 230,400 BPS up to 1,000,000 BPS at strong CPS
                                  rates caused very low load, too. 
                                  
                          |