1987年製レトロパソコンであるPC-8801MHの本体のみメンテナンス品を買いました。
PC-8801シリーズと言えば、小学校高学年〜中学校時代の時に父親が買ってくれたPC-8801mkIIを持っていました。いわゆるV1モードのゲームしか遊ぶことができなかったので、YsIIなどのV2モード専用のゲームを遊ぶことができず、悔しい思いをしていたことを思い出します。
その時の憧れというと可笑しいのですが、懐かしさから購入した次第です。
同時に手に入れたソフトはこんな感じです。
・ハイドライドII
・ハイドライドIII
・Ys
・YsII
・WONDERERS FROM Ys
・ぎゅあんぶらあ自己中心派2
・PC-8801mkIIFR システムディスク一式
殆ど大人買い状態ですね。
ただ問題が一つ、キーボードが無いこと。
いやあ大きな問題ですねえ。ということで、USBキーボードをPC-8801MxFxに接続するための変換器も一緒に買いました。本当はPC-88キーボードがあったら嬉しかったのですが、置き場所的にワイアレスキーボードが理想的だったので、キーボード無しのものを買ったのでした。
それで暫く満足して使っていたのですが、よくよく考えたらPC-9801DSとX68000XVIや並べて置くことになるため、どちらにしてもキーボードは3台分必要になるわけです。
そこで、PC-88とPC-98はキーボード1台で済ませることができないか?と考え、PC-8801へPC-9801キーボードを接続する変換器の制作を思い立ったというのが今回の主題です。(回りくどいが)
まず前提ですが、PC-8801/mkIIシリーズとPC-8801MH/MA/FH/FA(VAは不明)ではキーボードインターフェースが異なります。今回ターゲットにしているのは、PC-8801MxFxシリーズです。
そして、PC-98キーボードはRDFキーボードとEPSON PCキーボードを対象にしています。
まずはシステム構成から考えてみると、シリアルポートは入力(PC-98キーボード)、出力(PC-88本体へ)とデバッグの3チャンネル必要です。逆にシリアルだけ使えればコントローラは非力でも良いわけです。そこで、ATMega328P(Arduino UNO)をチョイスしてみました。
ATMega328Pはハードウェアシリアルは1チャンネルしか無いのですが、ソフトウェアシリアルで2チャンネルは行けそうです。あとはコード変換用のテーブルデータを格納しても余裕で収まりそうな感じです。
というわけで、こんな物(↓)を作ってPC−98キーボードを直結して解析してみました。

実にフツーのUARTでデータが来ているのを観測できました。PC-88のキーコードと見比べてみると全く異なる訳ですが(汗)、そこは変換テーブルをかまして、うまくこなすと良いのではないかと思いました。
暫くはプチ電子工作で楽しめそうな予感です。