The always entertaining DadHacker has a great post on how he used to write code in the old days at 300 baud.   When he was in school, he had to submit course source code by punch card.  That’s a death by a thousand paper cuts.  To avoid having to use punch cards, he would dial in over the ancestor to the Internet and edit the code at 300 baud.   You should read his post to see all the steps he had to do.  It would have made Rube Goldberg proud.

He gets extra bonus points for using a terminal emulator that he wrote himself.  Double extra bonus points for writing it on a machine that didn’t have a UART chip.  UART chips are used to hand communications over a serial port.  The UART handles the timing and buffer requirement of sending bits over the wire.  Not having one, means you have to handle all of the ugly details yourself.  That means you can’t just write code that says “send this sequence of bits over there, at 300 baud”.  You had to write the code to control the timing of 300 baud and sends the bits at that rate and handle all of the flags and registers being set by the serial hardware.

I remember 300 baud.  At that speed (or lack of speed), you could watch the characters come in and fill the screen.  I had a Commodore 64 and my first modem was the Commodore 1650.  300 baud and pulse dialing, that was life online in 1985.  Over the years, I kept getting faster and faster modems.  I went from 300 baud to 1200 baud on the Commodore 64.  Stayed at 1200 on my Commodore 128.  I jumped to 2400 baud when I got my first Amiga.  I went from 2400 to 19,200 when I moved to the PC platform.  Then it moved to 33,600 and finally 56,200 before I jumped to broadband. 

I remember buying a serial port card for my 486sx just to get a 16550 UART to use instead of the cheesy 8250 UART that was on the motherboard.  The 8250 had a one byte buffer and you would start dropping characters at speeds higher than 9600 baud.  The 16550 had a 16 byte buffer. That doesn’t sound large, but it was enough to let you handle much higher baud rates.  The Commodore 64 didn’t even have a UART, it emulated one and the CPU had to do all of the processing.  That was good to only 2400 baud before it would fall apart,

Getting a faster modem was one of those devices where you saw a clear and immediate improvement.  I still have the last modem I bought back in the early 90’s.  It was a US Robotics V.Everything Courier modem, an external one.  A giant black slab, squatting on top my PC.  It had firmware that could be “flashed” to a new version.  I think I did it it about three or four times.  Each it got faster and more reliable.  I real man’s mode,  It ate through line noise and spat out clean bits.  Even though I have no need of it, I refuse to get rid of it.  It’s the oldest bit of functional computer equipment that I own.  My current home PC doesn’t even have a serial port, I would have to get some odd USB to Serial dohickey if I even wanted to use it.