• Please review our updated Terms and Rules here

AT to XT Keyboard Converter

Well, I'd actually have more use for one of those, i.e. an XT keyboard>PS/2 converter chip for $5.00 or so; it'd give new life to some custom keyboards and a bar-code scanner...
 
Well, I'd actually have more use for one of those, i.e. an XT keyboard>PS/2 converter chip for $5.00 or so; it'd give new life to some custom keyboards and a bar-code scanner...

I see and appreciate your point, Mike, but there's a big difference between going from a 101-key board to an 83-key one and the reverse.

I gave up using my old NCR/Cherry keyboards, though I loved them dearly because they had the function keys on the left and had a great feel. The reason was that I had a couple of critical applications that demanded F11 and F12 keys and organized their operation so that the presence of these keys next to F10 was important. Another application differentiates between right and left Alt.

So you're reduced to chording for the missing keys--and heaven help you if you have a program that takes Ctrl-Shift-F12 or some other odd combination. So I'd have to make some rather arbitrary decisions on how to emulate the missing keys. I'll guarantee that someone won't be happy.

On the other hand, going from 101 to 83 keys is easy--I don't have to decide anything.
 
Yep, I can see your point.

Mind you, at least in my case any application that *demands* a PC interface (and therefore can't run on a later mobo) would probably not know about those extra keys, whereas you're talking about using a less capable XT device with an app expecting an AT/PS2 type 101-key. As for the custom keyboards I'm talking about, similarly they don't put out any codes either that a PC wouldn't know how to handle.

I was actually thinking along the lines of incorporating the chip into the device in question and replacing the cable.

But carry on! I also have some cigarette-pack sized (guess that comparison's going to be meaningless soon ;-) terminal boards expecting an XT protocol keyboard, so I'll be a customer for the PS2>XT chip as well.

Of course I *could* disassemble the ROM and convert the kb routines... yeah, right!
 
I allready found an XT keyboard to AT machine converter here.

What I could never find was an AT keyboard to XT computer convertor, and this is what has been created here, and I want one.
 
I gave up using my old NCR/Cherry keyboards, though I loved them dearly because they had the function keys on the left and had a great feel. The reason was that I had a couple of critical applications that demanded F11 and F12 keys and organized their operation so that the presence of these keys next to F10 was important. Another application differentiates between right and left Alt.

I've been using the old IBM/AT 84 key keyboard on modern machines for a long time. I've never found an instance where I really needed the missing F11 and F12 keys. But, then again, I run Linux.

It would be really great if I could use the XT keyboard on newer machines as well - and have contemplated trying to figure out the protocol myself and build a converter. There is a kludge already to use an XT keyboard through the parallel port - supported by a kernel module.

So yeah, I would like to see the option of going the other way - I think that would be very handy. Yeah, ok, so you lose two keys - but at least you'll have a keyboard where the control key is in the right place!

-Ian
 
I'll think about going the other way--I've got one "sort of" uncommitted input that might be tied to ground for going one way and left open (the PIC has weak pullups) for the other. But you lose more than F11 and 12--you also lose the duplicate (right side) CTRL and ALT keys--and, dare I say it?--the "WINDOWS" key...
 
Last edited:
Here's 0.90 of the firmware.

Here's 0.90 of the firmware.

Here's the first installment of the firmware, complete with LED control.

This uses a single PIC 16F629 8-pin microcontroller, one 47 uF decoupling capacitor, two 4.7K pullup resistors and one 1N4148 diode. If you install this inside of a keyboard, you could probably get rid of the decoupling capacitor--my installation is in the middle of a long cable, so better to be safe than sorry. I recommend socketing the PIC so it can be removed for reprogramming.

My own setup is a simple "enchanced" JDM parallel port programmer, although there are a lot of other possible ways to get the job done. (Just search for "PIC programmer" on eBay.)

I use IC-Prog under Windows to do the deed; it's the only JDM programming software I've found that will reliably handle the configuration bits.

To compile, I use GPASM, as it's small and straightforward, rather than the bloated MPLAB PIC IDE, although this code also assembles just fine under MPASM.

That's about all I can think of at the moment.

Let me know what y'all think...
 

Attachments

  • XTATK090.ZIP
    11.2 KB · Views: 9
Last edited:
do you have a schematic out there that i missed?
i totally want to build one of these things.

here's a wacky idea too:

since we're going to be doing a production run of XTIDE PCBs at some point in the very near future, we could pretty easily draft up a little breakaway daughtercard that we could piggyback onto our PCB run and make up some boards for this project too. (of course that's a software guy speaking in hardware terms again, so forgive me)
 
Sweet. How much for a fully assembled and tested unit?

I haven't thought about that yet, as it's a no-brainer to assemble yourself (a hunk of perfboard and a handful of components). I suppose if there's interest, I could so some PCB layout, but I'm not inclined to actually build the things (no fun there).
 
I haven't thought about that yet, as it's a no-brainer to assemble yourself (a hunk of perfboard and a handful of components). I suppose if there's interest, I could so some PCB layout, but I'm not inclined to actually build the things (no fun there).

Fair enough, how about a pre-flashed rom?
 
do you have a schematic out there that i missed?

This isn't even worthy of a schematic--look at the opening commentary in the source code and you'll get the idea that it's almost a "hook wire A to terminal B" sort of proposition. But I'll provide one if you need it.

here's a wacky idea too:

since we're going to be doing a production run of XTIDE PCBs at some point in the very near future, we could pretty easily draft up a little breakaway daughtercard that we could piggyback onto our PCB run and make up some boards for this project too. (of course that's a software guy speaking in hardware terms again, so forgive me)

