• Please review our updated Terms and Rules here

RS-232 Then and Now (Notes and Discussion)

voidstar78

Veteran Member
Joined
May 25, 2021
Messages
913
Location
Texas
I wasn't sure if the topic of RS-232 would be all that interesting - but I've had a lot of positive feedback on the recent discussion about it at VCF.




I have the slides (and extra sub-notes and details) archived here (useful maybe if anyone wants to replicate or compare to the RS-232 performance chart presented at the end):
(my prior discussions are also on github for archive)

I've been reading more about semaphore towers since this presentation! I'm thinking the world needs an ASCII to semaphore tower simulator :) Perhaps that'll be my next X16 project.


One question that I had from myself, is if anyone could find a verified publication of the term "RS-232" prior to 1966. That was just the earliest I could find at the time.
 
Nice discussion.

Minor nit unless I'm confused. On slide 49 you say the SN75188/SN75189 are TI version of MAX232. The big thing about the introduction of the MAX232 was it no longer needed +-12V to generate proper RS-232 level. The SN75188 requires +-12V. It is the chip the MAX232 is intended to replace. Yea I'm old enough to remember when it came out.
 
Minor nit unless I'm confused. On slide 49 you say the SN75188/SN75189 are TI version of MAX232. The big thing about the introduction of the MAX232 was it no longer needed +-12V to generate proper RS-232 level. The SN75188 requires +-12V. It is the chip the MAX232 is intended to replace. Yea I'm old enough to remember when it came out.

Yeah, the MAX232’s whole deal is the integrated charge pump voltage generators.

Power conversion aside, strictly speaking the MAX232 is the rough equivalent of *half* of a 75188 and *half* of a 75189. (The ‘188 is a quad transmitter, the ‘189 is a quad receiver, the MAX232 is two of each.) This means you need a pair of them if you want the full set of classic RS-232 handshaking signals. (Rarely a requirement, but worth noting.)

FWIW, by the 90’s most PC serial ports used a single 75185 or equivalent, which is three transmitters and five receivers in a single package. This chip still requires the external +/-12v, but is otherwise very convenient for full featured serial ports. You find this (or its pin compatible equivalent) on ATX motherboards right up to the end of hardware serial ports.
 
Nice discussion.

Minor nit unless I'm confused. On slide 49 you say the SN75188/SN75189 are TI version of MAX232. The big thing about the introduction of the MAX232 was it no longer needed +-12V to generate proper RS-232 level. The SN75188 requires +-12V. It is the chip the MAX232 is intended to replace. Yea I'm old enough to remember when it came out.

Thanks, yes I didn't state or clarify that part very well. The theme there (in my thinking) was more along the lines of "things that helped make integrating RS-232 easier and cheaper."

Somewhat related, I did a video involving 16550 UART and those 75188/75189 chips. Not so much deep details about them, but in performing an upgrade that used them.



One thing that led me down this path of exploring RS-232 was that in all of our terminal programs, they'd (often) list 50 and 110 baud - and I wanted to know what systems actually used those. Well, roughly speaking, no digital system really did -- those rates were for compatibility with legacy mechanical systems (old Baudot or telegraph-related systems, and then also teletype systems -- which were still somewhat common even in the 60's and 70's). But then I did end up having to skip talking about current loop, was already pushing a lot of material for the time we had.



At the end, I also meant to mention that one appeal about RS-232 is that despite the 9-pin connector - we can exchange data using just 3-wires and very little software. USB is fast and clever, but it does require a lot of software (which is trivial these days, but there are some security implications to that - plus here in the vintage community, we tend to seek out more "minimalistic" approaches to things).


Since I'm referencing stuff on this topic, here is a video I did demo'ing the 3-wire RS-232 connection, starting with some low speed bit-banging between PET and a CoCo, then using a WiModem at gradually higher speeds.



And, that video mentioned about enabling the RS-232 port and using the built in TERMINAL support of the old NEC PC-8001 from 1979...

 
Last edited:
Nice discussion.

Minor nit unless I'm confused. On slide 49 you say the SN75188/SN75189 are TI version of MAX232. The big thing about the introduction of the MAX232 was it no longer needed +-12V to generate proper RS-232 level. The SN75188 requires +-12V. It is the chip the MAX232 is intended to replace. Yea I'm old enough to remember when it came out.
Going off on a tangent, as a hobbyist I used to hate the MAX chips. Well, hate is perhaps exaggerating it a bit, but still. They were really expensive, so expensive that it usually was cheaper to buy a random AC wall wart at a thrift store to create the missing +/-12V.

If there would had been a way to differentiate hobbyist and small series commercial customers I think that the MAX chips would had been way cheaper for hobbyists.

The high price for the MAX chips led me to find out that many but far from all 1489 receivers will accept 0V/+5V. In the case the 1489 didn't you could use the 1488 output signals to power your DIY circuit that sent signals to a 1489 input. I remember doing that with discrete transistors for various projects back in the day, like for example level converters for, ehh, extended satellite TV viewing but also for my DIY caller ID receiver.

