88mk2のUSBキーボードアダプタの問い合わせが来たので、少し調べてみた。
PC-8801mk2シリーズ(PC-8801mk2/SR/TR/FR/MR)のキーボードコネクタはDIN 13pinで、雄コネクタを覗き込んだ場合、左上が1pinで右下が12pin、真ん中下が13pinの並び。
88mk2シリーズの場合、スキャンラインは0~11まで。
キーが押されるとビットはLow(0)になり、何も押されていない場合は全ビットがHigh(1)になりFFhが返答される。
入力と出力のピンが独立してるので、余計な回路も必要なくPicoで行けそう。
ほぼDIN13コネクタとPicoを接続するのみだが、テスト基板を作成
うちには88mk2が無いので、PC-8001mk2SRで試してみる。
80SRの背面には汎用入力インターフェイスがあって、DIN 13pinのコネクタがある
少し違うのは、パソピア700はキーのスキャンタイミングがわかるピンがあるので、その1つのピンを監視していればよかったのだが、88の場合はタイミングの信号線がないので、9~12pinのどれかがLow(0)になるまでボーリングするようにした。
実際にUSBキーボードとシリアルを接続して動作確認。
結果は以下の波形。
下の4つが88mk2本体から送られてくるスキャンライン9~12pinだが、LowになってからHighになるまでの間隔が590nsくらい。今回はポーリング処理が入っているためタイミングによるばらつきがあるが、それでもスキャン信号が届いてから200nsちょっとで返答できている。
USBキーボードでキーを押すと、ちゃんとキー入力されている。
1つ気になる点は、PC-8001mk2SR本体側のModifierキーが無効になる。
今回作成したアダプタを本体に接続すると、CTRL/SHIFT/GRAPH/カナキーがUSBキーボード側のみ有効になり、本体側のModifierキーが無効になってしまう。
仕様かもしれないが、本物の88キーボードを持っていないので確認できず。。
あと、今回88mk2版を試すにあたりPicoのUSBライブラリを最新にしたが、安定性がかなり上がった印象。USBキーボードの抜き差しをしてもハングしにくくなったし、今まで動かなかったHub付きキーボードも動くようになった。
88mk2シリーズでも動きそうだが、本体で検証できていないので...
こんにちは、以前「PC-8801mkII用USBキーボード・アダプタ」で書き込みしたpinがおれたcpuです。
返信削除そのときは対応してくださりありがとうございました。
毎日のように似たようなものを探していて25日に見つけました。
何もなかったところにいきなりこの記事があがってて、
調べて終わりかなと思ったら、
あっさりテスト基板を作られて動かしてて、
驚きしかありませんでした。
誠に厚かましく図々しいのですが、これがほしいです。
売ってたら即買いたいです。
同じことを raspberry pi の 3b か 4b でできないでしょうか。
3bと4ならもっているのでどちらかでできたらありがたいです。
(USBキーボードが直接刺さるため)
自分には同じことをできる技術がありませんので。
参考になるかはわかりませんが、
PC8801mkIISRのキーボードでは、カナキーとCAPS LOCKキーは、一度押すと、
カチッと音が鳴り、沈んだまま浮いてきません。押しっぱなしになってるようです。
もう一度深めに押すと、カチッと音がなり、引っかかりがなくなり
周りのキーの高さまで戻ります。
88SRのキー情報ありがとうございます。
削除試作機で良ければお送りしましょうか?
少し時間をもらえたら、もう1台試作機作ってみます。