コネクタはDIN8ピンですが専用基板を作るほど需要があるとは到底思えないので、変換ケーブルでミニDIN8ピンにしてから拙作のPC-9801キーボード用変換アダプタに繋いでいます(無論ファームはFM16β専用のものに入れ替えます)
FM16βのキーボードは
- キーが押されたらそのキーに記載されている文字のコードを返す「コードモード」(FM11互換のモード)
- キー1つ1つに一意に割り振られたスキャンコードを返す「キーアドレスモード」
の2つのモードがあります。コードモードはキーを押下したタイミングでしか通知が発生せず、キーを離したことが通知されません。キーアドレスモードはMakeとBreakをちゃんと返します。
本アダプタはキーアドレスモードで動作します。よって残念ながらFM11用のキーボードは使用できません。
Scancode
3つあるLEDのうち、CAPとカナのLEDはON/OFFのコマンドをホストからキーボードに送信することで制御可能です。INSのLEDはLED制御線がコネクタにそのまま出ています。
本アダプタは3つのLEDをすべて使用しています
CAP → CapsLock
かな → ScrollLock
INS → NumLock
ダウンロード
余談
コードモードからキーアドレスモードへの切り替えコマンドが全く分からず「コードモード前提で作るしかないのかなぁ」と半ば諦めていたのですが、SNSで「サブROMのこの辺にコマンド送信の処理があるよ」と教えて頂きました(大感謝!)。そして
ジャンクFM16β入手
↓
サブROMの内容をダンプ
↓
ダンプ結果を逆アセンブル
↓
コマンドを送信してる処理を特定
↓
ニーモック表と突き合わせながら命令のサイクルを計算
↓
キーボードに送るパルスの長さ(時間)を計算
を経て何とかモードを切り替える事が出来るようになりました
令和の時代に6809の逆アセンブルコードを見ながら命令サイクルを計算することになるとは思いませんでした。