• Please review our updated Terms and Rules here

Arduino PS2 to XT converter

It has nothing to do with autosenese, that is nonsense. Either your XT BIOS is late enough to support 101-key keyboards or or isn't. I have many IBM Model-M keyboards - they all work. You have to make sure you use a 5 pin DIN cord, and not use a PS/2 to 5-pin DIN adapter.

Mike

It's a Tulip Compact, they are very specific about keyboards, so I don't think it will work. I don't have a 5p DIN cord, only PS/2.
 
It's a Tulip Compact, they are very specific about keyboards, so I don't think it will work. I don't have a 5pin DIN cord, only PS/2.

Right, that was my point. If its for a regular IBM 5160 its easy to check for the 5/86 BIOS. If its a clone then you'd have to find out some other way to check the BIOS or you might run into such limitations. A lot of people, even with the right BIOS, try using a PS/2 to 5-pin DIN adapter, and when it doesn't work they give up, not realizing they can't use an adapter. Many of the Model-M keyboard have removable cords. For my XTs I just picked up a $5 regular 5-pin din cord and after that it worked; it didn't with the adapter.

Regards,
Mike
 
I have NEVER heard of an AT keyboard working on a PC/XT regardless of BIOS unless it had a switch on it to do so. That's definitely news to me... Though it might be auto-sense related to that endless string of 0xAA with the parity wrong that times out eventually. If that fails to get a "resend" message could that be the trigger?

... and since the PS/2 to AT converter cable is pin to pin other than dropping the (officially "Not used") reset line, just how would that NOT work exactly?!? It's four lines with NO changes, no circuitry. Data, Clock, Ground, +5v. That's it. It's the same protocol on the same wiring, just different plugs!

... and @nc_mike, I think you lost me at 5/86... With an AT keyboard I assumed you meant AT/later BIOS... is the 86 the year number or something? While I worked on a few early PC's and XT's, I was really more of a clone guy. Sounds like something even LESS likely to work on a clone. I never even heard of an XT BIOS that supports 101 key keyboards, so I assumed you were talking about an AT class or later one!

Also not sure how that would even work given the hardware wouldn't even EXIST on the system side to handle AT signalling.

Side note, figured out why I was having trouble reading the AT keyboard, it wasn't the keyboard, or my wiring, or my code... it was another broke-ass crappy USB cable between the Arduino and the computer I was using to debug. Laughably it was the cable from a real Arduino that failed... the cheap cable that came for free with the knockoff DCCDuino Nano? Works flawless.

I swear, one of these days I'm going to track down the creators of USB and SATA plugs and pull a Jay and Silent Bob... How many people wanna kick some ass? I'm one step away from stripping the ends off all my USB cables and device jacks and replacing them with old-fashioned 4 pin DIN! At least that would be reliable and not break if you accidentally sneeze in the same room...
 
Last edited:
Early IBM Model Ms actually supported the XT explicitly (and IBM even sold a variant without the LEDs specifically for XTs), and they would (on the latest XT BIOS) switch to XT mode automatically.
 
Early IBM Model Ms actually supported the XT explicitly (and IBM even sold a variant without the LEDs specifically for XTs), and they would (on the latest XT BIOS) switch to XT mode automatically.
Very interesting, and explains why all of them -- even the clones -- still have vestiges of that in the form of the "mode 1" character set, and the original model M's "Mode 2" which was XT scancodes but with less remap and the extended 101 support.

Mode 1 did remap and multiple keystrokes to make a 101 act like a 89.

It would have to mostly be a keyboard side thing -- interesting they had a auto-detect of some sort (and it would require detection given the system side hardware difference) that clone makers didn't copy. On the software side it's not exactly rocket science, and it calls into question why so many clone keyboards had the switch at all.

Well, except if you didn't have that latest ROM or were on a clone that wouldn't take it... then the mechanical switch makes sense.
 
I was quite busy with other projects, but I'm really interested in completing this one. Did anybody get any further on this?
 
Damn! I built the adapter with a DCCDuino Arduino Nano clone and I get the double keys problem, with every possible combinations of programs listed here...
Finally, is there something to do with it?
I'm really hoping to find a PS2 to XT adapter
 
I made a test this afternoon (same problem as many : one old XT with monitor, but without keyboard).
I'll perhaps look after a real XT keyboard later but for now I've got a good PS/2 keyboard which works on my XT !

Thanks.

PS : be aware that the latest code has some changes compared to older version. Il particular, the arduino pins for the XT clock and the PS/2 clock have been inverted.
If you just use the schematic of the first post along with the lastest program but without inverting those pins, it won't work.
 
Hi,

I use a PS/2 keyboard with my XT computer, with an Arduino Micro interface module (fun to use a board as interface which is much faster than the computer itself...).

I have suspicions on eventual crashes caused by this layout... I need further testing, but I have quite frequent hangouts of the PC, particularily when I use the french keyboard layout.
I'll try to stay in QWERTY and test... anyone has stability issues with this setup ? I also observed that when keypresses are very fast (mostly in games) the arduino system gets completely lost.

Otherwise I'll perhaps try this system : http://www.vcfed.org/forum/showthread.php?26426-AT2XT-keyboard-converter

It should be much more stable... but there's "logistics" problems for me as I don't own an universal programmer and I don't really want to buy one just for this little project.
 
PS : be aware that the latest code has some changes compared to older version. Il particular, the arduino pins for the XT clock and the PS/2 clock have been inverted.
If you just use the schematic of the first post along with the lastest program but without inverting those pins, it won't work.
What do you mean with "inverted"? Do I have to place inverter gates like 74LS04 or 74LS14 between the pins of the Arduino and the connectors?
 
No !

I mean that pin 3 & 4 are inverted between the schematic and the latest arduino program. ;)
 
Back
Top