• Please review our updated Terms and Rules here

AT to XT Keyboard Converter

The PIC16F628A costs about $2 in quantities of 1 and provides 16 GPIO pins (if you're willing to use HV programming only, internal oscillator, and no /RESET line) in an 18-pin package. The SOIC version isn't hard to solder by hand -- I've made several home-etched boards using the SMT PIC16F84 and an old Rat Shack 15 Watt iron.

The programming issue is the big thing on my mind--it's been a headache for Hargle and others. The ISP programming of the AVRs makes matters considerably simpler--and cheap USB AVR programmers are easy to come by, so just about anyone could do these.

One of the reasons I'd asked about any demand for using USB keyboards is that many USB-capable chips also have USB boot loader capabilities (e.g. AVR AT90USB) so that no special programmer is required at all. AFAIK, all are 3.3V SMT designs and there didn't seem to be much interest in USB capability.
 
Hi guys. Just some quick short questions. I ordered from Jameco some 1N914B diodes, but they sent me 1N914 ones, which I think are not the same specifications (datasheet). Pardon me for my ignorance respecting to diodes, but will these still work ?
Also, I went to my local electronics store, and asked for 100V 200MA diodes and they gave me this. Are that even diodes ? Are there any way so I can check with a multimeter if they are the specs I specified ?
Thanks for any reply.
 
Hi! If your VOM has a diode setting you can tell if the part is a diode since it should be 0.7V drop in one direction and open in the other. I think those are diodes and you can install them with the dark band on the end matching the one on the PCB you should be good. They only need to be silicon diodes or really almost any small general purpose diode should work. 1N914 is a generic silicon diode and almost any sort should work like 1N4148, 1N914B, etc.

Thanks and have a nice day!

Andrew Lynch
 
Honest, just about any low-power diode will do. Any flavor of 914 should do; schottky diodes should be fine. The voltage is only 5V and the current is only about 10 ma. I suspect even a 1N34 would work (can you even get those anymore?)
 
Thanks a lot for the replies, both of you. Then, I'll use the 914 ones, and later i'll test those other ones. Now I can start building this and the XT IDE cards.

EDIT: Will also 4.7K OHM 1% resistor (lower tolerance) still work ? They are 5-band ones. The ones mentioned in the AT2XT bill of materials are 5% ones.
 
Thanks a lot for the replies, both of you. Then, I'll use the 914 ones, and later i'll test those other ones. Now I can start building this and the XT IDE cards.

EDIT: Will also 4.7K OHM 1% resistor (lower tolerance) still work ? They are 5-band ones. The ones mentioned in the AT2XT bill of materials are 5% ones.

Again, the value isn't critical; probably anything between 2.2K-10K would probably work.
 
Hi! Agree, the resistor is to pull up a signal so practically any reasonable value will work. It is not sensitive to the value and 1% 4700 ohm will work just fine.

Thanks and have a nice day!

Andrew Lynch
 
Hi, I just discovered this device from the wiki article. I'm wondering if it will work on a Geneve 9640? The Geneve uses a standard XT keyboard but
does require the keypress combinations ctrl-alt-del and ctrl-shift-shift for special functions. Also, are there any boards and pre-programmed chips still available? I could certainly easily put one of these devices together, but don't have a progammer.
 
Hi! I still have some of the AT2XTKBD PCBs available. Hargle may have some of the pre-programmed PICs but you'll have to ask him.

If you would like a PCB they are $5 plus $1 shipping in the US. Please send an email/PayPal to LYNCHAJ@YAHOO.COM and I'll send your boards right away!

Thanks and have a nice day!

Andrew Lynch
 
Just got my kit today and assembled it without incident. I'm glad to report it works quite well with the Geneve 9640. The combination keypresses
work ok. Ctrl-shift-shift works as it should. Ctrl-alt-del works ok as long as you hold down ctrl-alt and tap the del key quickly, otherwise it repeats several times. This kit should be a hit with the Geneve community, thanks for putting it together to all those involved.

Tony
 
Hi! Thanks! Glad you enjoy it! Please tell your friends about the AT2XTKBD.

Thanks and have a nice day!

Andrew Lynch
 
Hi, I've found a bug, but don't see how to fix it in the way the code is currently constructed. The F7 key does not work.
According to the key codes I found here: http://www.barcodeman.com/altek/mule/scandoc.php , the AT code for this
key is >83, not >03 as listed in the XTTRANS.INC file. Also, AT code >03 should be translated to 0x3F, which is key number
116 or F5. If only 7 bits are being used in the key map translation, it will not be possible to use a value of >83 to correctly map the F7 key.
Unfortunately, this is quite an important key as it is used in a lot of software on the Geneve 9640. Any ideas on a solution?

Tony
 
You appear to be correct. It seems that the F7 key is the only key having a scan code above 128 in the SC2 set. My solution would be to map it into an unused code, say 13h. Stay tuned for some corrective code...
 
Last edited:
You appear to be correct. It seems that the F7 key is the only key having a scan code above 128 in the SC2 set. My solution would be to map it into an unused code, say 13h. Stay tuned for some corrective code...

There's also SysRQ, 84h. If it's any help, the AT keyboard controller internally maps 83 to 02 and 84 to 7F before feeding them into its own AT->XT translation routine.

My personal theory is that this all dates back to the days of terminal keyboards. The 6110344 keyboard has 127 key positions, returning 127 unique scancodes, all in the range 01-7F except for two keys: Print/*/Ident and Space (not the spacebar, a 'Space' key on the numeric pad). Those return 83h and 84h respectively, and I wonder if they have special meaning for the firmware of a 3179 terminal.

Anyway, the AT keyboard uses the same scancodes as the 6110344, with F7 ending up where Print/*/Ident was and SysRQ where Space was. It's pretty obvious, looking at the diagram, that F7 'ought' to return scancode 02h, and that SysRQ 'ought' to return 7Fh.
 
I'm fixing this by extending the table by 16 entries (to scan code 8F), which is a bit less kludgy than special-casing F7.

SysReq I wouldn't know what to do with it, as it's not on the 5160 83-key keyboard.
 
Has anyone ever tried modifying this project to support tandy computers also?

later,
dabone

I'd love to, and a PCjr version as well. It is on my todo list, but there are a LOT of things on my todo list and I'm not getting very far on any of them.
Aren't the tandy keyboard connectors pretty weird/proprietary? I never really looked too closely at the one I have.
 
Hi! I have plenty (30+) of the AT2XTKBD PCBs if anyone is looking for them or would like to try their hand at either improvements or supporting other platforms. Basically the hardware is the same for whatever you want to do but the PIC and its program does the conversion. Even computers with proprietary and/or weird connectors should be able to use the AT2XTKBD design although they may need to wire in a "pigtail" connector for a special connector.

Thanks and have a nice day!

Andrew Lynch
 
Okay, here's version 0.94, with the F7 problem fixed. Rather than kludge it, I used a longer translation table. Who knows? this might come in handy for some of the more oddball keyboards.

Let me know if anyone has problems with it--it seems to work well for me.
 

Attachments

  • XTAT094.ZIP
    19 KB · Views: 164
Back
Top