Author Topic: XT/AT/PS2/Terminal to USB Converter with NKRO  (Read 501630 times)

0 Members and 4 Guests are viewing this topic.

Offline PancakeMSTR

  • Posts: 396
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1500 on: Tue, 04 July 2017, 12:51:30 »
So the IBM Model M I'm trying to convert uses the RT connector. Soarer's converter is supposed to work with RT, but I can't get it to do so. How do you get Soarer's firmware to work with the RT model M?
   

Online Tactile

  • Posts: 1047
  • Location: Portland, OR
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1501 on: Tue, 04 July 2017, 14:16:13 »
So the IBM Model M I'm trying to convert uses the RT connector. Soarer's converter is supposed to work with RT, but I can't get it to do so. How do you get Soarer's firmware to work with the RT model M?

With HID Listen already running in a terminal, plug the keyboard in. The Soarer's should boot and give some info into HID Listen. Pay close attention to the lines beginning with "Code Set:" and "Mode:".

Here's the result as I plug in an IBM 42H1292 with Soarer's:
Code: [Select]
Waiting for device:..............
Listening:
wEE rEE wF2 rFA rAB r83

remaining: 0026
26@0008 macros
layerdefs: 00
max_layer: 00
total_macros: 03
alloc ok.


Keyboard ID: AB83
Code Set: 2 (extended)
Mode: AT/PS2

wED rFA w02 rFA

Offline PancakeMSTR

  • Posts: 396
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1502 on: Tue, 04 July 2017, 15:08:15 »
I posted, pretty extensively, the results of HID listen on the previous page. Here are just the results of plugging the keyboard in, though: http://imgur.com/a/UKzwP
   

Online Tactile

  • Posts: 1047
  • Location: Portland, OR
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1503 on: Tue, 04 July 2017, 15:17:44 »
I posted, pretty extensively, the results of HID listen on the previous page. Here are just the results of plugging the keyboard in, though: http://imgur.com/a/UKzwP

It looks to me like Soarer's does not see a keyboard connected. Keyboard ID:0000 and no "Mode:" line at all. Exactly what are your hardware connections between the keyboard controller and the Teensy(or whatever)?

Offline PancakeMSTR

  • Posts: 396
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1504 on: Tue, 04 July 2017, 20:08:45 »
I posted, pretty extensively, the results of HID listen on the previous page. Here are just the results of plugging the keyboard in, though: http://imgur.com/a/UKzwP

It looks to me like Soarer's does not see a keyboard connected. Keyboard ID:0000 and no "Mode:" line at all. Exactly what are your hardware connections between the keyboard controller and the Teensy(or whatever)?

I suppose. Some of the keys work though, in fact pretty much all of the alphas work perfectly. I just used the RT connector pinout diagram in the list posted in the beginning of this thread, and wired up only Data, clock, VCC, and ground to the appropriate teensy ports. I'll double check everything though.
   

Offline hasu

  • Posts: 2726
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1505 on: Tue, 04 July 2017, 20:32:13 »
PancakeMSTR,
Are you sure using the latest version of firmware? According to version histroy only 1.11+ support RT.

And what model number is your keyboard? and posting pics of your converter would be useful to check your wiring and soldering doubly by others.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline PancakeMSTR

  • Posts: 396
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1506 on: Tue, 04 July 2017, 23:37:43 »
PancakeMSTR,
Are you sure using the latest version of firmware? According to version histroy only 1.11+ support RT.

And what model number is your keyboard? and posting pics of your converter would be useful to check your wiring and soldering doubly by others.

**** hasu you're right I was using the wrong firmware. I downloaded the TOP one thinking it was the right version, didn't realize LOWER was LATER.

I just loaded version 1.12 onto the teensy. It's working A LOT better. However I'm still having some issues. The ESC key doesn't work, though numlock thinks it's ESC. A few other problems as well. Generally everything to the right of F12 is ****ed up.

Any suggestions?

Actually Ins, Home, Pg up, del, end, pg down, and the arrow cluster are working fine. The numpad is borked, and print screen, scroll lock, and pause don't work either.

To be honest, the only keys that aren't currently functional that I actually care about are ESC and print screen.
« Last Edit: Tue, 04 July 2017, 23:40:37 by PancakeMSTR »
   

Offline fohat.digs

  • * Elevated Elder
  • Posts: 5406
  • Location: 34.04 N 84.47 W
  • weird funny old guy
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1507 on: Wed, 05 July 2017, 12:16:50 »

The ESC key doesn't work, though numlock thinks it's ESC. A few other problems as well. Generally everything to the right of F12 is ****ed up.


Remember, Soarer originally began the project to use an IBM F AT in a conventional configuration, so Escape being on the numpad is natural.

I have never tried to use a Soarer's on a conventional PS/2-ANSI keyboard, what would be the point?

At any rate, it generally works out of the box converting non-ANSI layouts to ANSI.
 
“Wise statesmen as they were, they knew the tendency of prosperity to breed tyrants, and so they established these great self-evident truths, that when in the distant future some man, some faction, some interest, should set up the doctrine that none but rich men, or none but white men, were entitled to life, liberty and pursuit of happiness, their posterity might look up again to the Declaration of Independence and take courage to renew the battle which their fathers began — so that truth, and justice, and mercy, and all the humane and Christian virtues might not be extinguished from the land; so that no man would hereafter dare to limit and circumscribe the great principles on which the temple of liberty was being built.”
- Abraham Lincoln, July 4, 1858

Offline PancakeMSTR

  • Posts: 396
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1508 on: Wed, 05 July 2017, 15:03:12 »

The ESC key doesn't work, though numlock thinks it's ESC. A few other problems as well. Generally everything to the right of F12 is ****ed up.


Remember, Soarer originally began the project to use an IBM F AT in a conventional configuration, so Escape being on the numpad is natural.

I have never tried to use a Soarer's on a conventional PS/2-ANSI keyboard, what would be the point?

At any rate, it generally works out of the box converting non-ANSI layouts to ANSI.

Well the point is that my Model M is RT, not ansi. What SHOULD I be using to convert it, if not Soarer's firmware? How do I fix the layout?
   

Offline fohat.digs

  • * Elevated Elder
  • Posts: 5406
  • Location: 34.04 N 84.47 W
  • weird funny old guy
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1509 on: Wed, 05 July 2017, 17:05:42 »
I guess that I don't know what RT is, but in reply #560 (memorized the number because I have referred it so often) in this thread the ever-helpful wcass details an easy technique for re-mapping keys in the Teensy. You will need to use Soarer's codes posted in the docs.

