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