                FreeBSD(98) 30行モード

                                        平成18年(2006年)06月03日 (土)

FreeBSD(98) には、テキスト画面で 30 行表示を行なう機能があります。このドキ
ュメントでは 30 行表示を行なうための手順を解説します。

注) この機能は最近メンテナンスされていません。動作報告をお待ちしています。

FreeBSD(98) で 30 行表示を行う方法は、次の2通りあります。

o 24KHz ディスプレイで MS-DOS 上の「30 行計画」と同様の方法
o PC-9821 と 31KHz 対応ディスプレイの組合わせで 31KHz モードを使う方法

それぞれを以下に説明します。
なお、386BSD(98)-C2 にあったビットマップコンソール (グラフィック画面を用い
て 80x44 行表示を行なう) はサポートしていません。


1. 24KHz ディスプレイで MS-DOS 上の「30 行計画」と同様の方法

       30 行表示を有効にするためには 30 行表示対応のカーネルを作成する必要
       があります。そのためには、

                /sys/pc98/pc98/module.h         (30 行表示のパラメータ)
                /sys/pc98/conf/XXX              (カーネル config ファイル)

       を編集しなければなりません。

1.1. module.h の編集

       /sys/pc98/pc98/module.h を適当なエディタを用いて編集します。変更する
       のは、

                #define LINE30_ROW   30
                #define _HS     1 + 1
                #define _VS     2
                #define _HFP    3 + 1
                #define _HBP    14 + 1
                #define _VFP    11
                #define _VBP    44

       の部分です。これ以外のところを書き換えてはいけません。

          ・ LINE30_ROW は、一画面の行数です。
          ・ _VS は、垂直同期信号の幅です。
          ・ _HS は、水平同期信号の幅です。
          ・ _HFP は、CRT右側の非表示区間です。
          ・ _HBP は、CRT左側の非表示区間です。
          ・ _VFP は、CRT下側の非表示区間です。
          ・ _VBP は、CRT上側の非表示区間です。

       これらの値は、DOS 上の 30bios シリーズの mkmodule.com の表示する値
       を使うことができます。あらかじめ DOS 上で確認しておくと便利です。ま
       た、mkmodule の出力から半自動的に作成することもできます。

1.2. module.h の半自動作成

       module.h の作成ですが、mkmodule を使用できる場合は、その出力から半
       自動的に作成することができます。手順は以下の通りです。

         1. 2HC ディスクを用意する。
         2. MS-DOS 上で mkmodule.com を実行する。
         3. 適当な状態になったらリターンキーを押す。
         4. SHIFT+F10 を押し、module??.inc というファイルを作成する。
         5. 1 画面の行数をメモする。
         6. ESC キーを押し、mkmodule を終了する。
         7. 4 で作成した module??.inc を 2HC ディスクにコピーする。
         8. FreeBSD(98) を起動する。
         9. 2HC ディスク上の module??.inc を適当なディレクトリーにコピーす
            る。
        10. mk30line を実行する。
        11. "Enter module file name: "と聞いてくるので、module??.inc の正
            しいファイル名を入力し、リターンキーを押す。
        12. "Enter number of lines: "と聞いてくるので、1 行の行数を入力す
            る。

        これにより、module??.inc にしたがって /sys/pc98/pc98/module.h が作
        成されます。

        注意
            /sys/pc98/pc98/module.h の書き込みパーミッションが無いと実行で
            きません。

1.3. config ファイルの設定

       /sys/pc98/conf の下のカーネルの config ファイルに、

            options         LINE30

       を加えて下さい。もし、すでにある場合は変更する必要はありません。ま
       た、コメントアウトされている場合は、`#' を外して下さい。

1.4. カーネルの再構築

       いつものように(?)カーネルを再構築して下さい。カーネルの再構築の解説
       は「カーネルの再構築」 (Config98.txt 参照) にあります。

2. PC-9821 と 31KHz 対応ディスプレイの組合わせで 31KHz モードを使う方法

       PC-9821 と 31KHz 対応ディスプレイを組み合わせて使用した場合、元々
       30 行 (480 ライン) の表示能力があるので、特別な設定は不要です。単に、
       カーネルを「options LINE30」を有効にして再構築するだけです。上記
       1.3. と 1.4. を参照してください。

       また、この環境では options LINE30 の有無が、スプラッシュスクリーン
       やスクリーンセーバでの 640x480 ドットの画像表示の可否も兼ねています。

3. 30 行表示の使用

       上記 1 あるいは 2 の方法で準備をしたあと、実際の画面表示の制御は
       vidcontrol を使用します。詳しくはマニュアルページを参照して下さい。
       FreeBSD(98) では、以下のオプションは使用できません。

                VGA_40x25
                VGA_80x25
                VGA_80x50
                VGA_320x200
                EGA_80x25
                EGA_80x43

       かわりに以下のオプションが追加されています。

                PC98_80x25      (80x25モードにする)
                PC98_80x30      (80x30モードにする)

----
FreeBSD(98) 移植チーム
