> So I tested a bunch of (relatively modern, post-UART) vintage > systems: 4.77MHz PC w/ 1.8MHz/8250, 12MHz 286 (with Unknown), > 386/486, and a Pentium all null-modem connected to a modern-make PC - > just to verify how fast they should be pushed (download) a data > stream. None of them (not even the Pentium) could be clocked past > 115.2K on this serial line. (I know the host system isn't dictating > the speed, but whatever integrated UART is available-- then the > software that controls that UART to clock divide to "commonly defined > baud rates").
Most 80s-era UARTs probably don't support going faster than 115.2k, even with a faster clock. In many cases you could generate arbitrary baud rates (up to some limit tied to clock rate) by picking arbitrary divisors, for some rapidly shrinking values of interoperability. The 8250 was deemed a bit pokey at the time, and the 16x50 chips faster, partly because they were somewhat re-engineered, and partly because of the built-in buffering that reduced interrupt rate on the main processor. > - As IBM's own PC manual states, it can't be pushed past 9600 > reliably (you can, but it starts dropping characters). So despite a > UART that can technically achieve 115200, that system can't handle it > (settling on a YModem data exchange rate of about 0.9 KBps). If you replace the brain dead BIOS serial routines, performance goes way up. This is why the FOSSIL drivers came about. You still have the main processor interrupt rate as a limitation, of course, but the FOSSILs were overall much more efficient. De