• Please review our updated Terms and Rules here

Determining keyboard protocol for dumb terminal

I've spent years collecting documentation and hardware for serial data terminals.
When keyboard collecting became a thing, any detachable terminal keyboard was bought up by them
so now, if you want to actually buy and USE a terminal you have to find some way to adapt what
can be found to work with them.
 
Is the TTL input getting through the 7407 to the UART?.
I suppose we could disassemble the PROM contents to see exactly how channel B of the UART is programmed, but that sounds like a lot of work... :(
 
Is the TTL input getting through the 7407 to the UART?.
I suppose we could disassemble the PROM contents to see exactly how channel B of the UART is programmed, but that sounds like a lot of work... :(
Hey good call. I wrote down the wrong wire color for RX.

Keyboard port is working at 1200 baud. I get the same results with 8n1 and 5n1. The keymapping is definitely not ascii.

I do get consistent and repeatable characters, but I am not sure the data length is correct.

Also, I think the keyboard I have is actually an ASPECT keyboard (with top label removed), but it's a later version (2.0) made in Korea which uses the PS2 or similar protocol. I found photos of this keyboard which looks identical and probably would not work either.
 

Attachments

  • aspect2a.jpeg
    aspect2a.jpeg
    71.3 KB · Views: 6
  • aspect2f.jpeg
    aspect2f.jpeg
    51.2 KB · Views: 6
Last edited:
I wouldn't expect that the key map would be ASCII. Given the number of keys on the keyboard, you're probably looking at 8N1.

What are you using for a PC terminal program?

The next thing to determine is the flavor of the keyboard. That is, does it take 2 codes to produce a complete keystroke?

As far as the encoding, I'd check the PROM for what looks like a translation table.
 
Last edited:
I once needed a keyboard for my Polymorphic 8813. It use a parallel keyboard but the idea is the same. I got a Franklin keyboard that mostly worked and modified the ROM to get a couple of other special keys not supported by the Franklin keyboard ( ^@ as I recall was one of them ).
It use a 8041 but the concept of modifying is the same, You look for a block of data that is not code in the ROM. Since it is a terminal, it didn't likely use the same protocols as the PS2 or such. This protocol includes codes for both make and break of the key. For a terminal, it is more likely to have at most a repeat function, rather than a more complicated PS2 type coding. The PS2 would keep track of any combination of multiple keys being simultaneously been engaged for use by the main computer. Such complicated actions would be of little use for a terminal.
You could try different input to the terminal and see how it response and what id sent out to the terminal out. You should be able to map it all to something useful.
At worst, you can use a small uP to translate whatever you need. I needed an extra parallel so I used a PS2 keyboard and wrote the code to go to parallel. I used a "Blue Pill", some connectors and pullup resistors. ( The Blue Pill has some 5v tolerant I/O ).
Dwight
 
One helpful hint is to think "If I had to implement this, how would I do it?"

If, for example, you're expecting make-break codes, then it would be logical for one or the other to set a bit in the transmitted keycode. You get the idea...
 
Yeah good tips thanks. I'm using minicom.

I'll run run thru all the scan codes and write down the key mapping.

I almost purchased this keyboard last night:


But, looking closely, it looks like the same keyboard I have now. The case and keys are identical to mine (look at the 3 key, and the feet are the same design), but both are very different from the original "Liberty Freedom Aspect" keyboard. I think it's for a later model.

I was super excited until I realized it would be a waste of $130 :(
 
I'll run run thru all the scan codes and write down the key mapping.
:(
can minicom give you the hex value ? like I said, I've seen keyboards where the make/break sets bit 8
it's also possible that a different value is returned if one of the modifier keys is held down

I put up a text file on bitsavers that has some setup infomation, i'm not sure if it is for this model, though
 
can minicom give you the hex value ? like I said, I've seen keyboards where the make/break sets bit 8
it's also possible that a different value is returned if one of the modifier keys is held down

I put up a text file on bitsavers that has some setup infomation, i'm not sure if it is for this model, though
I'm working the other way around. The keyboard is for a different terminal and not serial.

So I'm sending data from minicom on my mac to the terminal's serial keyboard port using a USB to TTL serial adapter.

I have the terminal's RS232 port TX/RX lines tied together so I can see the character on the screen even though it's in full duplex.
 
Note also, that there's a beta version of RealTerm here for linux that allows quite a bit of fiddling with character codes. (There's also RealTerm for Windows, if that's your particular poison).
 
I'm having the same fun with an ADDS 2020 w/o kb that I just replaced the power supply in
and now works.
Bought an ADDS keyboard that looks identical to what is in the pictures and it has
a 6 pin phone connector instead of 4. I'm hoping it will just need a cable swap once
I've figured out the pinouts of each. While there are discussions of these keyboards
in the kb collectors groups because they use a collectable switch, apparently no one
has documented what the 'ADDS' keyboard protocol is.
 
Ok, so I don't think this is a standard rs232 type serial protocol. I've sent 0x00-0xFF, and I do not get a complete alphabet.

Also one of the keycodes keeps changing the keyboard layout
this looks like a useful start for a PS2 keyboard converter, this was for a televideo

This looks interesting, and might explain the fact that I could not get a complete character set.

I'm also going to have a look thru the terminal rom dumps and see if there is a character table in there.
 
Not having much luck figuring out the scancodes. Some combinations enable CAPS LOCK, but when I reset and re-send the same combination, it doesn't work. Pretty frustrating! And something is changing the key mapping which makes it even more confusing, unfortunately I can't get it to happen intentionally even when I send all of the same scan codes again.

I see some Liberty Freedom 100 keyboards on ebay. I wonder if they are the same protocol, and if so has anyone reverse engineered it.
 
Back
Top