“Wise statesmen as they were, they knew the tendency of prosperity to breed tyrants, and so they established these great self-evident truths, that when in the distant future some man, some faction, some interest, should set up the doctrine that none but rich men, or none but white men, were entitled to life, liberty and pursuit of happiness, their posterity might look up again to the Declaration of Independence and take courage to renew the battle which their fathers began — so that truth, and justice, and mercy, and all the humane and Christian virtues might not be extinguished from the land; so that no man would hereafter dare to limit and circumscribe the great principles on which the temple of liberty was being built.”
- Abraham Lincoln, July 4, 1858

Offline hasu

  • Posts: 2726
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1510 on: Wed, 05 July 2017, 18:30:04 »
I found the remap guide reply and place a link here for sake of easy reference.
https://geekhack.org/index.php?topic=17458.msg708153#msg708153

I think you need to remap some keys on RT keyboard. Follow disourse about RT support around the post.
https://deskthority.net/workshop-f7/xt-at-ps2-terminal-to-usb-converter-with-nkro-t2510-210.html#p105239
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline PancakeMSTR

  • Posts: 396
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1511 on: Wed, 05 July 2017, 19:37:59 »
Hasu and fohat - I'll look into that and get back to you. Thanks.
   

Offline PancakeMSTR

  • Posts: 396
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1512 on: Thu, 06 July 2017, 01:31:33 »
Okay Hasu and fohat - I managed, with the remap process, was able to fix the numpad enter, numpad +, numpad *, numpad /, and num lock.

