• Please review our updated Terms and Rules here

AT to XT Keyboard Converter

The Philips keyboard i purchased worked as is with the Tandy 1000 sl/2. I do not have to worry about 12f675 vs 12f629 any more... ( but I did order samples from Microchip and should have them next week :) So I plan on building one anyway... ) Cheers. :)
 
The only difference between the 629 and the 675 is that the latter has an extra ADC inside. I think you should be safe to use a 675 to directly replace the 629 without any changes.
 
Please note the instructions in the source code concerning using the 675. It will work, but you need to uncomment a line in the "init" routine to disable the ADC--the converter uses all available I/O pins.
 
I received my 629 chips. I will stick with that and use the hex code as is, as I am not able to use an assembler very effectively, I was not able to find a version of pasm I could get working, or that supported the 675 chip...
I will burn the hex directly to the pic.

As it turns out I have a Tandy 1000 TL coming my way without a keyboard.
I also have a complete 1200 HD system coming with monitor and keyboard that does not post, so may use it for parts.

Thanks again folks. I will build the circuit and test with a ps/2 keyboard.
 
Hello,
Is anyone still making these converters? I have an XT but no keyboard and want to use an AT Keyboard
 
Hi, is there anyone who can sell me a programmed IC?

I don't particularly feel like dropping the cash for an ic programmer right now, but I'm hugely excited about this project.

Also, has anyone had any issues with duplicate keypresses or ghost keys?

Also #2, what's the final parts list needed for this project? The link at http://www.vcfed.org/forum/showwiki.php?title=AT2XT+keyboard+converter is dead.
 
Last edited:
Hi, is there anyone who can sell me a programmed IC?

I don't particularly feel like dropping the cash for an ic programmer right now, but I'm hugely excited about this project.

Also, has anyone had any issues with duplicate keypresses or ghost keys?

Also #2, what's the final parts list needed for this project? The link at http://www.vcfed.org/forum/showwiki.php?title=AT2XT+keyboard+converter is dead.

Drop me a PM if you're not in a hurry. I've still got a bunch of the 675s and a programmer.
 
Does anyone have any thoughts on how I might get the clock frequency to work at a set baud rate?

I have a need to use this without the clock signal but the receiving device needs communication at a set frequency
 
Sorry, don't follow you. This device is for translating keyboard protocol from PC AT to PC XT. Has nothing to do with baud rates.

It does, it transmits the signal to the PC as serial data which happens at a certain speed
 
Yes, but it's not the same strict async-type communication that most people associate with RS232C type communication. That is, the clock rate can vary from bit-to-bit, since it's the keyboard that provides the clock and data. In the PC, this is received by a 74LS322 9-bit shift register; when the start bit is clocked into the 9th bit, a keyboard interrupt is issued, the register is read and reset and the process starts over. You can clock bits into the '322 at any rate you desire, as long as it isn't too fast.

That's what allows me to get away with a cheap 8-pin PIC for implementation--and why I said it has nothing to do with baud rates. Don't mistake a serial bus protocol with async comms.

At any rate, if you want to fool with it, the code's been included somewhere in this thread (I forget where I posted it), the relevant routine is SendXTBit. The code's basically a bit-banger with software timing loops.
 
Yes, but it's not the same strict async-type communication that most people associate with RS232C type communication. That is, the clock rate can vary from bit-to-bit, since it's the keyboard that provides the clock and data. In the PC, this is received by a 74LS322 9-bit shift register; when the start bit is clocked into the 9th bit, a keyboard interrupt is issued, the register is read and reset and the process starts over. You can clock bits into the '322 at any rate you desire, as long as it isn't too fast.

That's what allows me to get away with a cheap 8-pin PIC for implementation--and why I said it has nothing to do with baud rates. Don't mistake a serial bus protocol with async comms.

At any rate, if you want to fool with it, the code's been included somewhere in this thread (I forget where I posted it), the relevant routine is SendXTBit. The code's basically a bit-banger with software timing loops.

Well as I say I have a need to do this at a certain specific clock speed for an old price of hardware that requires a specific clock frequncy
 
SendXTBit, IIRC, puts out bits at a clock period of 100 usec., that is, essentially a square wave with 50 usec. data pulses, separated by 50 usec. spaces--i.e., 10 KHz. As I said, SendXTBit is the routine and it should be obvious from the code. I don't think I calibrated it--just looked at a 'scope trace and saw it was what I was after.

If you change MCUs, obviously this will need some adjustment on your part.
 
SendXTBit, IIRC, puts out bits at a clock period of 100 usec., that is, essentially a square wave with 50 usec. data pulses, separated by 50 usec. spaces--i.e., 10 KHz. As I said, SendXTBit is the routine and it should be obvious from the code. I don't think I calibrated it--just looked at a 'scope trace and saw it was what I was after.

If you change MCUs, obviously this will need some adjustment on your part.

I'm looking to get 9600 hz so would I change SendXTBit to 48/4 instead of 50/4
 
Also verify what order the bits need to be sent--LSB or MSB-first--and note that this doesn't send ASCII, but rather scan codes ( code=key down, code+128=key up).
 
I successfully put four of these together.

Excellent project.

A crappy little K150 usb programmer worked once I figured out that A) needs to run under Windows XP and B) only works with its specific Microburn version.
 
Back
Top