DOSVAX
=======
<http://island.geocities.jp/cklouch/>

### 用意するもの

#### Visual C++ 2015 再頒布可能パッケージ

doxbox.exeを実行するとエラーが出る場合は次のライブラリを入れて下さい。

Download Microsoft Visual C++ 2015 再頒布可能パッケージ Update 3 from Official Microsoft Download Center
: <https://www.microsoft.com/ja-jp/download/details.aspx?id=53587>

vcredist_x86.exeの方をダウンロード・インストールして下さい。

#### FONTX2形式の日本語フォント

かつてのDOS/Vユーザーならご存じかと思いますが、FONTXとはIBM DOS/Vの表示フォントを入れ替えるフリーソフトです。そこで使われていた.FNTファイルはビットマップフォントの一つの形式としてしばしば使われました。

FONTX Lepton's Home Page
: <http://www.hmsoft.co.jp/lepton/software/dosv/fontx.htm>

FONTX2形式の日本語フォントをお持ちでなければ、上記リンクからFONTXをダウンロードしてその中にあるmkxfont.exeをWindows XP以前で実行させると、Windowsのフォントを元にFONTX2形式の日本語フォントが作成されます。（Windows Vista以降では不可）インターネット上を探せばフリーのフォントもあるかもしれません。

dosbox.confのdosboxセクションに jfontsbcs= (8x19ドットフォント)および jfontdbcs= (16x16ドットフォント)としてフォントファイルへのパスを記述して下さい。

### 使用方法

dosbox.exeを実行して下さい。dosbox_debug.exeはデバッグモニター機能がありますが、動作がやや遅くなります。基本的な使い方はDOSBoxのドキュメントを参照して下さい。以下、DOSVAXの独自拡張に絞って説明します。

#### キー割り当て

DOSBox実行中にCtrl+F1キーでキー割り当てを変更できます。AXキーなど標準で割り当てられていないキーはここで設定を変更して割り当てることができます。

```
キー     日本語モード 英語モード
右Alt    漢字         右Alt
メニュー 変換キー     Space
右Ctrl   英数カナ     右Ctrl
(割当無し AX 無変換)
```

#### dosbox.confの設定拡張

```
[dosbox]セクション
jfontsbcs=   半角表示用FONTX2フォントファイルへのパス 8x19
jfontdbcs=   全角表示用FONTX2フォントファイルへのパス 16x16
machine=ega  AX固有の機能が有効になります
machine=jega DOSBox起動時からAX日本語モードで起動します。AX版MS-DOSがなくても日本語を表示できますが、いくつかのアプリケーションは正常に動作しません。DOSの国別情報は米国のままです。
machine=に上記以外の値を設定すると素のDOSBoxと同様に振る舞います

[dos]セクション
keyboardlayout=jp ホストのキーボードが日本語106キーボードの場合はこれを指定すると記号キーが正しく割り当てられます。ホストの変換・漢字キー等は使用できません。
```

### 変更履歴

* BUild 4000AX11 (2016/10/12)
  - Int 13h(15h, 16h, 18h)ファンクションを追加実装し、MS-DOS 3.21でフロッピーディスクを正しくフォーマットできるようになった
  - 読み取り専用属性のフロッピーイメージを書き込み禁止ディスクとしてマウントできるようにした
  - 内蔵DOSでCHCPコマンド(コードページの取得のみ)を実装
* Build 4000AX10 (2016/10/11)
  - DBCSベクター(Int 21h, AH=6300h)の返す値を修正
  - フォントパス未指定時の警告メッセージ出力
* Build 4000AX09 (2016/10/10)
  - JEGA内部レジスタ(RPSSC, RPSSU, RPSSL)でDBCS(16x16フォント)の描画開始ラインを変更できるようになった
  - 縦倍角文字表示について、行間が途切れないように修正
* Build 4000AX08 (2016/10/09)
  - JEGAグラフィックモードで文字列出力のDBCS描画を実装
  - 文字列出力で画面右端の桁にDBCSの第1バイトが来たときに折り返すようにした
  - 仮想テキストRAMを使ったグラフィック画面からの文字コード・アトリビュート取得に対応
  - テキストモードでJEGA基本アトリビュート(罫線、ブリンク、反転)、拡張アトリビュート(倍角文字、太字)に対応
* Build 4000AX07 (2016/10/07)
  - DOS/V化支援パッチ（DOS 方面（分所）<http://www2.atpages.jp/lpproj/dos/>）の一部を適用（ホストの日本語配列キーボード対応、子PSP作成時の親PSPのコピー、コンソール出力のInt10hコールバック）
  - machine=jega指定時にDBCSベクタテーブルを設定するようにした
  - テキストモードで画面右端の桁にDBCSの第1バイトが書かれると異常終了する問題を修正
  - フォントファイルの入力チェックがガバガバだったので修正
  - Readme.txtの改行コードがLFのみだったためメモ帳で読めなかった問題を修正
  - DOSBox SVNr4000の更新分を適用
* Build 3998AX06 (2016/10/06)
  - AX日本語モードで起動するmachine=jegaオプションを追加
  - フォントファイルパス設定名の変更
* Build 3998AX05 (2016/10/05)
  - 公開

### ライセンス

ドキュメントやソースコードに特に記載が無ければGNU GPLv2。ABOUT_LIBSも参照。

### 機能

俗に「日本語PC/AT互換機」と呼ばれていたAX仕様パソコンを再現するエミュレーターです。DOSBoxをベースに改変しており、普通にIBM PCのソフトウェアやDOS/Vを動かすこともできますが、AXに対応するソフトウェアがあって初めて本ソフトの真価が発揮されます。AX用の日本語MS-DOSなどは別途ご用意下さい。実機のROMは不要ですが、日本語を表示するにはFONTX2形式の日本語フォントファイルが必要です。

### 特徴

* AX-1システム仕様相当の日本語テキスト・グラフィック画面表示機能を実装
* 日英モード切替（バイリンガル）に対応
* AXキーボード固有のキーを割り当てられるように拡張

### 非対応・制約事項

* AX-2での拡張機能(テキスト・グラフィックスのスーパーインポーズ)
* JEGAレジスタを直接操作したライン表示位置制御
* バンク切り替えを使ったユーザー定義文字の利用
* プリンターBIOSの追加機能
* USキーボードとのキー数の違いによりバインドできないキーがいくつかある
* DOSBoxが依存するコンポーネント(SDL 1.2)の制約により日本語106キーボードへの完全対応は不可能

### 必要動作環境

* PC/AT互換機
* 米国英語配列キーボード
* Microsoft Windows 10（Windows 7以降であればたぶん動く）
* Microsoft Visual C++ 2015 再頒布可能パッケージ Update 3 (x86)
* FONTX2形式の8x19ドット半角フォントと16x16ドット全角フォントファイル

Copyright (C) 2016 akm.

=============================README.txt END=============================