However, I don't know how to fix numpad "-", Pause, Scroll lock, Print Screen, or ESC, because those aren't giving me any output. They send signals into the computer, I know because keyboardtester.com registers a keypress (though it doesn't indicate anything ACTUALLY being pressed), and also HID_Listen.exe sees something. But I don't know what it thinks those keys are. How do I fix these?

By the way thanks for the help. Saving my ****in life here.

Nevermind, got it. Figured out the part of the HID_Listen output are Hex codes. Used that to figure out what the keyboard was trying to send, then remap them. Damn guys, couldn't have done it without you. ****ing lifesavers.
« Last Edit: Thu, 06 July 2017, 01:41:05 by PancakeMSTR »
   

Offline fohat.digs

  • * Elevated Elder
  • Posts: 5406
  • Location: 34.04 N 84.47 W
  • weird funny old guy
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1513 on: Thu, 06 July 2017, 17:03:11 »

However, I don't know how to fix numpad "-"
 

"EXTRA_SYSRQ" is one of the particularly obtuse ones.
“Wise statesmen as they were, they knew the tendency of prosperity to breed tyrants, and so they established these great self-evident truths, that when in the distant future some man, some faction, some interest, should set up the doctrine that none but rich men, or none but white men, were entitled to life, liberty and pursuit of happiness, their posterity might look up again to the Declaration of Independence and take courage to renew the battle which their fathers began — so that truth, and justice, and mercy, and all the humane and Christian virtues might not be extinguished from the land; so that no man would hereafter dare to limit and circumscribe the great principles on which the temple of liberty was being built.”
- Abraham Lincoln, July 4, 1858

Offline PancakeMSTR

  • Posts: 396
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1514 on: Fri, 07 July 2017, 02:24:29 »

However, I don't know how to fix numpad "-"
 

"EXTRA_SYSRQ" is one of the particularly obtuse ones.

The HID_Listen Hex code pointed to some language thing but I couldn't get the numpad "-" working even from that. It's the final enigma. I'll look into that.
   

Offline invariance

  • Posts: 185
  • Location: Brisbane, Australia
  • ...here with all the other boson's
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1515 on: Fri, 07 July 2017, 07:14:32 »

However, I don't know how to fix numpad "-"
 

"EXTRA_SYSRQ" is one of the particularly obtuse ones.

The HID_Listen Hex code pointed to some language thing but I couldn't get the numpad "-" working even from that. It's the final enigma. I'll look into that.


Particularly annoying when accustomed to using Alt+PrtScr to capture the active window, as I do a lot of at work, and that is the combination to produce EXTRA_SYSRQ.


For the numpad "-", wouldn't something like below resolve this?  (where x=the language number)
Code: [Select]
remapblock
  LANG_x PAD_MINUS
endblock
The only BS I
want to hear is
from a Model M:
PN:1391401
DOB: 04FEB87
      Wyse 85      Mtek K104

Offline fohat.digs

  • * Elevated Elder
  • Posts: 5406
  • Location: 34.04 N 84.47 W
  • weird funny old guy
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1516 on: Sun, 09 July 2017, 11:13:33 »

For the numpad "-", wouldn't something like below resolve this?  (where x=the language number)
Code: [Select]
remapblock
  LANG_x PAD_MINUS
endblock

I have not finalized my AT conversion, but on the F-122 you remap EXTRA_SYSRQ to PAD_MINUS and you are done.
“Wise statesmen as they were, they knew the tendency of prosperity to breed tyrants, and so they established these great self-evident truths, that when in the distant future some man, some faction, some interest, should set up the doctrine that none but rich men, or none but white men, were entitled to life, liberty and pursuit of happiness, their posterity might look up again to the Declaration of Independence and take courage to renew the battle which their fathers began — so that truth, and justice, and mercy, and all the humane and Christian virtues might not be extinguished from the land; so that no man would hereafter dare to limit and circumscribe the great principles on which the temple of liberty was being built.”
- Abraham Lincoln, July 4, 1858

Offline Zobeid Zuma

  • Posts: 238
  • Location: Texas
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1517 on: Fri, 04 August 2017, 18:29:39 »
I got a XT keyboard and a converter off fleaBay, and happy to report they are working together now as expected.  (Typing on it right now, in fact!)  Next I am trying to figure out the configuration software.  At the moment I'm running it on a Ubuntu system, although I also have a Mac and a Windows system here in case either of those might be easier to work with.  On Linux I figured the first thing to try would be the "scinfo" tool.  Then I get this:

./scinfo: error while loading shared libraries: libusb-0.1.so.4: cannot open shared object file: No such file or directory

Hmm...   Is my system missing a package that these tools expect to be present?  I tried searching the forum to see if anyone else ran into this, but I didn`t turn up anything.

Offline adiron

  • Posts: 5
  • Location: Tel-Aviv
    • Personal webstie
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1518 on: Fri, 11 August 2017, 03:40:42 »
Great converter! Works great on this old DIN 5-pin keyboard I salvaged. Thanks a lot!

One question though, has anybody ever had issues with the right control (which reads "Enter" on this keyboard actually) releasing too late when held for a long time? I wonder if this is a thing about the keyboard itself or if this is something that the firmware can somehow solve...

What happens is that after pressing down RCTRL for >1s or so, the key up event is delayed ~250ms. If I open up hid_listen, I can see the delay there, too (which leads me to think that maybe the keyboard is just sending it late?...)

Offline invariance

  • Posts: 185
  • Location: Brisbane, Australia
  • ...here with all the other boson's
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1519 on: Fri, 11 August 2017, 18:01:38 »
Great converter! Works great on this old DIN 5-pin keyboard I salvaged. Thanks a lot!

One question though, has anybody ever had issues with the right control (which reads "Enter" on this keyboard actually) releasing too late when held for a long time? I wonder if this is a thing about the keyboard itself or if this is something that the firmware can somehow solve...

What happens is that after pressing down RCTRL for >1s or so, the key up event is delayed ~250ms. If I open up hid_listen, I can see the delay there, too (which leads me to think that maybe the keyboard is just sending it late?...)

Does sound like a feature of the keyboard's controller, especially if it is designed for a specific system.
Does it do it for any other keys?
The only BS I
want to hear is
from a Model M:
PN:1391401
DOB: 04FEB87
      Wyse 85      Mtek K104

Offline adiron

  • Posts: 5
  • Location: Tel-Aviv
    • Personal webstie
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1520 on: Sat, 12 August 2017, 01:29:04 »
Great converter! Works great on this old DIN 5-pin keyboard I salvaged. Thanks a lot!

One question though, has anybody ever had issues with the right control (which reads "Enter" on this keyboard actually) releasing too late when held for a long time? I wonder if this is a thing about the keyboard itself or if this is something that the firmware can somehow solve...

What happens is that after pressing down RCTRL for >1s or so, the key up event is delayed ~250ms. If I open up hid_listen, I can see the delay there, too (which leads me to think that maybe the keyboard is just sending it late?...)

Does sound like a feature of the keyboard's controller, especially if it is designed for a specific system.
Does it do it for any other keys?

No other keys that I managed to find.

Some hid_listen output from pressing down RCTRL a few times:

Code: [Select]
rF0 r58 -E4 uE4
r58 +E4 dE4
rF0 r58 -E4 uE4 r58 +E4 dE4
rF0 r58 -E4 uE4

No idea what's going on. Maybe there's a magic keybinding I can somehow type in to get rid of this?

Offline invariance

  • Posts: 185
  • Location: Brisbane, Australia
  • ...here with all the other boson's
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1521 on: Sat, 12 August 2017, 04:12:10 »
This is what I get
Code: [Select]
rE0 r14 +E0 dE4
rE0 rF0 r14 -E0 uE4
which corresponds to the scancode translation table.

According to the table, you are making and breaking the caps lock (ps2 scan code 58) which is being translated to RCtrl (HID E4): weird.

Maybe try reloading the firmware.
Also what board do you have?
The only BS I
want to hear is
from a Model M:
PN:1391401
DOB: 04FEB87
      Wyse 85      Mtek K104

Offline adiron

  • Posts: 5
  • Location: Tel-Aviv
    • Personal webstie
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1522 on: Sat, 12 August 2017, 06:54:21 »
I'm using an Arduino Leonardo (I had one lying around). I can't seem to reflash it (won't show up as a serial device?), so there's that

Edit: binding "boot" to a macro doesn't work either.
« Last Edit: Sat, 12 August 2017, 07:11:04 by adiron »

Offline invariance

  • Posts: 185
  • Location: Brisbane, Australia
  • ...here with all the other boson's
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1523 on: Sat, 12 August 2017, 08:05:30 »
I have been using Arduino Builder (Windows environ) and it took a while for me to find the sweet spot between pressing the bootloader button on the leonardo and pressing 'start' (actually COM3) in Arduino Builder: about 3 seconds actually.
Could be similar with your loading s/w.
The only BS I
want to hear is
from a Model M:
PN:1391401
DOB: 04FEB87
      Wyse 85      Mtek K104

Offline adiron

  • Posts: 5
  • Location: Tel-Aviv
    • Personal webstie
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1524 on: Sat, 12 August 2017, 08:59:07 »
No idea, but I'm not getting a serial device. Anyway, sticky right ctrl still a thing :p


Edit: I'll have to get a USB programmer thing. No worries
« Last Edit: Sun, 13 August 2017, 10:35:22 by adiron »

Offline Giorgio

  • Posts: 1765
  • Location: Italy
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1525 on: Mon, 14 August 2017, 03:29:48 »
What a shame that Soarer has disappeared from the keyboard communities. He gave us a great firmware, too bad that there's no source. I wonder what could have made him so angry.

Offline adiron

  • Posts: 5
  • Location: Tel-Aviv
    • Personal webstie
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1526 on: Fri, 18 August 2017, 13:59:08 »
too bad that there's no source.


Source would have solved a lot of issues I think :(

Offline Giorgio

  • Posts: 1765
  • Location: Italy
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1527 on: Sun, 20 August 2017, 01:22:08 »
too bad that there's no source.


Source would have solved a lot of issues I think :(

Why don't we pay a real programmer to do the same job? A kick starter with a 5000 USD target?

Offline bachamn

  • Posts: 12
    • Forming the Beast
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1528 on: Wed, 01 November 2017, 20:11:19 »
I recently bought one of Soarer's cables and have successfully remapped almost all of the keys I needed to make my terminal board (1390670) run normally, but I'm having a similar issue as PancakeMSTR when trying to map ESC key.

By default, the physical ESC key sends F13 code, and Numlock sends ESC code (as follows)
Code: [Select]
ESC
r76 +29 d29
rF0 r76 -29 u29

F13
r08 +68 d68
rF0 r08 -68 u68

The following codes are sent after I remap these two keys as denoted

Code: [Select]
ESC NUM_LOCK
r76 +29 d53 wED rFA w05 rFA
rF0 r76 -29 u53

F13 ESC
r08 +68 d29
rF0 r08 -68 u29

Interestingly despite still returning +29 and the extra wonky code it spits out, the remapped NUM_LOCK does work, but ESC does not want to remap, as you can see it's still registering +68. It is clearly doing something, as I noticed it's appending 'd29' and 'u29' to the end of those lines instead of 'd68' and 'u68', so it seems that maybe it's just getting scrambled?

Bummed to see the creator isn't in the community anymore. Is there another way to manually modify the codes that are used by the device? Firmware? (is it even possible to flash firmware update to one of the cables? everything I've read so far refers only to flashing the teensy boards)
« Last Edit: Wed, 01 November 2017, 20:44:16 by bachamn »

Offline pivanow

  • Posts: 6
  • Location: Brazil
Problems with XT Keyboards
« Reply #1529 on: Thu, 15 February 2018, 19:20:27 »
Hi guys,

I'm testing the Soaror's Converter and it's working fine with AT keyboards. But none of my XT keyboards are working. Just a lot of R05 and R06 errors...

Do you have any sugestion? All the keyboards work fine in various IBM XT Clones I have.

Thank you.

188957-0
« Last Edit: Sun, 25 February 2018, 08:47:08 by pivanow »

Online Tactile

  • Posts: 1047
  • Location: Portland, OR
Re: Problems with XT Keyboards
« Reply #1530 on: Thu, 15 February 2018, 19:55:00 »
Hi guys,

I'm testing the Soaror's Converter and it's working fine with AT keyboards. But none of my XT keyboards are working. Just a lot of R05 and R06 errors...

Do you have any sugestion? All the keyboards work fine in various IBM XT Clones I have.

Thank you.

(Attachment Link)

I'd try adding pull-up resistors to the clock & data wires.

Offline pivanow

  • Posts: 6
  • Location: Brazil
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1531 on: Wed, 21 February 2018, 12:34:24 »
I'd try adding pull-up resistors to the clock & data wires.

No way, even with resistors...

I've found an AT2XT adaptor here. Soaror's Converter recoginizes an AT keyboard with the AT2XT adaptor as a XT keyboard (as expected), and it works perfectly!

So, I've gotten very curious to understand why the AT2XT adaptor works but the original XT keyboard doesn't.

Trying to remember how to use an osciloscope, I've gotten some waveforms. The first picture contains the AT2XT waveforms when "a" and "s" are pressed in the keyboard. It looks compatible with XT IBM Keyboard Protocol.

189322-0

The second picture contains the XT pure keyboard waveforms when "a" and "s" are pressed. The clock seems to be higher and we can see only 8 bits, not 9 as it was supposed to be.

189324-1

I guess that's why the Soaror's converter is not recognizing my XT keyboards.

Do you thing I will have to write a specific code for converting my XT keyboards or it may exist another solution?
« Last Edit: Sun, 25 February 2018, 08:48:47 by pivanow »

Offline Giorgio

  • Posts: 1765
  • Location: Italy
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1532 on: Wed, 21 February 2018, 18:53:27 »
No way, even with resistors...

I've found an AT2XT adaptor here. Soaror's Converter recoginizes an AT keyboard with the AT2XT adaptor as a XT keyboard (as expected), and it works perfectly!

So, I've gotten very curious to understand why the AT2XT adaptor works but the original XT keyboard doesn't.

Trying to remember how to use an osciloscope, I've gotten some waveforms. The first picture contains the AT2XT waveforms when "a" and "s" are pressed in the keyboard. It looks compatible with XT IBM Keyboard Protocol.

(Attachment Link)

The second picture contains the XT pure keyboard waveforms when "a" and "s" are pressed. The clock seems to be higher and we can see only 8 bits, not 9 as it was supposed to be.

(Attachment Link)

I guess that's why the Soaror's converter is not recognizing my XT keyboards.

Do you thing I will have to write a specific code for converting my XT keyboards or it may exist another solution?

Soarer won't help in case anyone is wondering :-)

Offline hasu

  • Posts: 2726
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1533 on: Thu, 22 February 2018, 20:17:45 »
No way, even with resistors...

I've found an AT2XT adaptor here. Soaror's Converter recoginizes an AT keyboard with the AT2XT adaptor as a XT keyboard (as expected), and it works perfectly!

So, I've gotten very curious to understand why the AT2XT adaptor works but the original XT keyboard doesn't.

Trying to remember how to use an osciloscope, I've gotten some waveforms. The first picture contains the AT2XT waveforms when "a" and "s" are pressed in the keyboard. It looks compatible with XT IBM Keyboard Protocol.

(Attachment Link)

The second picture contains the XT pure keyboard waveforms when "a" and "s" are pressed. The clock seems to be higher and we can see only 8 bits, not 9 as it was supposed to be.

(Attachment Link)

I guess that's why the Soaror's converter is not recognizing my XT keyboards.

Do you thing I will have to write a specific code for converting my XT keyboards or it may exist another solution?

What model is actually your "XT pure keyboard"?
It waveform has no start bit which is expected in original XT. You can see this post for normal XT signal.
https://geekhack.org/index.php?topic=62168.msg1469706#msg1469706

And is this AT2XT adapter you are refering to?
http://www.vcfed.org/forum/showthread.php?26426-AT2XT-keyboard-converter
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline pivanow

  • Posts: 6
  • Location: Brazil
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1534 on: Sat, 24 February 2018, 13:20:30 »
What model is actually your "XT pure keyboard"?
It waveform has no start bit which is expected in original XT. You can see this post for normal XT signal.
https://geekhack.org/index.php?topic=62168.msg1469706#msg1469706

I actually don't know. I've tested four diferent XT keyboards and all of them present the same waveform, without start bit. Maybe it's a singular caracteristic of Brazilian keyboards. The strange about this is that I have some Juko motherboards with 8088 and NEC V20 processors, and they work fine with my XT keyboards.

And is this AT2XT adapter you are refering to?
http://www.vcfed.org/forum/showthread.php?26426-AT2XT-keyboard-converter

Yes. And it works fine with my Juko motherboards and other XT ones.

Well, this week I've tried stop crying and wrote a code for Teensy 2.0++ using Teensyduino, for decode my XT keyboards.
I've had some problems with the code, because the processor is not fast and some operations in the program were causing clock pulses loss. After some tries, I guess the code is mature, and I'm actually typing with a XT clicky keyboard in my Win 10 now.

It`s here as a contribution for the community. Free for copy, re-use and distribution.

Code: [Select]
//Brazilian XT Keyboard to USB Converter 1.0 - 8 bits protocol (no start bit).
//Developed by Leandro Piva (pivanow at gmail dot com), from Brazil, for Teensy 2.0++ using Teensyduino.
//Tested and working fine with keyboards presenting 17.5kHz clock. Higher clock keyboards may suffer with clock pulses loss.
//Free for copy, re-use and distribution.

#define CPU_PRESCALE(n) (CLKPR = 0x80, CLKPR = (n))
#define CPU_16MHz       0x00

int dataPin = 0; // Data line connected to PD0 in Teensy 2.0++
int clockPin = 1; // Clock line connected to PD1 in Teensy 2.0++
int clockDown = 0;
int count = 0;
byte data = 00;

void setup() {
  CPU_PRESCALE(CPU_16MHz);
  pinMode(dataPin, INPUT);
  pinMode(clockPin, INPUT);
  Serial.begin(2000000); // Use Serial Monitor from Arduino IDE (with Teensyduino) to see the scancodes sent from keyboard
}

void loop() {
  if(digitalRead(clockPin) == LOW) {
    clockDown = 1;
  }
  if(digitalRead(clockPin) == HIGH && clockDown == 1 && count <= 7) {
    clockDown = 0;
    if(digitalRead(dataPin) == HIGH) {
       bitSet(data,count);
    }
    count++;
  }
  if(count == 8){
   
    Serial.println(data);
       
    // Scan-code Set 1 structure for sending USB keyboard command to the computer.
    switch(data){
      case 1: Keyboard.press(KEY_ESC); break;
      case 2: Keyboard.press(KEY_1); break;
      case 3: Keyboard.press(KEY_2); break;
      case 4: Keyboard.press(KEY_3); break;
      case 5: Keyboard.press(KEY_4); break;
      case 6: Keyboard.press(KEY_5); break;
      case 7: Keyboard.press(KEY_6); break;
      case 8: Keyboard.press(KEY_7); break;
      case 9: Keyboard.press(KEY_8); break;
      case 10: Keyboard.press(KEY_9); break;
      case 11: Keyboard.press(KEY_0); break;
      case 12: Keyboard.press(KEY_MINUS); break;
      case 13: Keyboard.press(KEY_EQUAL); break;
      case 14: Keyboard.press(KEY_BACKSPACE); break;
      case 15: Keyboard.press(KEY_TAB); break;
      case 16: Keyboard.press(KEY_Q); break;
      case 17: Keyboard.press(KEY_W); break;
      case 18: Keyboard.press(KEY_E); break;
      case 19: Keyboard.press(KEY_R); break;
      case 20: Keyboard.press(KEY_T); break;
      case 21: Keyboard.press(KEY_Y); break;
      case 22: Keyboard.press(KEY_U); break;
      case 23: Keyboard.press(KEY_I); break;
      case 24: Keyboard.press(KEY_O); break;
      case 25: Keyboard.press(KEY_P); break;
      case 26: Keyboard.press(KEY_LEFT_BRACE); break;
      case 27: Keyboard.press(KEY_RIGHT_BRACE); break;
      case 28: Keyboard.press(KEY_ENTER); break;
      case 29: Keyboard.press(MODIFIERKEY_CTRL); break;
      case 30: Keyboard.press(KEY_A); break;
      case 31: Keyboard.press(KEY_S); break;
      case 32: Keyboard.press(KEY_D); break;
      case 33: Keyboard.press(KEY_F); break;
      case 34: Keyboard.press(KEY_G); break;
      case 35: Keyboard.press(KEY_H); break;
      case 36: Keyboard.press(KEY_J); break;
      case 37: Keyboard.press(KEY_K); break;
      case 38: Keyboard.press(KEY_L); break;
      case 39: Keyboard.press(KEY_SEMICOLON); break;
      case 40: Keyboard.press(KEY_QUOTE); break;
      case 41: Keyboard.press(KEY_TILDE); break;
      case 42: Keyboard.press(MODIFIERKEY_SHIFT); break;
      case 43: Keyboard.press(KEY_BACKSLASH); break;
      case 44: Keyboard.press(KEY_Z); break;
      case 45: Keyboard.press(KEY_X); break;
      case 46: Keyboard.press(KEY_C); break;
      case 47: Keyboard.press(KEY_V); break;
      case 48: Keyboard.press(KEY_B); break;
      case 49: Keyboard.press(KEY_N); break;
      case 50: Keyboard.press(KEY_M); break;
      case 51: Keyboard.press(KEY_COMMA); break;
      case 52: Keyboard.press(KEY_PERIOD); break;
      case 53: Keyboard.press(KEY_SLASH); break;
      case 54: Keyboard.press(MODIFIERKEY_RIGHT_SHIFT); break;
      case 55: Keyboard.press(KEYPAD_ASTERIX); break;
      case 56: Keyboard.press(MODIFIERKEY_ALT); break;
      case 57: Keyboard.press(KEY_SPACE); break;
      case 58: Keyboard.press(KEY_CAPS_LOCK); break;
      case 59: Keyboard.press(KEY_F1); break;
      case 60: Keyboard.press(KEY_F2); break;
      case 61: Keyboard.press(KEY_F3); break;
      case 62: Keyboard.press(KEY_F4); break;
      case 63: Keyboard.press(KEY_F5); break;
      case 64: Keyboard.press(KEY_F6); break;
      case 65: Keyboard.press(KEY_F7); break;
      case 66: Keyboard.press(KEY_F8); break;
      case 67: Keyboard.press(KEY_F9); break;
      case 68: Keyboard.press(KEY_F10); break;
      case 69: Keyboard.press(KEY_NUM_LOCK); break;
      case 70: Keyboard.press(KEY_SCROLL_LOCK); break;
      case 71: Keyboard.press(KEYPAD_7); break;
      case 72: Keyboard.press(KEYPAD_8); break;
      case 73: Keyboard.press(KEYPAD_9); break;
      case 74: Keyboard.press(KEYPAD_MINUS); break;
      case 75: Keyboard.press(KEYPAD_4); break;
      case 76: Keyboard.press(KEYPAD_5); break;
      case 77: Keyboard.press(KEYPAD_6); break;
      case 78: Keyboard.press(KEYPAD_PLUS); break;
      case 79: Keyboard.press(KEYPAD_1); break;
      case 80: Keyboard.press(KEYPAD_2); break;
      case 81: Keyboard.press(KEYPAD_3); break;
      case 82: Keyboard.press(KEYPAD_0); break;
      case 83: Keyboard.press(KEYPAD_PERIOD); break;
      case 87: Keyboard.press(KEY_F11); break;
      case 88: Keyboard.press(KEY_F12); break;

      case 129: Keyboard.release(KEY_ESC); break;
      case 130: Keyboard.release(KEY_1); break;
      case 131: Keyboard.release(KEY_2); break;
      case 132: Keyboard.release(KEY_3); break;
      case 133: Keyboard.release(KEY_4); break;
      case 134: Keyboard.release(KEY_5); break;
      case 135: Keyboard.release(KEY_6); break;
      case 136: Keyboard.release(KEY_7); break;
      case 137: Keyboard.release(KEY_8); break;
      case 138: Keyboard.release(KEY_9); break;
      case 139: Keyboard.release(KEY_0); break;
      case 140: Keyboard.release(KEY_MINUS); break;
      case 141: Keyboard.release(KEY_EQUAL); break;
      case 142: Keyboard.release(KEY_BACKSPACE); break;
      case 143: Keyboard.release(KEY_TAB); break;
      case 144: Keyboard.release(KEY_Q); break;
      case 145: Keyboard.release(KEY_W); break;
      case 146: Keyboard.release(KEY_E); break;
      case 147: Keyboard.release(KEY_R); break;
      case 148: Keyboard.release(KEY_T); break;
      case 149: Keyboard.release(KEY_Y); break;
      case 150: Keyboard.release(KEY_U); break;
      case 151: Keyboard.release(KEY_I); break;
      case 152: Keyboard.release(KEY_O); break;
      case 153: Keyboard.release(KEY_P); break;
      case 154: Keyboard.release(KEY_LEFT_BRACE); break;
      case 155: Keyboard.release(KEY_RIGHT_BRACE); break;
      case 156: Keyboard.release(KEY_ENTER); break;
      case 157: Keyboard.release(MODIFIERKEY_CTRL); break;
      case 158: Keyboard.release(KEY_A); break;
      case 159: Keyboard.release(KEY_S); break;
      case 160: Keyboard.release(KEY_D); break;
      case 161: Keyboard.release(KEY_F); break;
      case 162: Keyboard.release(KEY_G); break;
      case 163: Keyboard.release(KEY_H); break;
      case 164: Keyboard.release(KEY_J); break;
      case 165: Keyboard.release(KEY_K); break;
      case 166: Keyboard.release(KEY_L); break;
      case 167: Keyboard.release(KEY_SEMICOLON); break;
      case 168: Keyboard.release(KEY_QUOTE); break;
      case 169: Keyboard.release(KEY_TILDE); break;
      case 170: Keyboard.release(MODIFIERKEY_SHIFT); break;
      case 171: Keyboard.release(KEY_BACKSLASH); break;
      case 172: Keyboard.release(KEY_Z); break;
      case 173: Keyboard.release(KEY_X); break;
      case 174: Keyboard.release(KEY_C); break;
      case 175: Keyboard.release(KEY_V); break;
      case 176: Keyboard.release(KEY_B); break;
      case 177: Keyboard.release(KEY_N); break;
      case 178: Keyboard.release(KEY_M); break;
      case 179: Keyboard.release(KEY_COMMA); break;
      case 180: Keyboard.release(KEY_PERIOD); break;
      case 181: Keyboard.release(KEY_SLASH); break;
      case 182: Keyboard.release(MODIFIERKEY_RIGHT_SHIFT); break;
      case 183: Keyboard.release(KEYPAD_ASTERIX); break;
      case 184: Keyboard.release(MODIFIERKEY_ALT); break;
      case 185: Keyboard.release(KEY_SPACE); break;
      case 186: Keyboard.release(KEY_CAPS_LOCK); break;
      case 187: Keyboard.release(KEY_F1); break;
      case 188: Keyboard.release(KEY_F2); break;
      case 189: Keyboard.release(KEY_F3); break;
      case 190: Keyboard.release(KEY_F4); break;
      case 191: Keyboard.release(KEY_F5); break;
      case 192: Keyboard.release(KEY_F6); break;
      case 193: Keyboard.release(KEY_F7); break;
      case 194: Keyboard.release(KEY_F8); break;
      case 195: Keyboard.release(KEY_F9); break;
      case 196: Keyboard.release(KEY_F10); break;
      case 197: Keyboard.release(KEY_NUM_LOCK); break;
      case 198: Keyboard.release(KEY_SCROLL_LOCK); break;
      case 199: Keyboard.release(KEYPAD_7); break;
      case 200: Keyboard.release(KEYPAD_8); break;
      case 201: Keyboard.release(KEYPAD_9); break;
      case 202: Keyboard.release(KEYPAD_MINUS); break;
      case 203: Keyboard.release(KEYPAD_4); break;
      case 204: Keyboard.release(KEYPAD_5); break;
      case 205: Keyboard.release(KEYPAD_6); break;
      case 206: Keyboard.release(KEYPAD_PLUS); break;
      case 207: Keyboard.release(KEYPAD_1); break;
      case 208: Keyboard.release(KEYPAD_2); break;
      case 209: Keyboard.release(KEYPAD_3); break;
      case 210: Keyboard.release(KEYPAD_0); break;
      case 211: Keyboard.release(KEYPAD_PERIOD); break;
      case 215: Keyboard.release(KEY_F11); break;
      case 216: Keyboard.release(KEY_F12); break;
    }
    count = 0;
    data = 00;
  }
}

P.S.: Here is a picture of one of my "made in Brazil" XT keyboards. Made in 1987, perfect working.

189611-0
« Last Edit: Sat, 24 February 2018, 13:37:01 by pivanow »

Offline Techno Trousers

  • Posts: 762
  • ʘ_ಠ
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1535 on: Sat, 24 February 2018, 15:22:35 »


P.S.: Here is a picture of one of my "made in Brazil" XT keyboards. Made in 1987, perfect working.

(Attachment Link)

Wow, that is the most usable version of an XT layout I've ever seen!

Offline Giorgio

  • Posts: 1765
  • Location: Italy
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1536 on: Sat, 24 February 2018, 17:41:17 »
@pivanow

Pardon my ignorance, but why don't you invest some time in writing some code with the same functionalities of soarer's?

I'm sure that many would like to kickstart such a feature.

Offline pivanow

  • Posts: 6
  • Location: Brazil
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1537 on: Sun, 25 February 2018, 07:15:09 »
Wow, that is the most usable version of an XT layout I've ever seen!

It's similar to IBM model F, I guess. I miss F11 and F12 (specially F11, because of its browser fullscreen function; maybe I will program the Scroll Lock key to have F11 function). CTRL and ALT positions are strange compared to modern layouts too. I'll take some time to get used to.

@pivanow

Pardon my ignorance, but why don't you invest some time in writing some code with the same functionalities of soarer's?

I'm sure that many would like to kickstart such a feature.

That's a good idea. But it will be hard to develop all functions that Soarer gently made. His converter offers support to many kinds of different keyboards, and most of them I have no acess. I've never ever seen an original IBM model F or model M here in Brazil.
« Last Edit: Sun, 25 February 2018, 08:56:54 by pivanow »

Offline fohat.digs

  • * Elevated Elder
  • Posts: 5406
  • Location: 34.04 N 84.47 W
  • weird funny old guy
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1538 on: Sun, 25 February 2018, 08:59:26 »

it will be hard to develop all functions that Soarer gently made.


Soarer's work is astonishing. With very few exceptions, almost EVERY keyboard that I plug into my converter *just works* with no additional drama.
“Wise statesmen as they were, they knew the tendency of prosperity to breed tyrants, and so they established these great self-evident truths, that when in the distant future some man, some faction, some interest, should set up the doctrine that none but rich men, or none but white men, were entitled to life, liberty and pursuit of happiness, their posterity might look up again to the Declaration of Independence and take courage to renew the battle which their fathers began — so that truth, and justice, and mercy, and all the humane and Christian virtues might not be extinguished from the land; so that no man would hereafter dare to limit and circumscribe the great principles on which the temple of liberty was being built.”
- Abraham Lincoln, July 4, 1858

Offline pivanow

  • Posts: 6
  • Location: Brazil
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1539 on: Sun, 25 February 2018, 17:09:55 »

Soarer's work is astonishing. With very few exceptions, almost EVERY keyboard that I plug into my converter *just works* with no additional drama.

I agree. But some issues make me think if it's invalid trying to develop a new converter:

1) Teensy 2.0 and Teensy 2.0++ won't be avaliable forever. In some years, maybe it could be difficult to find this hardware for running Soarer's application.

