View Full Version : XT keyboard protocol

October 13th, 2006, 01:51 AM
Hello everybody,

I'll start by introducing myself. I'm an electronics engineer and I'm trying to develop an XT-protocol keyboard for a customer who wants to use it on his Rosemount DCS system from about 20 years old, sounds strange but apparently those rosemount systems can survive a nuclear attack. It has been installed for about 12 years and the only thing that broke down was a hard disk because someone tried a hammer on it.:confused:
Does someone know where I can find the code tables and a firm description on how this XT protocol works. It is different from AT, that I know.

Second question, I would have to test the encoder, the only problem is, what computer do we use for this? The old first IBM PC would do, but is too expensive. Is there a different solution available?

I've been googling for the last few days but I can't filter out anything usefull.

Best regards,


October 13th, 2006, 03:45 AM
The first reference is the horse's mouth:

IBM Personal Computer XT Manual
Technical Reference
First Edition (Revised May 1983)

Volume I
pages 1-25 through 1-34


Volume II
ROM BIOS listing
Keyboard I/O
pages A-24 through A-34

October 13th, 2006, 04:38 AM
You can but a converter, or do it by your self, but most easiest will be clone
AT/XT keyboard with swich, they were made until ~'93 and can be found on most 386 systems or even 486 and Pentiums I.

You just set swich to XT mode and you can connect it to the computer.

October 18th, 2006, 05:48 AM
Hello Luke, Ziloo

Thanks for your answer. Are there AT to XT converters available?



October 18th, 2006, 07:10 AM
Sorry to be a little dense, but precisely what is the issue?
It seems a little extreme to want to reverse-engineer the entire XT keyboard when it's still possible to find switchable XT/AT keyboards as a replacement. (How's $9.99 (http://search.ebay.com/130037419298)?)
Or does this Rosemont machine not have the standard DIN keyboard connector?


October 18th, 2006, 07:32 AM
Sorry to be a little dense, but precisely what is the issue?


Good question! Klok, is Rosemount DCS System a PC, or is it a whole
different animal that needs a keyboard?

October 18th, 2006, 07:59 AM

Notice that unlike the AT keyboard, the XT keyboard changes the data signal on the rising edge of the clock, not the falling.

October 18th, 2006, 08:03 AM
Sorry to be a little dense, but precisely what is the issue?
It seems a little extreme to want to reverse-engineer the entire XT keyboard when it's still possible to find switchable XT/AT keyboards as a replacement. (How's $9.99 (http://search.ebay.com/130037419298)?)
Or does this Rosemont machine not have the standard DIN keyboard connector?


To me that looks like the switch is missing. I have a keyboard like that from 1994 - it seems the manufacturer simply removed the XT circuitry from the PCB to save costs and kept the hole for the switch, even though it was AT only.

October 18th, 2006, 08:20 AM
To me that looks like the switch is missing.
Okay, I didn't look closely enough at that particular auction.
But my point is that it's still reasonably simple to find a keyboard that will work,
unless there's some information we're missing.

October 19th, 2006, 12:00 AM
Hi guys,

Thanks for your feedback.
Well, it's not a standard IBM 83-key keyboard they want. It's a membrane keyboard, wich has to be easily cleanable and IP65 waterproof (NEMA4X).
In the meantime I've found a solution at Hagstromelectronics.com. Apparently they have got an encoder wich output XT protocol.

I hope this will work because going down the line of reverse engineering something isn't going to be easy.:roll:

Well, a Rosemount DCS system isn't really a pc, it's a dedicated system that is designed specifically for pharmaceutical and nuclear industry. Our customer handed over a keyboard wich has AT/XT switch on it, it's in XT-mode that it works.

I'll keep you up to date, maybe post some pictures when finished...

October 30th, 2006, 12:39 PM
Hello folks,

Just a quick update...

We received the keyboard XT encoder, haven't tested it though...
I bought a IBM PC XT model 5160 for 25 USD, but I have no boot disk, does anyone know where to buy those boot disks?

PC looks great though, especially the monitor, makes me think of my father yelling at the screen because the damn thing didn't work...



October 30th, 2006, 01:31 PM
I'm confused - are you just looking for a version of DOS on a diskette to boot it with? Are you ever planning on using the Xt, or did you just need the keyboard?

If you have a way to get software onto a 5.25 inch diskette then making a boot diskette is easy. If you can't make your own 5.25 inch diskettes from an electronic image, then you'll need somebody to mail you a physical 5.25" diskette.

October 31st, 2006, 02:08 AM

Thanks for your answer,
Well, the PC we bought doesn't have any software on it.
So I'm looking for a floppy disk which has dos on it, maybe a text editor so we can test our keyboards once we get them assembled.

Could someone help us with that?



November 1st, 2006, 12:10 AM
So it sounds like you've got a 5160 with no hard drive, and one or two floppy drives. Without a boot diskette (and without a bootable hard drive), the 5160 should be jumping into BASIC. You can test your keyboards at the BASIC prompt.

November 1st, 2006, 06:45 AM
Before that disconnect hard disk controller (usualy long card with two cables from ard drive connected to it).
Often controller's BIOS don't start BASIC, but say about hard disk error.

But if you don't have hard disk controller I don't know...

November 6th, 2006, 12:26 AM
Hello Luke,

I think you must have designed it? ;) I disconnected the hard disk controller (after removing half a pound of dust), restarted the PC and it worked.

I'm going to the customer tomorrow to test our encoder, I'm pretty sure it will work...



Mike Chambers
November 14th, 2006, 06:49 PM
basically the XT protocol works like this... it's pretty simple really.

first, here is the pinout for the input jack:
1 = clock/clear-to-send
2 = receive
3 = reset
4 = ground
5 = +5V

so, say the keyboard is ready to send a scancode byte. it's kind of like a serial port. it sends out 9 bits for every keystroke. there's 1 start bit, and then your 8 data bits. these bits get sent in order, one with each of the CLK line's pulses.

after the system receives the data, it holds low the clear-to-send line until the computer's keyboard handler processes it so that the keyboard can't send anything else until it's ready.

i'm sure there's a little more to it than this, but i hope it helps. that is the basic working behind it.

Mike Chambers
November 15th, 2006, 09:25 AM
btw, if you wanted to just examine what the keyboard sends out... you can simply wire it into a serial port and use a terminal or some sort of input diagnostics program to see what it sends you.