前回、Raspberry Pi OS上でQEMUを実行しているのと同じ方法でWSL2上のUbuntu上のQEMUでもFreeDOS動くだろ~と甘い見通しで作業開始。FreeDOS、動きはするけれどもいろいろビミョ~。その後、あれこれ設定を確かめていって、まあ、こんなもんかいという線に近付きつつある?ので中間報告?
※実機動作確認には以下を使用しております。
keyb jp の件
X(昔のツイッターね、もうこういう注釈は不要か?)で『sava』さまから FreeDOSの keyb は日本語キーボードに対応しているということをお教えいただきました。ありがとうございます。
当方でも動作を確かめております。DOS互換のお名前(内部は以下のとおりGPLの品だけど)の keyb は日本語キーボード対応。「より軽い」らしいmkeyb は日本語非対応みたいです。
keyb を使えば、FreeDOSウインドウで「記号が入力しずらい(USキーボードのつもりでキーを押さんといけない)」問題は解決、と思いきや部分的でした。
-
- QEMUのGUIウインドウの内部で keyb jpすれば、日本語キーボードの配列通りで入力できる。やったね。
- しかし、QEMUのGUIを開かず、cursesモードでUbuntuのウインドウ(WSL2上で動いているので、実体はWindows Terminalの一つのタブです)内で動作しているFreeDOS上で keyb jp してしまうと「不明なキーボード配列」になってしまう。日本語キーボードの記号位置とは違うし、USとも違う気がする。。。
つまり、GUIを使うのであれば、keyb jp するのが良いし、GUIを使わずに作業するなら keyb jp しない方が良い、という結論です。ううむ、QEMU上で動作しているFreeDOSのバッチファイルから、今自分がGUI内で走っているのかどうか判断する方法ってどしたら良いの?
FDAUTO.BAT内で keyb jp してしまうとcursesモード使えなくなるので、とりあえずGUI使うときだけ、忘れず手動で keyb jpだな。
nographicsオプションは壊滅的だった
なぜにGUIでなくテキスト主体のcursesモードの方がお惚け老人に良いかと言えば、VGAグラフィクスなどは当面使用せず、テキスト主体の作業であり、コピペなど普通のテキスト操作が行えるからであります。それにWindows Terminalの「美麗な」フォントで動いているし(なお余談ですが、Windows TerminalにはレトロなCRTディスプレイに見せかけるモードもあり、それを使えば限りなく昔風の見た目にできます。懐かしいけど、やらんよ。昔はよくこんな画面を日がな一日みていたもんだ。)
そういえば、-display curses でなく -nographics というオプションもQEMUにはあるみたい。そのオプションでFreeDOSを実行してみました。これはシリアル端末に接続されているようなイメージかと。知らんけど。
-
- 記号キーは日本語キーボード配列で「だいたい」使える、やったね。
- BSキーが効かない、文字が消せないのよ。
- 矢印キーもダメ。カーソルが動かせないのよ。
- ESCキーも効かない。エディタから抜けられないのよ。
という感じです。結構、重大なところでおっととビックリする挙動を示します。FreeDOSとは相性が悪いの?
‐display curses と -k jp 併用は呪い?
じゃ、-display curses と、キーボード指定 -k jp をQEMUに併用したらどうよ。なんかよさげでないの? やってみました。結果が以下に。
QEMUが大量のエラーを吐いているみたいです。Ubuntuのプロンプトに戻った感じはあるのですが、入力に反応がありません。ハング?エラーメッセージを見る値、問題は IBMの拡張グラフィックキャラクタからUTF-8への変換あたりにあるみたい。例の罫線キャラクタ化け問題で困っているところと被るのか? なかなか思ったようにいかないものじゃのう。