2) Even if most keyboards are supported by Soarer's Converter, some keyboards are not, like mine. A person without knowledge, equipment, time and good will could simply turn a good unsupported keyboard into trash.

3) These problems would be solved if Soarer had released the source-code of his converter. Community would have conditions to expand the supported formats and to create versions for newer hardware. I don't believe Soarer is going to release the source-code some day.

That's why I guess it would be convenient to develop a newer open-source converter.

Offline hasu

  • Posts: 2726
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1540 on: Wed, 28 February 2018, 02:07:58 »
I'd try adding pull-up resistors to the clock & data wires.

No way, even with resistors...

I've found an AT2XT adaptor here. Soaror's Converter recoginizes an AT keyboard with the AT2XT adaptor as a XT keyboard (as expected), and it works perfectly!

So, I've gotten very curious to understand why the AT2XT adaptor works but the original XT keyboard doesn't.

Trying to remember how to use an osciloscope, I've gotten some waveforms. The first picture contains the AT2XT waveforms when "a" and "s" are pressed in the keyboard. It looks compatible with XT IBM Keyboard Protocol.

(Attachment Link)

The second picture contains the XT pure keyboard waveforms when "a" and "s" are pressed. The clock seems to be higher and we can see only 8 bits, not 9 as it was supposed to be.

(Attachment Link)

I guess that's why the Soaror's converter is not recognizing my XT keyboards.

Do you thing I will have to write a specific code for converting my XT keyboards or it may exist another solution?

I did some researches on XT keyboard protocol including Soarer's converter these a few days.
https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-XT-Keyboard-Protocol

Noticed your keyboard(microtec) has different timing on its signaling, but it is compatible to XT protocol.
After emulating different XT keyboard signals with tweaking AT2XT code I came to think Soarer's converter read data line on rising edge of clock and this is problem here. (Also my tmk converter does wrongly at this point :p)

Looking into keyboard interface schematic of XT technical reference  you will know you have to read data line on falling edge of clock.
https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-XT-Keyboard-Protocol#xt-keyboard-interface

I know you already solved this progblem yourself, congrat!
But it would be appreciated if you are willing to try my new converter firmware and let me know whether it works with the keyboard or not.
Attached firmware is built for Teensy2.0++ and compatible to Soarer's in terms of hardware. Thanks.
* xt_usb_at90usb1287.hex (55.01 kB - downloaded 12 times.)
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline pivanow

  • Posts: 6
  • Location: Brazil
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1541 on: Wed, 28 February 2018, 17:36:02 »
Noticed your keyboard(microtec) has different timing on its signaling, but it is compatible to XT protocol.
After emulating different XT keyboard signals with tweaking AT2XT code I came to think Soarer's converter read data line on rising edge of clock and this is problem here. (Also my tmk converter does wrongly at this point :p)

