以前にこちらの投稿で紹介したPC-9821Cr13ですが、たまに動作確認に電源を入れています。普段は別のPCと一緒にラックに積んであって、一つの液晶モニタを共有させて利用しています。
ところがレイアウト上の問題になるのですが、PC-9821の位置がキーボードを置く机より少し上になっていることと、PC9821のキーボードケーブルが微妙に短いことでキーボードが机にちょっとだけ届かない状態になっています。そのため使用するときはキーボードの下に3、4センチの高さの箱を置いています。
PC-9821Cr13のキーボードコネクタはちょっと特殊な形状なので、延長ケーブルもないんですよね。
モニタが机の高さに合うようにラックに置いてあるので、PC-9821の配置を変えるのも嫌でそのまま使用していたのですが、使用中にガタつくのでなんとかしたいと思っていました。
そこで、以前つなげたPS2インターフェイスのテンキーの代わりにPS2キーボードそのものをつないでしまおうと思いつきました。PS2キーボードのケーブルは十分すぎるくらい長いですし、前に作ったデバイスのスケッチを書き換えるだけで済みます。
PS2キーボード用に書き換えたスケッチがこちらです。
PC98TenkeyPS2V2.ino
手抜きですが、キーボードのLED点灯は制御しません。
特殊キーの割当は以下の通りです。
・PS2キーボード → PC-98キーボード
NUMLock → HOME CLR
Page Up → ROLL UP
Page Down → ROLL DOWN
Home → HOME
End → HELP
半角/全角 → STOP
変換 → XFER
無変換 → NFER
Print Screen → F13
Scroll Lock → F14
Pause → F15
Caps Lock 英数 → CAPS
カタカナ ひらがな → カナ
Left-Shift → SHIFT
Right-Shift → SHIFT
Left-Alt → GRPH
Right-Alt → GRPH
Left-Ctrl → CTRL
Right-Ctrl → CTRL
Left-Windows → SPACE
Right-Windows → F15
App → COPY
キーの配置上使いやすいのでPauseキーにF15を割り当てていますが、Pauseキーはbreakコードを出さないのでキーを押したときにキーのオン・オフコードをPC98に送っています。これだとキーを押し続けるという操作ができず、もしかするとアプリケーションによって不都合なことになるかもしれないので、念の為Right-Windows(Right-GUI)キーにもF15を割り当てておきました。
レイアウトの問題が解決したので、テストがてらPS2キーボードでPC98をじっくりと使用してみました。すると思ったより快適に使えたので、本格的に昔のアプリやゲームを色々と動かしてみたくなりました。そこで収納の奥を探してみると、色々出てきました。古いものはメディアが5インチデスクやカセットテープだったりします。
カセットテープはWAVファイルにすればなんとかなりそうですが、さすがに5インチデスクはドライブを捨ててしまっているのでどうにもなりません。昔マイコン雑誌から一生懸命入力したアプリやゲームが入っているはずなのですが。
そこでふと、いつか掲載リストを入力しようと思ってそのままになっている古いマイコン雑誌があることを思い出しました。探してみると何冊もありました。
懐かしくて思わず読みふけってしまいました。他にもプログラムリストの切り抜きとかも残っていたので、PC-9821本体やPC98のMS-DOSで動かしているPC-8801SRエミュレータP88SR(LinuxやWindowsのエミュレータよりこちらの方が実機での動作に近い感じがするので気に入って使っています)で入力して懐かしむことが出来そうです。
もちろん、今更わざわざ手間をかけて入力するようなプログラムとかではないのですが、今の時代OCRという強い味方があります。手作業で入力するよりもはるかに楽なはずです。
と、思ってプログラムリストを読み取って読取革命Liteというアプリでテキストに落としたのはよかったのですが、それをバイナリデータにしてPC98やエミュレータにもっていくのが面倒でした。OCRの認識も誤字が結構あってプログラムのデバッグも面倒です。
なにか簡単な方法がないのかと思ってネットを調べてみると、ありました。こちらのサイトです。まさに、今やりたいことを実現するための手順を丁寧に説明してくださっています。しかもOCRで読み取ったテキストをデバッグして、バイナリデータとしてFDイメージに落とし込めるDumpListEditorというツールも提供してくださっています。すばらしい!感謝です。
早速テストとして、手元の雑誌からPC-8001用のチェックサムプログラム(マシン語版とBASIC版)を入力してみることにしました。
サイトの手順に従ってまずはマシン語版のダンプリストを読み取りDumpListEditorでデバッグしてみましたが、とても簡単でした。読み取りミスは結構あったのですが、ダンプリストは修正箇所がすぐにわかるのでそれほど手間には感じませんでした。修正したデータをバイナリに落としてエミュレータで読み込んでみると、正常に動作しました。
BASIC版の方も結構読み取りミスはありました。ある程度はDumpListEditorで修正できるのですが、エミュレータで動作させるとエラーが発生しました。
でも、今回は短いプログラムなのですぐに修正して正常動作させることができました。手持ちの雑誌の中にはBASIC用のクロスリファレンスプログラムも掲載されていたので、これを入力しておけばデバックが楽になりそうです。
まさか、大昔に入力をあきらめたアプリやゲームを楽しめる日が来るとは思っても見ませんでした。感無量です。
最新の画像[もっと見る]
- ラスベリーパイのベアメタル環境でLVGLを使う 5日前
- ラスベリーパイのベアメタル環境でLVGLを使う 5日前
- ラスベリーパイのベアメタル環境でLVGLを使う 5日前
- ILI9341搭載のタッチパネルをLVGLで利用する 2週間前
- ILI9341搭載のタッチパネルをLVGLで利用する 2週間前
- ILI9341搭載のタッチパネルをLVGLで利用する 2週間前
- ILI9341搭載のタッチパネルをLVGLで利用する 2週間前
- ILI9341搭載のタッチパネルをLVGLで利用する 2週間前
- ILI9341搭載のタッチパネルをLVGLで利用する 2週間前
- ILI9341搭載のタッチパネルをLVGLで利用する 2週間前
※コメント投稿者のブログIDはブログ作成者のみに通知されます