Kernel configuration オプションの一覧と説明 (version 0618)

NEC MobileGear Specific devices

NEC MobileGear facility (デフォルト : 'y')
MobileGear 用の kernel を build します。必ず 'y' にして下さい。
Font ROM Device (y)
内蔵 ROM フォント (/dev/mgfont) を使えるようにします。 必ず 'y' にして下さい。
Frame Buffer Device (y)
MGL (や kon) にスクリーンへの直描き用デバイス (/dev/mgfb) を提供します。 MGL(mgterm) を使う場合には 'y' にしてください。
C: romdisk (m)
MG-DOS の C: を読めるようにします(/dev/romc)。 実際にマウントして使うには msdos fs も必要です。
Japanese console (y)
Native console で日本語を使えるようにします。 コンソールサイズの default は 80x20 (6x12 font) になります。
Allow drawing fonts without 4 pixels boundary (y)
106x20 など、バイトバウンダリでないフォント配置を使うコンソールを 使えるようにします。また、コンソールサイズの default は 106x20 になります。
Powerkey extension (n)
電源キー + ??? に(suspend 以外の)別な機能を割り当てます。
Power off (Ctrl + Powerkey) (n)
Ctrl + 電源キーで (suspend でなく)電源を OFF します。
0613 以前では shift + powerkey に割り当てられていました。 注意してください。
0618 以降では 'NEC MG Suspend on battery empty' と共存できます。 また、 boot するのに電源キーを 1 度押すだけでよくなりました。
NEC MG DEBUG(and experimental code) (y)
DEBUG メッセージを console 等に出します。
Automatic Bold face (n)
内蔵フォントをつかうコンソール時、フォントを太くします。 Bold にしたことによる速度低下はまったくないかわりに すこし手抜きなので 8pixels を越える幅のフォントの場合、 あまり美しくないかもしれません。
Serial echo debug (n)
Console message をシリアルポートにも出します。 ただ、開発初期のころは動作していましたが、 今ちゃんと動作するかは分かりません。
以下は触らないでください。
Standby mode (Shift + Powerkey) (n)
Shift + 電源キーで (suspend でなく) standby モードに入ります。 まだ実装が中途半端なので復帰できません。
ここでいう standby モードとは、LCD OFF、タイマ OFF、シリアル OFF、 CPU freq 最低(約 300kHz)で HLT、ATA ON のモードを指します。
NEC MG code diet level (3)
カーネルサイズと速度のトレードオフを変えます。数字が大きいほど カーネルサイズは小さく(遅く)なります。 '1' と '3' で 1 kbytes ほどの差がうまれます。 '3' にしておいて下さい。
New APM functions (n)
APM アイコンを表示するためのオプション。
非公開版 0615 で実装されていましたが 0618 で外されました(^^; そのうちまた入るでしょう。
Auxiliary display driver (n)
ディスプレイドライバにアクセレータを組み込みます。現在、最初から 組み込まれている acceleration しかないので 'y' にしても仕方ありません。
new Japanese console (y)
日本語 2 byte 文字の右側にカーソルを置こうとしても正しく表示します。 'Japanese console' を'y' にする場合、'new Japanese console' も 'y' にすることを強く推奨しますが、JIS X 0208 第 1 オクテットと 第 2 オクテットを区別するフラグが TEXT VRAM に書き込まれるため、 VRAM の使い方に従来と互換性が無くなります。

Character devices

NEC MG keyboard type (NEC)
デフォルトのキーボードマップを選択します。
NEC MG Software kbdrate support (y)
キーリピート、ディレイ可変機構を組み込みます。 といってもランタイムにはまだ変更できませんが ... (^^;
また、キーボードが RAW モードの時は影響しません(18.5cps, 500ms のまま)。
Default repeat rate (25 cps)
1 秒あたりのキー反復量を設定します。 内部的にはキー反復までの時間を 10ms 単位で設定しています。したがって 50cps (= 20ms), 33cps, 25cps, 20cps, 16cps, 14cps, 13cps, 11cps, 10cps(= 100ms) あたりが使えるでしょう。

なお、'NEC MG Software kbdrate support' が 'n' の時の キーリピートは 18.5cps になっています。

Default delay (250 ms)
キーディレイ(キーを押してからリピート開始までの時間) を設定します。 10ms ステップです。また 500ms 以上はテストしていませんので、 100ms 〜 500ms が実用範囲です。

なお、'NEC MG Software kbdrate support' が 'n' の時の キーディレイは 500ms になっています。

Advanced Power Management BIOS support (y)
APM を有効にします。かならず 'y' にしてください。
Make CPU Idle calls when idle (y)
CPU が idle に入ろうとする時(= hlt する時) CPU 動作周波数を 約 3.13 MHz に落とします。
Enable console blanking using APM (y)
スクリーンを blank にする時、LCD そのものを OFF するようにします。
Power off on shutdown (y)
shutdown -h で電源を OFF します。
Suspend on battery empty (n)
バッテリが消耗した時に自動的に suspend します。
以下は NECMG Specific devices で 'NEC MG DEBUG(and experimental code)' を 'y' にした場合にのみ現われます。
NEC MG APM emulation rev. 1.1 (n)
APM BIOS エミュレーションを APM rev. 1.1 相当にします(デフォルトは 1.0 です)。 詳細なバッテリ容量の取得の際に APM revision をみているアプリのためにあります。 'n' にしておくことを推奨します。
NEC MG greedy standby mode (n)
Standby mode の動作傾向を電池保存的な方向にふります。 未実装です。
NEC MG use old APM functions (n)
0514 の時の APM 機構を使うようにします。 動作比較のためにのみあります。'n' にしてください。

Sound

NEC MG Sound device (m)
内蔵音源(/dev/pcsp) を有効にします。実装中です。 'y' にすると起動時 beep が鳴りますが、いまのところそれだけなので 'n' で十分でしょう。

PocketLinux 固有のデバイス

/dev/mgfb

crw-rw-rw-   1 root     root      29,   0 Mar 16 22:34 mgfb
スクリーンです。MGL が使用します。 書き込みは 1 つのプロセスからしか許可されません。

/dev/mgfont

cr--r--r--   1 root     root      58,   0 Mar 22 22:56 mgfont
cr--r--r--   1 root     root      58,   0 Mar 22 22:56 mgfont0
cr--r--r--   1 root     root      58,   1 Mar 22 22:56 mgfont1
cr--r--r--   1 root     root      58,   2 Mar 22 22:56 mgfont2
cr--r--r--   1 root     root      58,   3 Mar 22 22:56 mgfont3
cr--r--r--   1 root     root      58,   4 Mar 22 22:56 mgfont4
cr--r--r--   1 root     root      58,   5 Mar 22 22:56 mgfont5
cr--r--r--   1 root     root      58,   6 Mar 22 22:56 mgfont6
cr--r--r--   1 root     root      58,   7 Mar 22 22:56 mgfont7
cr--r--r--   1 root     root      58,   3 Mar 22 22:56 mgfonts
内蔵フォントです。MGL はこのうち mgfonts を使用します。 将来、mgfonts の minor number は変更されるかもしれません。 また、font0 とそれ以外では内部フォーマットが違います。 ioctl を叩けば font metric を知ることができますが、詳細はソースツリーの drivers/necmg/mgfont.c を参照のこと。

/dev/romc

br--r--r--   1 root     root      57,   0 Mar 19 22:22 romc
br--r--r--   1 root     root      57,   0 Mar 22 22:57 romdisk
MG-DOS でいう C: ドライブです。
# mount -r -t msdos /dev/romc /mnt
すると C: を読むことができます。dmsdos patch で I:, J: も読むことができると思うのですが未確認です。

/proc/apm

APM BIOS rev. 1.0 相当です。 ただ、Linux APM aware と PocketBSD との互換性を両立させるため、 1.0 ながら battry life(percentage) の項が有効になっていて、 0%, 20%, 30%, 40%, 50%, 60%, 80%, 90% の各値をとり、 それぞれ PocketBSD の battery level icon の too low, fatal, 0 〜 5 をあらわしています。

scancode & keycode

scancode 表

PocketBSD の技術資料 から追加修正されている。

scancode → keycode の変換規則は NUM LOCK していないケースについては linux のデフォルトに完全に一致させた。 したがって Patch-0514 以前のキーマップから互換性があるかわりに矢印キー等は PocketBSD と互換性がない。

拡張 keycode

loadkeys で使える右辺値(keysyms) に以下の 16進値が使えます(0618 以降)。
value キーバインド コメント keyboard.c 内の対応関数
0x0219 ctrl+F10 LCD表示 を濃くする。 lcd_darker()
0x021A ctrl+F9 LCD表示 を薄くする。 lcd_brighter()
0x021B console を直前のものと切替える。 toggle_console()