That's a totally different way of thinking, and it makes sense. My code is using the rising edge of clock too. I'll try to implement a new code this weekend using this new paradigm.

I know you already solved this progblem yourself, congrat!
But it would be appreciated if you are willing to try my new converter firmware and let me know whether it works with the keyboard or not.
Attached firmware is built for Teensy2.0++ and compatible to Soarer's in terms of hardware. Thanks.

It worked for my Microtec keyboard, but not perfectly. All keys worked, but some press or release codes are frequently lost, resulting in missing characters or constant repetition (because of missing release code).

I've had the same problem in my implementation. I've concluded that I had to make the code as simpliest as possible, without many comparations or math operations, because the processor must be free for running the loops in time for reading the clock pulses. If the processor is busy, it could miss some clock pulses. Making a simply code solved this problem for me. I thought buying a faster Teensy too.

I'm available for more tests if you need. Thank you for your help and orientation.
« Last Edit: Wed, 28 February 2018, 17:40:19 by pivanow »

Offline Syren__

  • Posts: 2
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1542 on: Thu, 01 March 2018, 13:41:10 »
Has anyone with a 122 key tried to map the F13-F24 keys as they actually were meant for (mapping them to real F13-F24)? I use some old software at work that was terminal based and would love to have them function as they were intended to.  it would be entertaining to my coworkers.
Rosewill RK-1000
Ducky Shine 3 TKL MX Brown
Ducky Year of the Monkey

Offline fohat.digs

  • * Elevated Elder
  • Posts: 5406
  • Location: 34.04 N 84.47 W
  • weird funny old guy
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1543 on: Fri, 02 March 2018, 12:13:41 »
Has anyone with a 122 key tried to map the F13-F24 keys as they actually were meant for (mapping them to real F13-F24)?


I am pretty sure that Soarer's firmware defaults to that.

If not, you could make it happen.

“Wise statesmen as they were, they knew the tendency of prosperity to breed tyrants, and so they established these great self-evident truths, that when in the distant future some man, some faction, some interest, should set up the doctrine that none but rich men, or none but white men, were entitled to life, liberty and pursuit of happiness, their posterity might look up again to the Declaration of Independence and take courage to renew the battle which their fathers began — so that truth, and justice, and mercy, and all the humane and Christian virtues might not be extinguished from the land; so that no man would hereafter dare to limit and circumscribe the great principles on which the temple of liberty was being built.”
- Abraham Lincoln, July 4, 1858

Offline Myvryn

  • Posts: 1
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1544 on: Wed, 14 March 2018, 17:26:32 »
I just picked up a keyboard from my youth. A Tandy Enhanced Keyboard with the 5pin-din connector.
My problem plugging this into my Linux box is that all of the "normal" keys work fine, but others do odd things.
Namely, the arrow keys, the entire Insert-Home-PageUp group, etc. will not work correctly. The up arrow launches my media player.

