• Please review our updated Terms and Rules here

AT to XT Keyboard Converter

BTW,
In case someone mentions it, I did change the source code to reflect the change from 12F629 to 12F675, and re-assembled it.
Regards, Bob Devries
 
Modem7 said:

> Note that the schematic that shows the physical layout of pins on the large DIN connectors is wrong.
> The correct wire-to-physical-pin assignment is at:

Yes, after a bit of initial hair-pulling, I figured that out. Similarly the PS/2 socket is numbered wrongly. I guess whoever created the library templates numbered the pins incorrectly.

Regards, Bob Devries
 
No, Chuck,
I'm still getting nothing at the output.
Yes, the schematic is in KiCad format.
Regards, Bob Devries
 
Modem7 said:

> Note that the schematic that shows the physical layout of pins on the large DIN connectors is wrong.
> The correct wire-to-physical-pin assignment is at:

Yes, after a bit of initial hair-pulling, I figured that out. Similarly the PS/2 socket is numbered wrongly. I guess whoever created the library templates numbered the pins incorrectly.

Regards, Bob Devries

Hi Bob! Thanks! Yes, the pin numbers from the KiCAD parts library don't make much sense so I ignored them. Instead, I manually verified the PICs pins are connected properly with the correct pins on the connectors by following the traces on the PCB layout. When the boards arrived I re-verified using a VOM before building the first units. Thankfully everything *seemed* to work out OK. My concern was to prevent reversing the voltage biasing the board and/or keyboard so the VCC and GND pins are especially important.

If you see any errors in the schematic that result in a broken board, misconnected pins, or other defects please *please* let me know so I can make adjustments to the design. Especially anything involving VCC and/or GND as that is particularly bad news for anything TTL. Please independently verify the PCB circuitry and post your results so future readers are clear as to the AT2XTKBD PCB status.

Thanks and have a nice day!

Andrew Lynch
 
If you see any errors in the schematic that result in a broken board, misconnected pins, or other defects please *please* let me know so I can make adjustments to the design. Especially anything involving VCC and/or GND as that is particularly bad news for anything TTL. Please independently verify the PCB circuitry and post your results so future readers are clear as to the AT2XTKBD PCB status.
When I saw Bob's first post, I figured that he was using one of the schematics, and that a schematic error may be a possibility (even though the circuit is quite simple). I compared the schematic to one of my assembled PCBs and the only schematic problem I found was the physical layout of pins on the DIN connectors.

IBM made a similar mistake. Take a look at the following, which is from IBM's Technical Reference for the AT.
http://members.dodo.com.au/~slappanel555/misc/eicdwtrfat.jpg
 
No, Chuck,
I'm still getting nothing at the output.
Yes, the schematic is in KiCad format.
Regards, Bob Devries

Bob, the only test I did with a 675 was to use the 675 simulator to verify operation. If you'd like, read out your fuse settings on the 675 and pass them along and I'll see if they make any sense. Another thing to test is to make sure that the program is actually running in the 675--the output pins should be assertively pulled high by the output transistors, not just the weak pullups. If you try to pull one low with a 10K resistor to ground, the pin should still stay high.

Failing that, I can probably dig out one of my early debugging versions that at least will give you an "I'm alive" message.
 
Hi guys, I have just ordered a converter from Hargle, since I'm sitting on a XT without a keyboard.
I read up on the info in this thread and I wrote an idea in mail correspondence with him, I might as well write here.

I will probably look into writing a small DOS TSR that hooks keyboard IRQ 8 and handles the E0-codes on the recipient side, to simply remove them is
a trivial hack (I assume). The "problem" with scancode E0 isn't really about localized keyboards per se, it's the XT's bios not knowing about the codes it's receiving. Even on US-keyboards some E0-codes are useful, like distinguishing between left and right ctrl for example. I would glady make some small utility available
on the forum when I have found the time to write it, if not anyone else on the forum makes it before then.
 
Um, did you see my latest posting on newer firmware. You now have the option of passing or filtering out the E0 codes.

I have a localized keyboard and probably don't want all E0-codes filtered, but just some that makes the bios beep because of unknown key.
My thinking was that software can provide customizing on top of the two jumper settings. Even on US-keyboards, some but not all E0 codes could
be useful.
 
Got the little pcb today filled it up according to the board markings.

No work on my pio mainboard. The leds flash on power on, that's it, keeps giving kb err on boot.
 
Yeah, the only time one of the ones I build fails is if the PIC is bad. I've found 2 so far out of about 25 that just don't work.
Before I sell a kit now, I have to load the PIC into a working board and test it just to make sure. I have little confidence in my PIC programmer (or perhaps the user controlling it!)
Pop me a PM and we could work out a PIC exchange so I can send you a known working one.
---

While I'm here, is there any way to test the jumper "E0" mode on/off on a standard US keyboard to make sure that both the PIC is programmed correctly and the resistor patch between PIC pin 1-4 is done correctly?
 
While I'm here, is there any way to test the jumper "E0" mode on/off on a standard US keyboard to make sure that both the PIC is programmed correctly and the resistor patch between PIC pin 1-4 is done correctly?

Sure. Hook the thing up to a normal XT (or clone) and press the right-hand Alt or Ctrl keys. If the PIC's passing E0 codes, the XT will beep on an invalid keycode. Or at least mine does.

I wonder if I should re-do the converter to use a higher-level AVR, such as the ATTiny 2313. This would allow for SPI programming while the chip is on-board. It would increase the cost slightly, but make it lots easier to re-program and add a bit more code space and a few more I/O pins (The 2313 is 16 pin).

What do you and Andrew think about this?
 
Dang, it seems it is dead.

I try and reprogram it using icprog and the verify is just failing constantly now.

It did take the program just fine at first a week or so ago, I even verified it again just before the pcb arrived and it checked out fine, but now it appears to just be dead.
 
Hi! Be sure to verify VCC and GND are at the right pins when you plug it into the XT. I recommend removing the PIC, connect the circuit and measure with VOM. It may be the VCC and GND connections are reversed and that would kill a PIC dead instantly. Please verify and let us know what happened.

Thanks and have a nice day!

Andrew Lynch
 
Ok, I tested the volts from the xt board first:

(motherboard keyboard socket looking into it)
~3.8, 5, 5, 0, 5.


(where you plug the AT keyboard into the convertor, looking into it the same as the motherboard plug),
Is the same.

Translates to pins 3,5,2,4,1.
Does that seem right? I think it is.
 
Hi! I don't have the schematic in front of me but if those voltages line up with the pin labels we are OK. VCC=5V, GND=0V relative to case ground etc. It may be you just have a bad PIC or the programming got screwed up somehow. It is hard to tell. You might want to try another PIC and see what happens. Just be sure to check the voltages before inserting the chip and do final assembly with the power off.

Thanks and have a nice day!

Andrew Lynch
 
Cool.

If I actually check the voltages on the empty pic socket, what should I be looking at for each pin approx?

Also thanks for the offer hargle, but I might just order like 5 more of them from futurlec first and try from there. I might then bother you further after that. :D



Also, just to be sure, what general settings should I set up in ic prog? When you select the pic type, it sets the following config (right side):

http://i96.photobucket.com/albums/l186/mv75/p1.jpg

Then when I load the .hex file, it changes to:

http://i96.photobucket.com/albums/l186/mv75/p2.jpg

Should I change it back to what the first picture says? Because I'm sure I did when I first programmed it. Plus I have the io delay under hardware settings set at 20 and verify worked when I first programmed it.

And it's correct to then put the osc value here at the end right? ( chip read 3418 when I first got it). This is actually my 2nd 12f629 because I didn't know about the osc value with my first one.

http://i96.photobucket.com/albums/l186/mv75/p3.jpg
 
Last edited:
Back
Top