エピ21 MZ80のキーボードのこと
***
エピ21 MZ80のキーボードのこと
***
MZ80のキーボードは普通のキーボード?とは違って、縦横に整列しています。MZ80の、...KやK2のことです。K2Eもね。AやB、Cは普通でした。
そんな珍しいレイアウトのMZ80のキーボードの構成とキーマトリクスについて調べてみました。
***
いきなり余談になりますが。
縦横に並んだキーボードのことをマトリクス式と言うことにします。直交配列や格子配列、...碁盤のマス目状とも言う方もいますね。適宜の読替えを。
段ごとに横方向にズレているのはタイプライタ式ね(...、和文タイプライタは知らないことにする)。横方向にずれているのはロウ・スタッガードとも言うようです。
で。MZ80のマトリクス式のキーボードが珍しいと言うのは、正確にはパソコン用のキーボードとしては少数派という意味です。...。
パソコン用のキーボードはタイプライタに由来するもので、そしてタイプライタのキーがズレているのは打鍵と印字バーの機械的な都合があったから。...、らしいです。1872年頃の話ですけど。諸説あるようですけど。...、これがそのまま現在まで踏襲されてきた感じです。
他のキーボードは。
電話や電卓、レジ、ATM、券売機、...などで何かを入力するキーあるいはボタンは縦横に整列しているものが多いですよね。パソコン用のキーボードだってテンキー部分はマトリクス式ですから。
キーボードとしては、段ごとにズレているパソコン用のキーボードの方が特殊なのかも知れません。
*
キーボードとは楽器のアレだろ? ...、と読みに来た方が(万一にも)いらしたら申し訳無いです。
*
パソコンの先祖であるワンボードマイコンでは。
16進数やコマンド用のキーがあって、...これをキーボードと呼ぶのかはともかくとして、...大抵がマトリクス式です。TK80(1976年8月)とかLKit16(1977年3月)とかね。
それでMZ80(1978年11月発表)はこれを引き継いだのかも、...と思ってググってみたら、(アメリカで)1977年10月発売のPET2001はキーボードがマトリクス式で、MZ80はこれの影響を受けたのだろうと書いてあった。そうなんだ。
ソード社のM220(1977年9月発売)もキーボードがマトリクス式みたい。他にはマトリクス式は見当たらない。...、探した範囲でのことですけど。
LKit16だって。本体に0〜9とA〜Zを含む40個のキーがありますが、フルシステムならタイプライタ式のキーボードを接続するはず。
TK80もTK80BSならキーボードはタイプライタ式です。...ですよね?
*
テレタイプ端末(TTY)の “TY” とはタイプライタのことだから。電子計算機の入力装置としてのキーボードは初期からタイプライタ式だったのでしょう。
最初は紙テープやパンチカードに穴を開ける装置のキーボードだけどね。直ぐに直結されるよ。
*
現在では。パソコン用キーボードはタイプライタの機械的な制約がないから、...。
だから特異な(変態的な?)レイアウトのキーボードがでましたね。TRONキーボード(1986年設計)、Natural Keyboard(1994年発売)とかのエルゴノミクス風。
アルファベットの配列も、QWERT配列に対抗するDVORAK配列(1932年)ができたり。...、親指シフト? ナニソレ
それから自作キーボード。2012年頃に始まったオープンソースのプロジェクトが、2015年に ErgoDox を発売。続いて Planck や Corne が登場。専門店が現れて同人ハードの販売。今では多数の製品が出ています。
マトリクス式やカラム・スタッカード式(縦ズレ式)、左右分離型などがありますが。自作なのでキーレイアウトもキーキャップも自由。...、と言うか多数のこだわりポイントがあるらしくてカスタム部品の販売もあってキーボード沼が発生しているようです。
...、USBか無線接続でマイコン内蔵。つまりキーボード側でキーマクロを組めそうだ。1〜2行でよいのでLCDを付けたらキーボードだけでプログラムできるな。
スマホに接続すればよいかもだけど、それは何か嫌だな。今後スマホは邪悪な存在になるかもよ。...、邪悪とは本体よりインクカートリッジの方が高いインクジェットプリンタみたいな存在のこと。
*
現在では多様化しているから、普通のキーボード!なんて安易に言ってはダメかも。
*
*
*
行と列、ロウ、カラムとあるけど、...どっちがどっち? 列=カラムだよねと思いつつ。...。
学校では(何故か)国語の先生から「(英字の)新聞のコラム」は縦長の記事だからコラムと言うのだよ。そもそもコラムはラテン語の柱のこと。古代に神殿の柱に記事を書き付けたのがコラムの起源だとも(ウソよ)。だからコラムは縦長で、ロウは横長だと教わった。けれどコラムか、...。現在の日本の新聞では意味不明だな。
学校で全生徒が集まるとき、全校集会や運動会とかでさ、クラス毎に1列や2列でならんだよね。遠足に行くときにもね。だから列は縦長。
*
...。でもな。
文字列って大抵は横並びでは? ライブ会場で1列目(最前列)ってタテ?ヨコ? 整列するとき縦1列とか横1列でとか言わない? 縦書きの本で1行目ってタテ? 横書きだとヨコかな? わはははー
*
**
***
キーボードのマトリクスと言うと、キーボード自作派の方は別のことを、...キーマトリクスのことを連想するよね。
*
キーマトリクスとは。
キーボードにはキーが沢山あります。CPUから見るとキーは各々が1つのスイッチで、どのスイッチがオンになったかをIOポートで取得します。1キーにつき1ポートを使うのは無理なので、ここを工夫したのがキーマトリクスです。
例えば32個のキーがあるとして。4行8列のマトリクスにして、1行毎に8個のキーの押下状態を調べるのです。
4行のうちの1行を選択するのに出力4ポート。8個のキーのオン・オフを調べるのに入力8ポートを使います。合計12ポートです。
12ポートならマイコンでも扱えると思いますが、汎用ロジックICの74HC139(2-4デコーダ)を使えば10ポートに減らせます。あるいは8行4列にして出力3ポートと入力4ポートにすれば計7ポートになります。行の選択は74HC138(3-8デコーダ)です。
16行2列で計6ポートにするのは、キースキャン専用ICもありますから出来ないことはないけど。...IOポート1本のコストとデコーダのコスト次第ですね。32行1列、...ん?
コストの他に処理時間にも注意です。行が増えれば1行を調べる間隔が延びます。列が減るので押下されたキーの判定処理は減るはずですけど。キーボードの用途とか色々検討して決めるのでしょう。
キーマトリクスの具体的な仕組みはググると図解されてます(ググって!)。
ダイオードをキー毎に付けるか否かとか。付けないと3個以上のキーの同時押下でゴーストが出るとか把握して下さいな。
***
MZ80のキーボードは5行16列です。横に16個のキーが並んでいて、これが5段あります。
キーの数はSPACEキーとCRキーが2つ分の幅があるため78個です。
黒字が通常のキーで、SHIFT キーと同時に押下した場合は青色のキーになります。それからカナ/英数がカナ状態の場合は黄色のキーです。
なお、Caps や Ctrl, Alt は無いです。ESC もないし。
*
キーボードのレイアウトは5行16列ですが、キーマトリクスとしては10行8列として配線しています。
どう配線しているのか不思議な感じ。横向きに1つおきに接ぐのかな? 実機があれば分解して調べてみたい。
MZ80の回路図からはダイオードの有無は分からず。最低でも出力の衝突防止のダイオードはあると思うけど。ゴーストなキーは出るかな。
*
*
*
Z80にはビット単位で操作できるIOポートはないので、8255という周辺ICを使ってキーマトリクスの制御をします。
行の選択は8255のポートA(E000h)の出力4ビットを74LS145(4-10BCDデコーダ)でデコードして、0〜9行から1つを指定します。8個のキーの状態は8255のポートB(E001h)の入力8ビットで取得します。押下されたキーがあれば対応するビットが0になります。
今までに良く見かけた Break キー検出です。
ld A,F9h # = 1111 1001
ld (E000h),A
nop
ld A,(E001h)
and 08h # = 0000 1000
ret
キーマトリクスの9行目を指定してキーの状態を取得して、ビット3(D3)が0なら BREAK キー押下と判定する。
こんな感じでキー入力を処理するのですね。
***
**
*
あ。
***
**
*
ググっているとね。
個人のWEBサイトを見つけて。興味深いことが沢山書いてあって、凄いーと思いつつ、見てまわっていると、10数年前に更新が止まっているのに気付く。
それから闘病日記を見つけて、退院したけど半年後に再入院。Now入院中との記録が最期。
御冥福を祈れば良いのか。別アカでお元気だったらと思わずにいられないのです。
***
間違いの指摘とか疑問とか、ご意見・ご感想とかありましたら、どうぞ感想欄に!
***
2026.4.10 図の差替。推敲と微加筆
2026.4.15 微推敲
2026.5.7 微推敲
2026.5.8 エピタイ修正
2026.5.18 推敲




