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
______________________________________________________________________
                  Gophered by Gophernicus/3.0.1 on FreeBSD/amd64 13.0