DOSBOXを高解像度V-TEXTにする方法
非常にマニアックな記事といえばその通り。
DOSエミュレーターの中でDOSBOXは既設のディレクトリーをマウントできるなど、扱いやすい特徴があるものの、こいつを日本語環境にして、つまりDOS/V化して使うとなると、
- DBCSベクター周りの実装に誤りがある
- 日本語キーボード(106とか)に対応していない
という点で困ることになる(DOSBOXの開発部隊はゲームに関係しないところはとことんやらない主義)。まあ、日本だとNEC PC-9800シリーズと互換機が絶対的多数で、少数FMR/FM-TOWNSがあった程度で、IBM系の資産がある人はPS/55やJ-3100を使っていたとか、HP-95/100/200LX、InterTop、DOSモバを使っていた層が大部分であるのだけど。
まず、DBCSベクターについては、DR DOS以外の互換DOS(例えばPTS-DOS)で共通する問題で、こいつはDISPV (Lepton氏、http://www.hmsoft.co.jp/lepton/software/dosv/dispv.htm)に付属するvesapat.exeを/jpオプション付きで起動することで回避できる。
次に、日本語キーボードについては、Windows版ではパッチが当たったものがあるものの、*BSD/Linuxだと諦めて英語キーボードにするというのが現実的な解である。
単純にDOS/V化
話が逸れた。単純にDOSBOXをDOS/V化するだけであれば、フォントドライバーとディスプレイドライバー、言語切り替えソフトを用意してやれば良い。これらソフトウェアを挙げると、
- フォントドライバー: FONTNX (https://www.nanshiki.co.jp/software/index.html?etcdos)
- ディスプレイドライバー: DISPV (Lepton氏、http://www.hmsoft.co.jp/lepton/software/dosv/dispv.htm)
- 言語切り替えソフト: CHEJ (https://www.vector.co.jp/soft/dos/util/se004219.html)
が一般的なところであろう。フォントドライバーとしてはFONTX2 (Lepton氏、http://www.hmsoft.co.jp/lepton/software/dosv/fontx.htm)が一般的であるものの、autoexecで起動できる点から代わりとして軟式で公開されているFONTNX (https://www.nanshiki.co.jp/software/index.html?etcdos)を使用した。また、DISPVの代わりのディスプレイドライバーとしてはDspVV (Torry氏、https://www.vector.co.jp/soft/dos/hardware/se012544.html)がある。DISPVはグラフィックモードへ対応していないため、グラフィックモードを使用する場合はDspVV/DspSSを使うことになる。
なお、通常のDOSを日本語化するのであれば、http://izumilib.web.fc2.com/drdos/docs/drinst.htmlを参照するとよい。
フォント入手先
なお、この他にフォントが必要である。最低限必要なのは
の3種類である。新たにX11用のbdfフォントを変換してもよいものの、入手元を下記する。(出水は自作、東雲などのX11用は以前変換したもの)
izumilib.web.fc2.com izumilib.web.fc2.com izumilib.web.fc2.com izumilib.web.fc2.com
また、平木敬太郎氏のサイトでもFONTX2形式のフォントを公開している。
設定
これらのフォントファイルを適当なディレクトリー(ここではc:\font)に置いた後、fontn.iniを作成する。下記は出水ゴシック16ドット(JIS2004版、izmg1604.fnt)とANKフォントを使用した例である。
[CODE]
[FONT] ; Install font file.
UNVHN16X.FNT
UNVHN19X.FNT
izmg1604.fx2
ここまで準備できれば、
C:\> c:\path\vesapat.exe /jp
C:\> c:\path\fontnx.exe /p=c:\font\
C:\> c:\path\dispva.exe /hs=on /fc=0
C:\> c:\path\chej vt // jpでもよい
とすることでVGA画面で日本語が表示できるようになる。必要に応じこの辺の内容をdosbox-0.74.confの[autoexec]の中に入れてやれば、起動時に自動的に日本語環境にすることができる。
高解像度V-TEXT化
ここまでが前フリである(長かった……)。
実はDOSBOXはディスプレイアダプターを変えられるようになっており、標準ではsvga_s3である。DISPVやDspSSのようなSVGA用のディスプレイドライバーで800x600 pxで使用する分にはこの設定のままでよいものの、DOSBOXで使用できるディスプレイアダプターに適合するディスプレイドライバーがあればSVGA以上の解像度を扱うことができる。
S3に関してはLepton氏のDISPS3が存在するものの、確認したところうまく行かなかった。市販ソフトのDOS/Vスーパードライバーズ/DOS/Vスーパードライバーズ32の中にもS3用ドライバーがあるものの、所有していないので確認できていない。
その他のディスプレイアダプターとしては、hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbeがあり、この中でSVGA以上の解像度を提供するのはsvga_s3, svga_et3000, svga_et4000, svga_paradiseである。この中でフリーなディスプレイドライバーが存在するのはS3を除くとsvga_et4000である。
ET4000にはChaN氏(http://elm-chan.org/)の作成したドライバーがあり、下記で入手できる。
こいつをディスプレイドライバー(DspVVの方がよい)の後にTSRとして起動してやることで大画面環境を得ることができる。