That'd work for me, as I have no interest in getting a quote for a tiny PCB with, what, a half-dozen components on it? Add a jumper header from pin 4 to ground for possible additional code for XT-to-AT mode. It's the features that get you, though. Some are going to want both 5 pin DIN and 6 pin mini-DIN on both input and output.

As I'm up to my ears in XT-capable keyboards, this doesn't hold any particular importance to me.
 
This isn't even worthy of a schematic <snip> But I'll provide one if you need it.

It be a good idea to have one, just in case we decide to make a PCB run.

It's the features that get you, though. Some are going to want both 5 pin DIN and 6 pin mini-DIN on both input and output.

A 5 pin DIN on the input side would be fine. There are still adapters available so adding a 6 pin mini-din would be for convenience only, same pretty much goes for the output.

Now if it was a 6 pin header on the input and output side it be even better since people can customized it and build it into anything they want, and this would help with building it into the keyboard itself.
 
There's more than enough room in the small PIC to handle the XT-to-AT conversion. The interesting thing is that it's actually easier than the reverse--the interface to the XT keyboard is unidirectional and the commands that the PIC can honor are limited by the XT keyboard (e.g. there aren't any LEDs, separate scan code sets, adjustable repeat rates, etc. So you mostly just send an ACK.). The project would still not completely fill a 12F629.

But I want to see how people get along with the AT-to-XT version first--the reverse code would be an upgrade, probably switched with a jumper. Regardless, it doesn't change the physical layout.
 
Here's the schematic (Eagle .SCH file is in the ZIP):

attachment.php


For those who will volunteer as guinea pi*H*H*H*H*H*H*H testers, I can arrange to program a PIC for you for little more than shipping. You'll have to do your own building of the circuit, however.
 

Attachments

  • xtatkey..jpg
    xtatkey..jpg
    15.5 KB · Views: 37
  • SCHXTATK.ZIP
    19.2 KB · Views: 9
Last edited:
Here's the schematic (Eagle .SCH file is in the ZIP):

attachment.php


For those who will volunteer as guinea pi*H*H*H*H*H*H*H testers, I can arrange to program a PIC for you for little more than shipping. You'll have to do your own building of the circuit, however.
-------
* Puts up hand! A good excuse to dig out some old PC, XT and clone boards and test 'em.

(I assume when you say AT keyboard that includes PS/2, connector issues aside?)
 
-------
* Puts up hand! A good excuse to dig out some old PC, XT and clone boards and test 'em.

(I assume when you say AT keyboard that includes PS/2, connector issues aside?)

Yup, matter of fact, most of my testing was done with a late PS/2 Model M keyboard. No problems and all keys work the way you'd expect, even the three-finger salute (you can use either CTRL-ALT key.)

I haven't tried it yet, but I understand that some third-party autoswitching AT/XT keyboards can act a little weird (i.e. in undocumented ways), but if you had one of those, you wouldn't need one of these, right?

Edit: I've been going around trying all of the various keyboards that I have around here. No problem with any of the "PS/2" style ones. However, I've got a couple of old NCR 3299-K420 "Advanced" keyboards (great keyboards, BTW) that seem to use a slightly different LED protocol. Again, these are switchable (XT or AT) keyboards, so the need for a converter is obviated at any rate. More when I figure out what's going on...
 
Last edited:
If you build me a fully operating circuit, I'd be a prime candidate for a tester. I have a large collection of keyboards, PS/2, AT, XT and USB. I have IBM XT Model F, original AT, Model M, Model M compact, Keytronic XT, early PS/2 HP, two XT-AT switchables, and dozens of other models. I am a noob with a soldering iron, however, and wouldn't trust myself to build anything that couldn't be half-constructed out of electrical tape. When you build a model that does conversion both ways, I'd love to buy one too.

I also have the machines to test with, multiple XTs, a Tandy 1000 RL with a ps/2 connected XT keyboard, and many AT machines, and PS/2 machines.

I'd be willing to try every combination and make a chart up of what works and what might not.
 
Back
Top