re: on UARTS..

Didn't it basically standardize the process of that task of converting a
byte to bits and vice versa, in a fashion specified by RS232?
And do so at the above-300-baud rates, since that task was too stressful
for 1MHz processors to pull off on its own (in addition to whatever else it
was doing, like flashing a cursor on a CRT?)?
And the buffer just gave grace time for if one of the systems got overly
busy? (like when scrolling said CRT)?

Might a UART be an early example of an ASIC?







On Fri, Jan 31, 2025 at 12:44 PM Steve Lewis <lewiss...@gmail.com> wrote:

> Neat stuff.  So what got me started (this year) dealing with RS232 is
> trying to figure out a means for doing file-stream data exchange with the
> Commander X16 (which is using a dual 16550 modern-make UART and ~14MHz
> clock).  It doesn't have a native terminal software yet with something like
> YModem implemented.   Which I've found YModem faster over "wireless serial
> connection" (serial adapted to WiFi, so varied data rates over time) and
> ZModem being faster over wired (null modem) connections (apparently since
> ZModem has particular ACK-timeout requirements, which favors a reliable
> data exchange rate).
>
> So while some protocol gets developed for that system, I experimented with
> other actual vintage system trying to "talk to" a modern PC (where "modern
> PC" is a 3GHz i7 laptop).  For the actual task of transferring files, there
> are many other better options, but I still wanted to "push the envelope" of
> what classic RS232 could do on these systems.
>
> And it was interesting that even modern-PC to modern-PC, it only handled
> 460Kbps.  But it causes two "opposite" questions:
> 1) How is it even doing over 115.2Kbps?  (is that still "RS232"?)
> 2) Why is it so slow even on modern systems?
>
> The answer to the first question is the "magic" of those modern-make
> USB-serial dongles.  I don't fully understand if they're running at 3MHz
> (since in thier manual I see references to higher clock rates, like
> 48MHz).  But maybe also answer like this: going back to the early teletypes
> days (pre-Bell 101 era), two systems can talk at "whatever-speed" just as
> long as they both agree on and achieve that speed (a limit that also
> involves the cabling between them).
>
> In this case, as long as the UARTs can be throttled to within-1%-ish clock
> speed of each other.   But it's still the same RS232 principles even at
> these super-speeds? (specialized chips, doing the 2-of-3 hits finding start
> bits, etc, with higher clocks like 12, 15, 20MHz, I see SIIG offering UARTS
> with 25 and 30MHz clocks).    It seems to me that an S-100 system with a
> ~5MHz serial clock, or a later ISA card with a 7.3727 clock with a 16550,
> those could be clock divided to support over 115200.   But it just ended up
> that the 1.8432MHz configuration was the most mass-produced and available,
> because that is what was sufficient for phone lines of the 1980s? (i.e.
> what the IBM PC did)
>
>
> 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").
>
> - 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).
>
> - The 286 mustered about 2.3 KBps (that is, the sustained download speed
> using a very good implemented-in-assembler terminal with YModem, receiving
> data from a modern make 3GHz PC USB/serial adapter).  This was using a
> 57600 baud connection, so I'm not sure why the 286 couldn't do a little
> better on throughput.  I assume a limitation of its raw speed (12MHz) to
> compute CRC checks, and then the combined memory/hard drive speed to write
> received data to disk.  Again, the UART could handle up to 115200, but the
> system could not.
>
> - The 486 handled a nice 11.3KBps download at 115200 (null modem, same
> modern-make laptop and terminal program as above).  So the combined
> performance of its memory, write to disk, and raw 50MHz CPU, it could
> "out-perform" its UART (or at least match it).
>
> - The Pentium was slightly slower, 11.1KBps - but probably because it was
> also running a GUI (WinXP) at the same time or maybe just due to having a
> slightly different UART clock (being a laptop, I don't know what specific
> clock it had.  Still, you'd think an IBM ThinkPad would have a fancy ~7MHz
> clock with 16550 and be able to do better than 115.2K, but nope (at least
> not with the IBM drivers I could get).  Then again, by late 1990s there
> were many other better solutions for transfering files between systems and
> "serial ports" on consumer laptops just had to be good enough for the
> modems/phone lines of their day)
>
> - Modern make laptop to modern make (two fancy i7's talking over
> USB/serial adapters) achieved 45KBps (bytes per second) across a 460K baud
> connection (ZOC, ZModem).  And yes, it's a ridiculous way to transfer a
> file between two nearby systems these days.   It's neat to see RS232 pushed
> that far, but on the other hand, that's really slow for a modern PC.
>
>
> So that leads to the next question, why was only up to 460K stable?  At
> 921K everything was misinterpreted.  It could be the cables (and I do have
> shorter ones coming, and will test).  Those FTDI USB devices (or MAX232) do
> have a published programming manual, so we could try various clock rates
> that might net somewhere in between 460K and 921K baud.   But thinking
> through it a bit:  USB is 4 wires (2-data), and that device is "emulating"
> a flow-controlled RS232 connection.  So then what protocol is USB using to
> get its super speeds?  Something-NOT-RS232.  We can read all about that -
> but I don't want to get too sidetracked on USB-isms.  But it opens a
> question, could we exchange data faster across traditional "serial port" if
> we used something different than YModem?  (it's just that most vintage
> systems have an existing KERMIT, X/YModem implementation, and there are
> other more practical ways to exchange files across modern systems, no one
> has really looked into improved protocols across RS232? like... dual
> channel across the RI line? ha!)     But whatever that faster protocol is,
> those vintage systems might not have the MHz horsepower (or memory capacity
> or speed) to pull it off?
>
>
> And, on the question of "why UART?"  Well - hmm, history shows computers
> exchanged data across long distances prior to the 1970 consumer UART
> (TR1402A).  Flow control makes that connection fairly reliable, and you see
> those control flow lines listed on the Bell 103 (I tend to think the Bell
> 101 was kind of maybe a prototype of proof of concept, so far I'm not
> seeing anything that used it; SAGE identified a specific need, so that Bell
> 101 maybe motivated thought on what such a thing could be used for).   I've
> also read CRC was also becoming a thing in early 1960s (which helped verify
> blocks of data, prior to that error correction was just the parity bit).
>
> I have to drive for awhile today, I'll ponder on the essence of when/why
> UARTs became an essential part of these systems.  Does a UART become
> important when two systems are vastly mixed performance?
>
> But for other fodder, I'm reading over the async card for the IBM 5110.
> Page 12 of this IBM 5110 doc has a block diagram of IBMs version of
> "asynchronous card" -
> SY31-0552-3_IBM_5110_System_Logic_Manual_197902.pdf
> <http://www.bitsavers.org/pdf/ibm/5110/diagrams/SY31-0552-3_IBM_5110_System_Logic_Manual_197902.pdf>
> And its manual (from 1978) has some interesting paragraphs (plus how that
> system was apparently obsessed with showing text-mode graphs of the error
> rates; line quality is apparently still very rough by late 1970's):
> SY31-0557-0_5110asyncComm_Jan1978.pdf
> <http://www.bitsavers.org/pdf/ibm/5110/SY31-0557-0_5110asyncComm_Jan1978.pdf>
>
>
> -SteveL
>
>
>
>
>
>
>
>
>
>
>
> On Fri, Jan 31, 2025 at 10:20 AM Frank Leonhardt via cctalk <
> cctalk@classiccmp.org> wrote:
>
>>
>> On 31/01/2025 15:23, ben via cctalk wrote:
>> > On 2025-01-31 7:06 a.m., Frank Leonhardt via cctalk wrote:
>> >
>> > I wanted to get a REAL computer for a long time, since the 70's and
>> > now I have
>> > nice 18 bit home-brew design, using 2 1508 CPLD's and 6 74LS219's for
>> > the ALU and a 1508 for the control logic.
>> >
>> > Back then you could get TTY's and other HARD copy output devices
>> > and paper tape I/O.
>> >
>> > Now that have my 1977 computer (It uses 68A50 ACIA's) is there low
>> > cost paper tape punch/reader emulator for just a plain 1200 baud
>> > serial port? All I have working now is just a serial boot strap and
>> > some ram.
>>
>> I've still got a few actual teletypes. Be careful what you wish for. I
>> was going to suggest searching eBay for an ASR33 but I checked and there
>> aren't any.
>>
>> My 1970's computer had a switch on the one ACIA between a Teletype and a
>> a CUTS cassette interface. The latter stored at 30cps. An advantage to
>> the CUTS is that you can't get paper tape easily AFAK (This list is
>> probably the place to ask).
>>
>> I'm not sure how an emulator would look TBH. It wouldn't have the charm
>> of the original, but I do see your point. What were you thinking? Hard
>> copy or VDU? I see you can still buy matrix printers which, with the
>> appropriate driver, could be persuaded to do one character a time. I see
>> on Amazon they now cost a lot more than laser printers!
>>
>> And store "paper tape" as files on a USB stick? Or you could use a
>> cassette, although they're getting hard to find. The FSK circuitry is
>> pretty straightforward (copy it from an OSI 600 board
>> https://osiweb.org/manuals/600revB.pdf Sheet 7).
>>
>> And I don't know where you'd find such an awful keyboard - although you
>> could make one yourself out of 53 key switches. The final touch would be
>> a powerful subwoofer to make the whole house shake when you pressed a key.
>>
>> I'd be up for working on one.
>>
>> If you wanted a purely software emulation then any glass TTY program
>> that was able to record and play back from disk would do the job.
>>
>> I also checked and you can still get electric typewriters. Brother does
>> one with a daisywheel; Silver Reed has a much cheaper dot matrix. I
>> don't know, but I suspect some of them still have computer interfaces.
>>
>> > So when did serial printers show up?
>>
>> For home computers, from memory....
>>
>> The big one was the Epson FX-80. They tended to have parallel interfaces
>> - cheaper than serial! You could buy a serial board to fit in to them
>> (I've got one knocking around).
>>
>> A Teletype is, of course, a serial printer. And it was all I could
>> afford. £50 at the time, whereas a matrix printer was £200.
>>
>> A few years later people were chucking out teletypes, so I picked up a
>> few more for spares.
>>
>>
>> Regards, Frank.
>>
>>
>>

Reply via email to