Vintage Computer Festival West 2021 - Mainframe Services Project
Last Update: August 1st, 2021
Vintage Computer Federation runs a series of conventions across the USA, showcasing computers and related systems from the dawn of industry, all the way into the late 1990's. The Vintage Computer Festival West happens to be the convention that is the closest to me, and I've attended several times. It's always been a good way to spend a weekend: the exhibits are right up my alley and the consignment room has always had interesting stuff. During the 2019 event we had a good turnout as usual, but I noticed something: there were a lot of exhibits with functional systems but most were simply sitting there, not really doing anything. I wasn't expecting to see people doing their taxes or anything, and there were a few systems running demos, but I thought it would be great if we could get everything doing...something. Preferably doing something together, rather than just sitting alone on a table blinking a cursor for the whole weekend. A couple of exhibitors had brought in and wired up refurbished teletype terminals, and some other enterprising individual actually wired up some kind of analog phone system - which gave me an idea. The Internet is 'too new' for a lot of machines, but practically every system ever made, even today, can connect to things over a serial port.
The mainframe systems of old allowed logins over serial ports - in fact, that was how one used to interact with computers: a room full of dumb terminals connected to a giant box somewhere else in the building. Bringing a VAX or S/360 into the VCFW exhibit hall is well outside my commitment, but maybe I could put together something simpler.
This is what I got:
The original adapters were built around an FTDI chip that are a bit tricky the solder by hand. I realized that I wasn't going to be able to fabricate all the boards I would need in the time left, at least not without dropping a serious amount of cash to have them professionally produced. So I ended up digging into the spare parts at work.
We happened to have a supply of Innodisk EMP2-X801 cards, which utilize a MaxLinear (formerly Exar, hence the 'XR') XR17V358 PCIe-interface eight channel UART chip:
Here is a photo of two X801 cards, one minus the Hirose DF13 connectors. (Note the triangles pointing to pin one.) I was working out the pinout of each of those 2x10 connectors; each column of ten pins breaks out the standard serial signals for a port, plus a two GPIO pins from the XR17V358.
Annoyingly, Hirose is sun-setting the DF13 connector, or at least this two column configuration of it, but I have a box of cables I can cannibalize for the cause. I briefly thought about using the provided DE-9 breakout boards - two ports per 2x10 DF13 on the main card - but the RS-232 driver (MaxLinear SP339EER1) didn't have the level of protection I desired.
I ended up building my own DE-9 breakout by hacking off the isolation and driver part of my previous serial port breakout project, and spinning it off as it's own board: This board was a whole project unto itself, so I'll make a page for it at a later date.
Short version is, I used the Texas Instruments ISO7840 and ISOW7841 chips for port isolation, and the MAX3243 as the RS-232 signal driver.
If my wiring is correct (lots of late nights after work), it should be a pretty solid safety measure. I'm using Micro-Fit 3.0 connectors for the wiring to the board.
They have positive locking, are widely available, are not EOL like the DF13's, and I have the crimp tools already. If all else fails I can solder pre-crimped pigtails to the wires. I fired off the production files to OSHPark late last week and I'm desperately, desperately hoping they get finished in time.
(No quick-turn service for four layer boards!) Adlink miniBASE-10R COM Express Type 10 development board, and a VersaLogic VL-EPU-3311 "Osprey" computer. (Datasheet here.)
The Osprey is actually a carrier for the VersaLogic VL-COMm-33 Computer on Module (COM). The Osprey doesn't have enough mPCIe ports, so I pulled the COM off the Osprey and installed it on the miniBASE.
(FYI: Images not to scale with each other.) The Osprey is even the high-end '-EDP' variant with the quad core Atom E3845, 4 GB of RAM, and an 8 GB eMMC part!
(At least it's still sticking with the original intent of being totally under-powered by modern standards.)
I've tested the whole setup (two serial cards, carrier, Osprey) with Ubuntu 20.04 LTS and it works great.
I'm working on that right now. Hopefully more updates next week.
The good news is Unix is still around in a variety of forms.
NetBSD is well known to me as I've used it in the past - it's pretty much guaranteed to run on anything, which makes it useful for interfacing with old hardware and data rescue.
Some kind of second-hand 486 or Pentium tower would make sense, but trying to find inexpensive multiport serial cards proved to be more difficult than I expected. By coincidence this is exactly what I was doing at work at the time: we had an array of equipment of which each unit needed a serial port connection to a Linux machine. This is a space I had investigated already.
The cards I ended up using at work were fairly expensive (~$150 each) semi-custom parts due to some special requirements, so, not useful here.
Other cards I found on Amazon, Newegg, and eBay didn't look too reliable and driver support on Linux/BSD was questionable. At this point I realized that I would probably need to build my own serial port cards.
I wanted to support all the 'extra' modem signals - not just TX/RX. I expected some vintage equipment would need these 'extra' signals to work properly.
I wanted bullet-proof port isolation. The systems people bring to VCF tend to be esoteric and hard to find, by definition. Some of them are straight-up one-offs - development hardware and prototypes. If wired wrong, a failed power supply on one exhibit could wipe out everything plugged into my server. We would most likely loose irreplaceable history and I would feel terrible regardless.
I'm an electrical engineer by trade; plugging chips together is literally my day job. It couldn't be that hard to build a multiport serial card... One option was to build my own interface using an FPGA or powerful microcontroller. While in theory I could support all the ports I needed on one chip, I really didn't want to sink a bunch of time into developing a serial interface engine and system drivers from scratch. I wanted something I could just plug in, and the system would immediately enumerate as a serial port. No special drivers or other backflips needed. Everybody in the electronics hobby world knows who Future Technology Devices International Ltd. (FTDI) is.
They're the first name in serial-to-USB cables; practically everybody carries them, the pinout of their cables are the de facto standard for the serial interface on hundreds of boards.
But they also make numerous other, more specialized chips besides: enter the FT4232H. The FTDI FT4232HL is a quad-channel USB 2.0 client serial interface chip.
It's relatively inexpensive, it's widely available from the usual suppliers, and it's drivers are included in every major operating system.
There are some chips available with more ports (MaxLinear provides an eight-channel chip, I think), but all of these used a parallel interface or PCI Express - neither of which are easy to work into a expansion card for the average computer. I felt this was the best solution.
Wait, what? Yeah, seriously. I felt it would be more 'realistic' to use a slower machine.
To be sure, old mainframes of the 60's and 70's were far less capable than the RPZ, but the Broadcom BCM2835 SoC is one of the slowest modern processors that can run Linux/BSD. Admittedly I'm being a bit silly. If I was really serious about this I could dig up an old Dell P3 with a couple of USB ports, as that would definitely be slower than a RPZ, but I enjoy the juxtaposition of running a room full of terminals off a SoC that is smaller than my thumbnail. Huzzah, technological progress!
I am also curious to see how the BCM2835 would stand up to a multiuser OS actually being used as a multiuser OS.