(Anecdote: here in Sweden DTMF tones were used, so a MT8870 DTMF decoder chip, a 4040 counter that divided the oscillator that already existed in the MT8870 to a suitable baud rate clock, and two 74xx165 chips and an opto coupler resulted in a circuit that would send printable characters to a serial port, albeit only digits 1-9 would have the correct character representation directly. Still good enough for testing with terminal software, and easy to DIY software. I remember having an old 8088 PC with an amber monitor with software that would automatically add unknown numbers with the current date/time as it's "name" making it easy to see if an unknown number had called previously or not. I didn't have any driver for the RTC card I had for that 8088, but the chip was available from an electronics component seller that offered data sheets sent as fax, so I received the data sheet with my fax modem and wrote my own software. IIRC that chip was weird, it obviously kept time, but also date, month and day-of-week but not year, so the driver would have to look at the combination of date, month and day-of-week, and maybe also look at a command line parameter and/or date of file to tell which year it is).

Also I think that electronics components sellers would likely had sold more MAX chips to hobbyists would had sold more of them if they had sold a package with the chip and the required capacitors. Never underestimate peoples laziness.

(There were no electronics component shop local where I used to live, so I had to order every part that I couldn't salvage from old junk or that I already had laying around from older projects. If there had been a shop nearby where I could had bought MAX chips I would probably had used MAX chips a lot more).

Btw it's obvious that MAX tried to milk as much money out of the customers as possible. It would had made more sense if they only made their own transmitter chip, with as many transmitters that would fit in their chip size, and then just make their own clone of the 1489/75189 chip and let the customers buy either that chip or buy it from any other manufacturer.

===========================

Sorry if I'm writing something that's already been said in the video (that I haven't yet watched), but: IIRC there were a shortage of RS232 driver/receiver chips for a while in the 80's which is why you in some cases can se OP amps used as RS232 interface chips.
 
I tried searching for contemporary prices of the MAX232, but so far couldn't find any. But other prior discussions had led me to believe these were plentiful and thus, in bulk, relatively cheap (at least in NA). So this is interesting, since I eluded that one reason RS-232 hangs on for so long is partially because it is so well understood, fairly easy to implement, and IC chips were abundant to help on the implementation [ thus it took another decade before USB just started to catch on, with then a similar story that over time USB implementations became abundant ]

One aspect I didn't cover -- since I wasn't covering USB, and also because I couldn't really verify it in time: I came across a suggestion that the protocol like what is used in USB3 (8b/10b stuff) was similar to what was used in SATA. But also, that was patented by IBM in the early 1980s. And that' partially explains why it took so long for USB to become adopted (due to having to work around patents and having to avoid licensing fees). I believe this was from old e-mail archived threads, which I couldn't verify in other ways, so I'm not sure if any of that is quite accurate. It seems plausible, and I know "waiting for patents to expire" has caused delays in new products even going back to the upright piano in the mid-1800's (interestingly after those patents expired, notice in the 1880 there was a massive saturation of cheap upright pianos).


Another aspect I didn't get to cover was how the Eddison ticker machine from the 1870s -- while it wasn't the first teleprinter for stocks, it was significantly better than all prior ones. It had an auto-synchronize feature, and use "difference encoding" (similar to original USB). We're talking about a time before electrical wall-outlets were really a thing, so those teleprinters ran on batteries - making them prone to getting out of synch throughout the day.
 
Last edited:
Couple other updates on this topic of RS-232:


- I've added the Bell DataSet (modem) 101C manual into github Eventually this ought to make it over to bitsavers (the document is dated from 1963 and mentions some 1969 revisions, but it covers aspects of the original 101A,B and C). Unfortunately it is not a searchable PDF, so a bit tedious to study. It also has a cute "READ" icon on various important paragraphs (just funny that I'd see a similar thing in the early BASIC programming books, but it was a fashion going back at least a couple decades earlier)




- In the discussion, I mentioned the KeyAT4 as a "serial to PS/2" adapter (meaning you can send a sequence of ASCII codes to the device, which on-the-fly translates those into PS/2 scan codes). I forgot to mention I have code available for this. I wrote a utility in C# that makes use of this (uses the SerialPort library of .NET, but the overall same idea can be applied to other languages). This is available here:, and give an idea of how to parse instructions that get translated into KeyAT4 commands that then get converted into PS/2 keyboard scan codes

 
Last edited:
I assume you meant blank instead of black - both these seem identical (but do have different file sizes). I'd say the two blank pages are accidental from the scanning process.

Another neat thing about that old manual is the use of the sample message "THE QUICK BROWN FOX JUMPED OVER A LAZY DOG'S BACK" (a convention often used in keyboard or communication testing). As this document is from March 1963, I wonder if a DataSet 101 was involved in the famous initial Russia communication later in that same year (using this same test message).
 
Neat to see in the recent "Recompiling the Past with William Tooker and Alex Anderson-McLeod" VCF SW video, how they used serial communication to rescue and re-compile the original Lisa OS source code (involving a painful 60hrs at 1200 baud). That's a segment I did forget to include, on how when all else fails, RS-232 was generally there to save the day (and get a system booting or going again).

DDLINK, if I recall correctly, had a feature to install itself over a null-terminal line (contingent in being able to issue a few commands in debug.com on the receiver).
 
Last edited:
Hmmm ... pages 8 and 10 are filled black in my Foxit as well as Acrobat PDF viewer, but appear white in the web-based Github preview.
If there is no content on these pages, this is fine -- I just wanted to mention it to avoid that content is lost.
 
I was hoping for a chip magazine with prices from 1988 or early 90's. But I can't imagine them being much cheaper - although I do recall over time, chip prices can fluctuate a lot (like if a certain factory or two catches fire, which has happened).
 
I tried searching for contemporary prices of the MAX232, but so far couldn't find any. But other prior discussions had led me to believe these were plentiful and thus, in bulk, relatively cheap (at least in NA). So this is interesting, since I eluded that one reason RS-232 hangs on for so long is partially because it is so well understood, fairly easy to implement, and IC chips were abundant to help on the implementation [ thus it took another decade before USB just started to catch on, with then a similar story that over time USB implementations became abundant ]

One aspect I didn't cover -- since I wasn't covering USB, and also because I couldn't really verify it in time: I came across a suggestion that the protocol like what is used in USB3 (8b/10b stuff) was similar to what was used in SATA. But also, that was patented by IBM in the early 1980s. And that' partially explains why it took so long for USB to become adopted (due to having to work around patents and having to avoid licensing fees). I believe this was from old e-mail archived threads, which I couldn't verify in other ways, so I'm not sure if any of that is quite accurate. It seems plausible, and I know "waiting for patents to expire" has caused delays in new products even going back to the upright piano in the mid-1800's (interestingly after those patents expired, notice in the 1880 there was a massive saturation of cheap upright pianos).


Another aspect I didn't get to cover was how the Eddison ticker machine from the 1870s -- while it wasn't the first teleprinter for stocks, it was significantly better than all prior ones. It had an auto-synchronize feature, and use "difference encoding" (similar to original USB). We're talking about a time before electrical wall-outlets were really a thing, so those teleprinters ran on batteries - making them prone to getting out of synch throughout the day.
I'm not at the same place as some of my stuff right now, and also my old ELFA catalogues (the major electronics component seller in Sweden back in the days) are used as feet for a cabinet, but if I remember I'll have a look.

You could also look at electronics magazines. At least the UK ones, like Elektor and whatnot, tended to have ads where various components where listed with prices, in very fine print. I'd think that MAX232 would be in there somewhere. You certainly could find many of the common 74xx chips and whatnot.

I'd say that the analogue/level part might had hindered a few real beginners, but anyone who would had known a bit about electronics would had been able to build level converters using discrete components.

What made RS232 way harder than parallel ports back in the days was that almost all UART chips required a microprocessor to do initialization, and would thus be more or less useless for any non-microprocessor project. There were exceptions, IIRC a Signetics UART had regular input pins to select data bits, parity, stop bits and whatnot, and of course used an external baud rate generator, and could thus be used without a microprocessor. A prime example use case would be to connect a parallel printer to a serial port. (The other way around could be done using 74xx shift registers and whatnot as it didn't have to receive anything, unless you wanted soft handshake which would probably had warranted a microprocessor solution anyways).

I'd say that for USB and for that sake also for Bluetooth it still seems not that easy to do any DIY thing. I had a look a few years ago and for example it seems like you kind of either have to use two separate bluetooth interfaces or use a full blown thing like a Raspberry Pi if you want to create a DIY device that both appear as a bluetooth speaker/headphone and also as a remote control. (My use case for such device would be to interface to a simpler microcontroller like an Arduino that would in turn interface with the CD changer connector on a car stereo (like for example the already well documented one that Volvo used in the 90's, which is the same as Alpine but with a weird "oversize mini-DIN" connector - pro tip for anyone reading this is to go to a junk yard and buy the CD changer cable from for example a Volvo S70 to get that connector).
 
Nice discussion.

Minor nit unless I'm confused. On slide 49 you say the SN75188/SN75189 are TI version of MAX232. The big thing about the introduction of the MAX232 was it no longer needed +-12V to generate proper RS-232 level. The SN75188 requires +-12V. It is the chip the MAX232 is intended to replace. Yea I'm old enough to remember when it came out.
Actually the 75188 and 75189 are just TI's part number for the 1488 and 1489. The first hit I found for "75188 pdf" on Google was a data sheet for "MC1488, SN55188, SN75188 QUADRUPLE LINE DRIVERS". The need for +/- 12 volts was the reason that MAX232 exists.

Anyhow, one of the coolest things about MAX232 and similar chips is that often you can just saw off the right two inch square from random computerized junk and have a pre-built MAX232 with DE-9 connector ready to go, just add four wires.
 
The MAX232 was only 5V-logic friendly.

The newer MAX3232 which drops into essentially the same circuit will happily run from / communicate with both 5V and 3V3 logic devices. You can buy tiny level converter PCBs from online sources which have a complete surface-mount MAX3232 level converter circuit onboard. That's what I mostly use for my RS232 level shifting needs nowadays.
 
Back
Top