MZ80K のキーボードと文字コード
MZ80Kについては、
MZ-80K - 日本初になり損ねたパソコン
で書いたのですが、今回はこのMZ80Kのキーボードと文字コードについて触れたいと思います。
写真でわかると思うのですが、MZ80Kのキーボードは正方形のキースイッチが格子状に並べられているキー配置で、一般的なキーボードのように各段が半分ずつずれていないので、打ち込むには少々違和感があるものでした。
まずは、そのキーボードからいきましょう。
テンキーは無く数字は最上段でのみ入力できます。右側には図形文字が配置されており、最右列には一部の漢字が使えます。どうして「生」があるのかは謎。
SHIFTを押しながら入力できる記号は、最上段こそ一般的な配置と同じですが、最下段にあるような記号が2段めにあり、それ以外の場所に図形文字が配置されています。πがあるのはPETの影響なんでしょうか。
配置としてはJISになっているのですが、カナモードでのSHIFT状態は無いようで、カナ小文字は右の方にまとめられています。¥がなぜか(正しい?)カナ扱いです。どうしてポンドがここにあるのだろう。
機能キーは、HOME/CLR、カーソル移動キーくらいしかありません。CTRLも無いので、プログラムを止めるための BREAK は必須ですね。CRがここにあるのは微妙なところです。
さて VRAM に書き込む文字コードが、なかなか特徴的です。制御文字は表示する必要がないので、0x00 から英大文字が配置されています。一番良く使う文字が最初にあり A が 0x01、Z が 0x1a なので分かり易いのは確かです。ビックリするのは後半のカナ文字で「チコソシ…」と謎の順序で並んでいます。
なんか見たことがあるような無いような。PETやApple][ J-PLUSでは、英語配列のキーボードに合わせて、キーレイアウトの方をJISではなく、アルファベットに合わせたキー配列にしていました。MZの場合は、その逆でJISに合わせて文字コードの方を配置したんですね。これで輸出仕様はキャラジェネを交換してカナの部分に英小文字を配置すれば、キーボードの方はカナの刻印を消すだけで構わないわけです。なかなか考えたものです。
もちろん、このコードをそのまま使うとカナ文字を含むデータの処理に差し支えが出るので、プログラムで扱うときは ASCII に変換されていました。
MZには文字修飾という考え方はなく、PETのように反転文字はありません。それで図形文字が多めになっています。コードを見比べると画面に表示できるのに ASCII コードが割り当てられていない文字もあります。これらを使うときに、何らかの組み合わせコードが必要だという情報は見つからなかったので、直接画面にコードを書き込んで使うことしかできなかったのかもしれません。
しかし文字のチョイスがなかなか謎です。グラフィック画面が無かったので、ゲームなどで使いそうな文字があるのは、まだ判るのですが、回路図でしか使わないよね?という文字を選んだのはいったい誰なんでしょうね。
参考
MZ-80Kの文字コードはなぜ変態的だったのか
https://repository.kulib.kyoto-u.ac.jp/dspace/bitstream/2433/219612/1/weekly.ascii_1059_30.pdf
MZ-80K
mz-80K Disp
Sharp MZ-80K personal computer complete with floppy disc drive with instructions in original packaging
今回の図で使ったファイルは以下です。ご利用は改変も含めご自由に。
ヘッダ画像は、以下の場所のものを使わせて頂きました(CC BY 4.0)。
https://collection.sciencemuseumgroup.org.uk/objects/co8186753/sharp-mz-80k-personal-computer-complete-with-floppy-disc-drive-with-instructions-in-original-packaging-personal-computer