If I was to pick up one of your converters, would it solve my problem?

Thanks,
Eddy

Offline hasu

  • Posts: 2726
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1545 on: Thu, 15 March 2018, 19:19:44 »

I know you already solved this progblem yourself, congrat!
But it would be appreciated if you are willing to try my new converter firmware and let me know whether it works with the keyboard or not.
Attached firmware is built for Teensy2.0++ and compatible to Soarer's in terms of hardware. Thanks.

It worked for my Microtec keyboard, but not perfectly. All keys worked, but some press or release codes are frequently lost, resulting in missing characters or constant repetition (because of missing release code).

I've had the same problem in my implementation. I've concluded that I had to make the code as simpliest as possible, without many comparations or math operations, because the processor must be free for running the loops in time for reading the clock pulses. If the processor is busy, it could miss some clock pulses. Making a simply code solved this problem for me. I thought buying a faster Teensy too.

I'm available for more tests if you need. Thank you for your help and orientation.

Sorry for late reply and thank you for the test!
Hm, it seems that my firmware read data line after around 5-10us from clock falling egde and this might be too slow to support your wild Microtech. From your scope image its clock seems to have pretty small margin for reading data, around 5us or less? comparing to other XT keyboards.

I fixed my code and it can read in 3us after the edge now, could you try this when you have time? To be honest, I'm still not sure the 3 micro sec is fast enough because original XT interface works in tens or houndreds of nano second probably.
https://github.com/tmk/tmk_keyboard/blob/xt_rev2/converter/xt_usb/binary/xt_at90usb1286.hex

I afraid this may be a bit off-topic for most of subscribers of this thread now and created new thread for my fimrware. If you can post result there it would be appreciated. Also other XT keyboard owners who are willing to help and test my firmware would be welcome.
https://geekhack.org/index.php?topic=94649.0

Thanks
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline hking0036

  • Posts: 340
  • Location: NC, USA
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1546 on: Sun, 18 March 2018, 18:13:36 »
What are the names for the extra 122 keys? I'm in the process of doing an ANSI mod (thanks to fohat) and I can't figure out what the name for some of the keys are. The left bank seems to be the EXTRA_F# code, and the top I'm assuming are F1-F24, but the key in the center of the arrow cluster, <>, and the !/c key I don't know. thanks.
« Last Edit: Sun, 18 March 2018, 19:24:50 by hking0036 »
Realforce RF87UB 45g Uniform | Leopold FC660C w/ TMK | IBM Model M - 3/24/1997 | IBM Model F 122 - 11/25/1985 ANSI'd w/ TMK | IBM Model F XT - in progress...

Offline fohat.digs

  • * Elevated Elder
  • Posts: 5406
  • Location: 34.04 N 84.47 W
  • weird funny old guy
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1547 on: Mon, 19 March 2018, 18:34:38 »
The center arrow is LANG_4, the upper right of the numpad is EXTRA_SYSRQ

Otherwise, I think that most of his default layout is what the key position would be in standard ANSI.

The right side of Left Shift, I don't know, I always cover it up. HID_listen will tell you what it is putting out, then you could look it up.
“Wise statesmen as they were, they knew the tendency of prosperity to breed tyrants, and so they established these great self-evident truths, that when in the distant future some man, some faction, some interest, should set up the doctrine that none but rich men, or none but white men, were entitled to life, liberty and pursuit of happiness, their posterity might look up again to the Declaration of Independence and take courage to renew the battle which their fathers began — so that truth, and justice, and mercy, and all the humane and Christian virtues might not be extinguished from the land; so that no man would hereafter dare to limit and circumscribe the great principles on which the temple of liberty was being built.”
- Abraham Lincoln, July 4, 1858

Offline hking0036

  • Posts: 340
  • Location: NC, USA
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1548 on: Mon, 19 March 2018, 21:14:50 »
The center arrow is LANG_4, the upper right of the numpad is EXTRA_SYSRQ

Otherwise, I think that most of his default layout is what the key position would be in standard ANSI.

The right side of Left Shift, I don't know, I always cover it up. HID_listen will tell you what it is putting out, then you could look it up.
Thanks, that helps. Forgot that the rod stab ends up going into the <> key so no need to be concerned over that. Haven't got the converter wired up yet, I just want to have it set up so once I get the thing back together it's all good. Need to repaint the plate next.
Realforce RF87UB 45g Uniform | Leopold FC660C w/ TMK | IBM Model M - 3/24/1997 | IBM Model F 122 - 11/25/1985 ANSI'd w/ TMK | IBM Model F XT - in progress...

Offline feltel

  • Posts: 6
    • feltel.de
Re: XT/AT/PS2/Terminal to USB Converter with NKRO
« Reply #1549 on: Sat, 05 May 2018, 08:37:50 »
I recently aquired a used Model M 122 Terminal board (1394338) which I planned to convert to USB using Soarer's firmware and an Teensy 2.0++. I flashed the firmware and connected the keyboard according to pinout listed on this threads page 1. Unfortunately no keypress is registered and checking hid_listen it seems the keyboard is not detected at all.

Sometimes hid_listen/teensy-listen shows
Code: [Select]
feltel@bigblue:~/bin$ sudo teensy-listen
Waiting for device:......................................
Listening:


remaining: 0000
wF8 W004wF8 W004wF8 W004

Keyboard ID: 0000
Code Set: 3
Mode: AT/PS2

wED W104wED W104wED W104
often also
Code: [Select]
feltel@bigblue:~/bin$ sudo teensy-listen
Waiting for device:.................
Listening:
R06 wFE
R06 wFE
R05 wFE
or long colums of R05 and/or R06. Could be a dead keyboard controller board the reason for this behavior? As I was not sure if the keyset detection is the source of the problem I uploaded a simple config file to the teensy with "force set3".

I'm using a notebook (where demanding USB devices may cause problems) I cross-checked everyting using a powered USB hub. The results did not change. Checking the teensy with scinfo looks good imho:
Code: [Select]
feltel@bigblue:~/bin$ ./scinfo
scinfo v1.10
scinfo: looking for Soarer's Converter: found
scinfo: sending info request: ok
device: ok

Protocol Version: v1.00
Code Version: v1.12
Max Settings Version: v1.01
Current Settings Version: v1.01
SRAM Size: 8192 bytes
SRAM Free: 7441 bytes
EEPROM Size: 4096 bytes
EEPROM Free: 4088 bytes
Unicomp Classic with red ESC key