-- Leo's gemini proxy

-- Connecting to carcosa.net:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

Gemini on the VT420


For some time, I'd been looking for a vintage terminal at a reasonable price, mostly for nostalgia purposes. The market on fleaBay seems to be mostly split between immaculately restored pieces for exorbitant prices, and broken or untested devices at what would be a reasonable price for a working device. Also, DEC terminals other than the VT520 use a proprietary keyboard, which is usually sold separately from the terminal itself, often for well over $100. Twice last year I lost out on an auction for a VT320 in good condition at a reasonable price, in the last few minutes of the auction. But finally, a few months ago, I managed to get a working VT420 with keyboard and all for only a little more than I wanted to pay. It took a bit to get it set up, but now I've gotten it working well-enough to do my day-to-day personal computing on it.


My setup


The biggest hold-up was finding the correct cables for it. A USB-serial adapter for the PC is the easy part. But the US version of the VT420 does not have an RS232 serial port, neither 9 nor 25 pin. Instead, it has a "modified modular jack" used only by DEC, which looks like an analog telephone connector, but with the retaining tab off-center. So I had to get a serial cable with those connectors, and a MMJ-to-RS232 adapter, and a 9-pin DIN null-modem adapter (which could have been avoided if I had gotten the DEC cable as a crossover). Fortunately, the good people at Stonewall Cable will custom-build all of these things for you for a reasonable price, much, much cheaper than vintage connectors.


Stonewall Cable


As for the software setup, it's connected to my desktop/server machine under my desk. It's configured with the serial-getty@.service systemd service included with Fedora Linux, though I have modified it to include the set of baud rates that the terminal will actually run at. I spent an unreasonable amount of time fiddling with the software to get it to run, especially considering my final setup was so close to all the defaults.


Software


Pretty much everything that works in a terminal emulator also works on the actual terminal, unless it depends on the terminal being fast, or doesn't degrade well to monochrome. Mostly these are only very modern terminal apps, though I was slightly disappointed that cmatrix doesn't work well.


Naturally, I am doing most things in Emacs, which is not a change from my usual habits, except that I normally use a graphical frame on Wayland.


mu4e for mail

elfeed for RSS feeds

elpher for Gopher and Gemini

mastodon.el for fediverse. It doesn't support multi-account, so I am only using it with my emacs.ch id.

ement.el for Matrix chats.

eww for incidental web usage.


I am also using `links` for web browsing, as it does better than eww on some pages.


I am using ncmpcpp for music. It's a TUI client for MPD. Honestly, this is so good that I use it even when I'm on a GUI screen. The visualizer is another cool thing that definitely doesn't work at 19200 baud, though.


One of the only games I play is Dungeon Crawl Stone Soup (dcss or crawl), and it works "okay" on the VT420. It suffers somewhat from not having Unicode or color, but it degrades pretty gracefully.


I'm using tmux to multiplex everything that's not Emacs.


The good


The amber monochrome display is lovely. It's in great condition, with no flicker, jitter, or burn-in. The font used in 80x24 mode is beautiful. The font for 132x24 somewhat less so, so I'm using 80x24 unless I really need it. It has 36 and 48 line modes, but they don't look great, and combining them with 132-column mode leads to flow-control issues.


The bad


The VT420 supports hardware flow control, but it supports a DEC line protocol for hardware flow control that's not compatible with the RTS/CTS signaling that everything else uses. (The VT520, not surprisingly, supports RTS/CTS and has a normal serial port, given that it was released after PCs ate the world.) A connector that partially bridges these protocols is possible, and I *think* that one I have on order will do the job, but I'm not sure. Software flow control (XON/XOFF) doesn't work with most modern Unix software, so I have it turned off. I can run the terminal at 9600bps with no glitches (except occasional arrow key overruns) or at 19200bps with very rare glitches, which is Good Enough.


Obviously, the VT420 does not support Unicode, as it was released the year before the first volume of the Unicode standard was published. Fortunately (and unlike the VT320) it supports ISO8859-1, which is good enough for many things, given I only speak a handful of European languages. I've convinced Emacs to display characters that can't be displayed in ISO8859-1 as "[ ]".


The worst thing about the VT420 is definitely the keyboard.

The keys are somehow simultaneously too stiff and too mushy. It is not a joy to type on, and my forearms are getting sore.

The keys cannot be remapped (as far as I know), which means I have to mentally switch from Colemak to QWERTY to use it.

There is only one Control key, and it is small, and to the left of a larger CapsLock key. This is obviously detrimental to Emacs use.

The "Alt Function" keys send a string of garbage that nothing in the world interprets as either Alt or Meta. I found some code that lets you use them in Emacs in keybindings, but you have to bind them explicitly; there's no mapping from Meta.


I am thinking of a kind of long-term goal of building a box with a microcontroller (ESP32 or Teensy) inside that will translate between a USB keyboard on one side to DEC's serial keyboard protocol (another MMJ connector) on the other. Stretch goal, to have it do keyboard remapping similar to well-known open source keyboard firmwares. I've never done a microcontroller project before, though, so not planning on it soon.


Conclusion


I've managed to move most of my non-work computation over to the VT420 now, and other than the keyboard, it's generally satisfactory.

-- Response ended

-- Page fetched on Sat May 4 01:21:11 2024