GOPHERSPACE.DE - P H O X Y
gophering on gopher.linkerror.com
(Crappy ascii art trigger warning)

############
# Day zero #
############

Behold, I got a box!


...-------------------'
..------------------./ |
|  ______________    | |
| |From ebay with|   | |
| |love          |   | |
|  ``````````````    | |
|                    | |
|                    | |
|                    |/
.`------------------'

Or, here is an actual...

 photograph

... rather than a textual representation.

You see, a few days earlier, I had ordered a HoneyWell terminal
from ebay. I am not particularly in the habbit of buying a ton of
stuff from ebay, but this is a HoneyWell terminal!! The reason for
all of my excitement is that I am rather fond of the Honeywell
(and earlier General Electric) family of mainframes this thing was
used with, namely the DPS series, and the GCOS (or earlier, in the
GE days, GECOS) operating system that ran on them. (they also ran
multics) - and until recently anyway (because the guy is selling a
bunch of them) you NEVER saw these- or any type of DPS-related
stuff on the bays of Eeeeh... I do
remember once upon a time a tape system being sold, for looooooots
of dollars, but that's about it.

So cool. I excitingly grab a sharp object and cut the box open,
and reveal:

...________
../_////__/|
.||    | | |
.||____|_|/
/###### #/
--------`

 ... It's contents!

Alright awesome! Just look at it! It's relatively clean, but still
has a nice patina. It even has an old printout with random names
labeled "buyer names" still stuck to the side. What tales could it
tell? But more importantly, will it work?! The ebay auction said
it did, but I'm not sure if I trust just powering on this thing
and frying it without having a look at the innards first, and at
least poking around with a multi-meter for obvious shorts....
*pokes around the terminal to see how it might open*... but ooh...
what's this?! It's modular! It appears the main circuit board just
slides out as one solid module, encased in plastic:


..---------.
.|\       /|
.| |     | |
.|=========|
.|________\|
..________.
.|\        \
.\ \---------
..\|_===__==_|

 Alright, you get the idea,.. here's the picture.

With the board out, I could peek inside and figure out that the
cover was held in place by 2 screws, once those were out, it
opened up like the hood of a sportscar :)

 This would be hard to draw, so here's just the picture ;)

So we see an board with the crt driving circuitry, and the metal
case on the left houses the power supply. At this point I was a
little worried because you can see some blackened metal in one
spot on the PSU. I tried to peek within and the components there
didn't look obviously damaged- but of course I can only tell so
much without opening the power supply cover. Instead I opted for a
quick measure of the outputs, which seemed fine.

I closed the cover backup, and re-inserted the main board module,
and decided to just go for it, and sure enough, it powered up into
it's built-in test mode.

 First power-on picture.

###########
# Day one #
###########

Alright, so now I had to figure out how to actually talk to this
thing. It has a db25 connector on the back labeled "J1/Data Set",
which I assume is where the electrons are supposed to enter.
Hoping that it's just a plain db25 serial connector like any other
terminal, I hook up a db25->db9 null-modem cable I have laying
around. I was using this cable with my panasonic luggable in the
past, so I know it should at least work in theory, if it were
plain serial. After hooking it up and messing about a bit with
various stty settings I do get garbage on the screen when I press
keys on the terminal. To my surprise i had to use 7 bits per
character instead of the usual 8 (cs7) - but unfortunately, I can
only get data in one direction; pressing keys on the terminal
makes characters show up in my screen session, but not the other
way around. I was expecting at least some garbage characters even
if the settings were not correct, but nothing. Well,
darn.

 Back connectors (1)
 Back connectors (2)

###########
# Day Two #
###########

So, the fact that I got readable characters in one direction is
actually very good news. This meant that it's talking plain 'ol
serial as I had hoped. The next step was to make a cable and see
if I could figure out what other pin the terminal might receive
data on. I got a few of those screw-terminal db25 and db9
connectors, and cut up a piece of scrap serial cable I had laying
around, and wired up a plain full null-modem cable as a starting
point. Unsurprisingly, the homemade null-modem cable gave exactly
the same result as the commercial one. So then I went and took a
closer look at what all the 'extra' pins on a db25 serial
connector are for. It turns out there's actually a second set of
data pins, there is a second Read/Transmit-Data pins, etc,... As a
complete stab in the dark I tried bridging the normal RD pin with
the RD(2) pin, and to my surprise I now had everything working in
both directions! I don't know WHY the read-data needs to go to the
second one instead of the same set the TXD goes to, but it is what
it is! (If anyone knows, let me know!) - I couldn't find any
technical documentation for this terminal, just a few (very cool)
sales brochures. After messing with my Linux machine's inittab and
trying varous TERM variables, I managed to ssh to sdf and open up
commode:

 Wiring of the connector
 Commode
 Commode (close-up)
 Wiring diagram

#############
# Day Three #
#############

Alright, so now I've got a somewhat usable terminal. What's left,
you ask? Well! It's not quite perfect, you see. When I open up
vim, everything just sort of scrolls off-screen and the terminal
makes a bunch of unhappy bleeps. No, we can not just leave it at
that. We have to figure out what the appropriate TERM variable is
for this thing and see what else it can do. Some of the marketing
material mentioned it being able to do line graphics, and
potentially other fancy stuff by sending it SI/SO control
characters and what not. Given the lack of any real documentation,
I decided to write a little program that allows me to send it data
in a controlled way.

 Some output of the test program

As you can see in the above photo, I did end up figuring out how
to toggle the line-graphics mode, well - i'm getting ahead of
myself - the FIRSt thing I noticed was that I could send it VT52
control characters, like for instance \033A to move the cursor up,
but -not- ANSI control characters like \033[A - For this reason I
settled on the VT52 TERM variable/termcap file. Although it's not
quite perfect. Vim is still broken; and when looking at the
documentation of the VT52, it's supposed to enter line-graphics
mode with \033F and exit it with \033G ; but for this terminal it
is exactly backwards! It enters line-graphics mode with \033G and
exits it with \033F - I thought the wikipedia page of the VT52 was
backards first, until I went and looked up the actual old manual
and confirmed it there (unless the original manual was backwards
and wikipedia copied the mistake, which is of course also possible
but unlikely) - so for now I will assume that this honeywell
terminal is backwards from the VT52 - which is actually kind of
funny. So with that in mind, it seems obvious that I will have
to do more testing, and craft up my own termcap file for this
thing. Which, I haven't finished yet at the time of writing, but
when and if I do, I'll put it up here along with the other
documentation and findings of my experimentation.

The other thing is, if you notice in the pictures, there's some
diagonal lines going across - that's the horizontal return being
slightly 'off' - it probably needs some caps replaced, so that's
another thing on the todo list.

I hope you enjoyed my little story! :)

##########
# Update #
##########

I've managed to "fix" the CRT so it no longer looks like a wash
of green with diagonal lines. It just needed a bit of tuning on
the inside. The pcb for the CRT has a bunch of potentiometers
and variable coils for tuning, as they typically do. There was
a tunable coil for the horizonal width and the brightness, after
adjusting that, it looks so much better! Here's the result:

 Fixed crt