Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add support for Zenith Z-150 'black label' keyboard #437

Closed
wants to merge 2 commits into from

Conversation

namato
Copy link

@namato namato commented Feb 9, 2017

Hi guys this is a batch of small fixes that I've applied to make the xt_usb converter work with the Z-150 black label. This keyboard speaks an "XT-like" protocol and requires the reset line to be connected, and works better with the interrupt changes in this patch. Without these changes, it does not work at all. It would be great to add this to TMK because I think it would be the only open-source code that supports this keyboard.

@tmk
Copy link
Owner

tmk commented Feb 12, 2017

Is it possible to make code to support the keyboard and other normal XT keyboars like IBM XT keyboard at same time? It would be nice to add support for the keyboard with same code.

I have followed this thread and looked into keyboard interface schematic and BIOS codes of XT tech reference, waveforms of keyboards and other resources. And it feels to me like it is possible but not sure.
http://www.reenigne.org/crtc/PC-XT.pdf
https://www.cs.cmu.edu/~jmcm/info/key2.txt
https://deskthority.net/keyboards-f2/xt-zenith-z-150-converter-t12972-30.html#p354189
https://geekhack.org/index.php?topic=62168.msg1469706#msg1469706

It seems to be natural to read data line at rising edge of clock. Why falling edge?
And with wait_clock_lo(20); you read data at high level part(after rising edge) in the result because low level part of clock signal of Zenith is very short, I guess.
https://github.com/tmk/tmk_keyboard/pull/437/files#diff-152eeb35bc255ffdff636e808c1bda81R82

BTW, I don't have any XT keyboard to test this unfortunately.

@namato
Copy link
Author

namato commented Apr 4, 2017

All good info and I agree it would be better to just detect the Z-150 at runtime. It is almost surely possible because Soarer's converter does it, although it has other issues with the Z-150. I'll close this for now and repoen later once I test it more, for now will just keep it as a fork.

@namato namato closed this Apr 4, 2017
@namato namato deleted the zenith_z_150_xt branch April 4, 2017 07:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants