キーボードの配列は非効率なものでも良い。

CUTKey VC-101ふたたび で新たなキーボードに挑んでいるわけだが、この7、8年は自宅、職場とも新JIS配列+Dovrakが8割、旧JISが2割くらいで、今は通常の入力時は新JISでないといらいらするくらいにはなった。

入力効率と負担軽減を高度に追及していくと「せかいさいきょうの俺配列」みたいなのが出来上がってくるんだけど、まじめに考案してる方には悪いのですが…あまりにもバラエティーが豊かすぎて独自すぎて自分自身の習得意欲はともかく、はっきり言って他の人にはお勧めしにくい。探究者は単一の方式へ集約するこだわりは無くむしろカスタマイズ性や多様性があった方が良いと考えてるのかもしれないけど、ここまで多いと優劣もそれほどないし、逆にこっちをたてればあっちがたたない状況ではないか。旧JIS、ローマ字から乗り換えるならともかく、新JIS配列をそこまで大幅に上回る成果が得られるだろうか。ローマ字 << 旧JISカナ << 新JISカナ <= 孤高の俺配列 な感じ。(新JIS配列は外来語の入力効率が悪いのは認める。)再現しやすさ、ハードを選ばない汎用性という点においては、親指シフト<=孤高の俺配列<その他 だと思う。

まだ親指シフトや新JIS配列のワープロが一部の人の中には記憶があるというのに(たぶんある、と思いますが・・・)、今日も旧JIS配列のみが市販されて、ともするとオサレノートではかな刻印がダサいなどと吐き捨ててアスキー配列を選んだあげくさらに日本語入力の効率を落としてみたり、という状況なのですよ。そもそも入力ディバイスなんてスクリーン表示の5タッチ入力やフリック入力のが一般的になるのも時間の問題だろう。仮にキーボードが入力効率のみで評価されるなら日本語キーボードはステノワードだけか、そうでなくても二コラ風の多重同時打鍵方式が主流になってたんじゃないかな。速記や字幕作成はそもそも専用キーボードで101/106キー配列とは別世界。速記やゲームの反射的な入力などでは、自分の思考や私考や感情をタイプする必要は無いわけで、目的が異なる。しかも、その操作にかかる能力や習得期間も含めて、脳ミソのリソースを多大に食われるのは本末転倒だと思う。半年頑張れば自由にとは言っても職業パンチャや相当意識高いでもなければ半年分の学習コストとしばしば必要となるQWERTY/ローマ字/旧JISへの一時的な切替ストレスが努力に釣り合わないかもね。

コンピューターを思考の道具とするならば、効率最優先で機械的に決定した最適解だとか、思考を超えるような入力効率や世界レベルの入力速度を誇る理想的なキーボードなどはいまだ普及せず、結局不自由の残る入力装置が大多数に受け入れられているという事実は実に人間的だなと思ったりするわけです。

英字はDovrak+日本語は新JISという変態配列な者が語るような内容ではないな。ちなみにNICOLA(親指シフト)はNキーロールオーバーが微妙なのと同時打鍵時の瞬間的な緊張というか力が入る感じがあって疲れます。効率とのトレードオフとも言えますが、プレフィックスシフトを使った新JIS配列の緩い感じの入力とは対極に感じます。

 

DOS/V環境のCONFIG.SYSとAUTOEXEC.BAT 2

DOS/V環境のCONFIG.SYSとAUTOEXEC.BAT の続き。市販ソフトは使用せずにVMwareとVirtualBoxでPCDOS2000日本語版がほどよく動くDOS/V、英語DOS環境を作ってみた。ATAPI CD-ROMドライバはどこかから持ってくること。

■VirtualBox バージョン 5.0.16 r105871

・CONFIG.SYS

BUFFERS=20
FILES=30
LASTDRIVE=H
STACKS=9,256
DOS=HIGH,UMB
DOSDATA=UMB
COUNTRY=081,932,C:\DOS\COUNTRY.SYS
SHELL=C:\DOS\COMMAND.COM /P /E:512 /H
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE RAM I=B000-B7FF I=C900-E1FF I=E300-EFFF FRAME=D000
DEVICEHIGH=C:\DOS\$FONT.SYS
DEVICEHIGH=C:\DOS\SETVER.EXE
DEVICEHIGH=C:\DOS\$DISP.SYS
DEVICEHIGH=C:\DOS\$IAS.SYS
DEVICEHIGH=C:\DOS\ANSI.SYS /X
DEVICEHIGH=C:\DOS\POWER.EXE
DEVICEHIGH=C:\UTY\TEAC_CDI.SYS /D:CDROM1
INSTALLHIGH=C:\DOS\IBMMKKV.EXE /M=S /Z=4 /C /L /J=90 /S=C:\DOS\MULTDICT.PRO /U=C:\$USRDICT.DCT

 

・AUTOEXEC.BAT

@ECHO OFF
PROMPT $P$G
PATH C:\WINDOWS;C:\DOS;C:\UTY
SET COMSPEC=C:\DOS\COMMAND.COM
SET TEMP=C:\TEMP
SET TMP=C:\TEMP
SET BLASTER=A220 I5 D1 H5 P330 T6
LH C:\DOS\KEYB.COM JP,932,C:\DOS\KEYBOARD.SYS
LH C:\DOS\MSCDEX.EXE /D:CDROM1 /L:G
LH C:\DOS\SMARTDRV.EXE C+ 4096
LH C:\DOS\DOSKEY.COM /INSERT
SET IBMAV=C:\DOS
CALL C:\DOS\IBMAVDR.BAT C:\DOS\

 

・CONFIG.PS2

BUFFERS=20
FILES=30
LASTDRIVE=H
DOS=HIGH,UMB
DOSDATA=UMB
COUNTRY=001,437,C:\DOS\COUNTRY.SYS
SHELL=C:\DOS\COMMAND.COM /P /E:512 /H
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE RAM I=B000-B7FF I=C900-E1FF I=E300-EFFF FRAME=D000
DEVICEHIGH=C:\DOS\DISPLAY.SYS CON=(EGA,437,1)
DEVICEHIGH=C:\DOS\SETVER.EXE
DEVICEHIGH=C:\DOS\ANSI.SYS /X
DEVICEHIGH=C:\DOS\POWER.EXE
DEVICEHIGH=C:\UTY\TEAC_CDI.SYS /D:CDROM1

 

・AUTOEXEC.PS2

@ECHO OFF
PROMPT $P$G
PATH C:\DOS\PS2;C:\DOS;C:\UTY
SET COMSPEC=C:\DOS\COMMAND.COM
SET TEMP=C:\TEMP
SET TMP=C:\TEMP
SET BLASTER=A220 I5 D1 H5 P330 T6
MODE CON CP PREP=((437) C:\DOS\ISO.CPI)
MODE CON CP SEL=437
LH C:\DOS\KEYB.COM JP,437,C:\DOS\KEYBOARD.SYS
LH C:\DOS\NLSFUNC.EXE C:\DOS\COUNTRY.SYS
LH C:\DOS\MSCDEX.EXE /D:CDROM1 /L:G
LH C:\DOS\SMARTDRV.EXE C+ 4096
LH C:\DOS\DOSKEY.COM /INSERT
SET IBMAV=C:\DOS\PS2
CALL C:\DOS\PS2\IBMAVDR.BAT C:\DOS\PS2\

 

■VMware Workstation 12 Pro バージョン 12.1.0 build-3272444

・CONFIG.SYS

BUFFERS=20
FILES=30
LASTDRIVE=H
STACKS=9,256
DOS=HIGH,UMB
DOSDATA=UMB
COUNTRY=081,932,C:\DOS\COUNTRY.SYS
SHELL=C:\DOS\COMMAND.COM /P /E:512 /H
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE RAM I=B000-B7FF I=C900-E9FF FRAME=D000
DEVICEHIGH=C:\DOS\$FONT.SYS
DEVICEHIGH=C:\DOS\SETVER.EXE
DEVICEHIGH=C:\DOS\$DISP.SYS /HS=OFF
DEVICEHIGH=C:\DOS\$IAS.SYS
DEVICEHIGH=C:\DOS\ANSI.SYS /X
DEVICEHIGH=C:\DOS\POWER.EXE
DEVICEHIGH=C:\UTY\MELCDU.EXE /A /D:CDROM1
INSTALLHIGH=C:\DOS\IBMMKKV.EXE /M=S /Z=4 /C /L /J=90 /S=C:\DOS\MULTDICT.PRO /U=C:\$USRDICT.DCT

 

・AUTOEXEC.BAT

@ECHO OFF
PROMPT $P$G
PATH C:\WINDOWS;C:\DOS;C:\UTY
SET COMSPEC=C:\DOS\COMMAND.COM
SET TEMP=C:\TEMP
SET TMP=C:\TEMP
SET BLASTER=A220 I5 D1 H5 P330 T6
LH C:\DOS\KEYB.COM JP,932,C:\DOS\KEYBOARD.SYS
LH C:\DOS\MSCDEX.EXE /D:CDROM1 /L:G
LH C:\DOS\SMARTDRV.EXE C+ 4096
LH C:\DOS\DOSKEY.COM /INSERT
SET IBMAV=C:\DOS
CALL C:\DOS\IBMAVDR.BAT C:\DOS\

 

・CONFIG.PS2

BUFFERS=20
FILES=30
LASTDRIVE=H
DOS=HIGH,UMB
DOSDATA=UMB
COUNTRY=001,437,C:\DOS\COUNTRY.SYS
SHELL=C:\DOS\COMMAND.COM /P /E:512 /H
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE RAM I=B000-B7FF I=C900-E9FF FRAME=D000
DEVICEHIGH=C:\DOS\DISPLAY.SYS CON=(EGA,437,1)
DEVICEHIGH=C:\DOS\SETVER.EXE
DEVICEHIGH=C:\DOS\ANSI.SYS /X
DEVICEHIGH=C:\DOS\POWER.EXE
DEVICEHIGH=C:\UTY\MELCDU.EXE /A /D:CDROM1

 

・AUTOEXEC.PS2

@ECHO OFF
PROMPT $P$G
PATH C:\DOS\PS2;C:\DOS;C:\UTY
SET COMSPEC=C:\DOS\COMMAND.COM
SET TEMP=C:\TEMP
SET TMP=C:\TEMP
SET BLASTER=A220 I5 D1 H5 P330 T6
MODE CON CP PREP=((437) C:\DOS\ISO.CPI)
MODE CON CP SEL=437
LH C:\DOS\KEYB.COM JP,437,C:\DOS\KEYBOARD.SYS
LH C:\DOS\NLSFUNC.EXE C:\DOS\COUNTRY.SYS
LH C:\DOS\MSCDEX.EXE /D:CDROM1 /L:G
LH C:\DOS\SMARTDRV.EXE C+ 4096
LH C:\DOS\DOSKEY.COM /INSERT
SET IBMAV=C:\DOS\PS2
CALL C:\DOS\PS2\IBMAVDR.BAT C:\DOS\PS2\

 

いずれも注意すべきはEMM386.EXEでUMBに使えるメモリ範囲。VideoRAMとBIOSとNICなどのROMが居座っているのでそれを避けるように指定する。特に日本語環境ではコンベンショナルメモリの圧迫を避けるためこのあたりの設定は不可欠。仮想PCソフトのバージョンが変わると最適値が微妙に変化するかも。エラーが出るからとNOEMS指定やEMM386.EXE行の削除でごまかしたりしないように。この設定でのメモリ使用は次の通り。

●VirtualBox 日本語環境

1MB 以下のメモリーを使用しているプログラム/ドライバー:

  名前            合計       =   基本メモリー   +   UMB メモリー
--------  ----------------   ----------------   ----------------
SYSTEM      15,232   (15K)      9,040    (9K)      6,192    (6K)
HIMEM          768    (1K)        768    (1K)          0    (0K)
EMM386       3,408    (3K)      3,408    (3K)          0    (0K)
IBMMKKV     22,288   (22K)     22,240   (22K)         48    (0K)
KEYB         6,512    (6K)      6,512    (6K)          0    (0K)
MSCDEX      21,664   (21K)     21,664   (21K)          0    (0K)
SMARTDRV    33,568   (33K)     17,168   (17K)     16,400   (16K)
IBMAVSH        688    (1K)        688    (1K)          0    (0K)
COMMAND      4,208    (4K)          0    (0K)      4,208    (4K)
TEAC_CDI    13,728   (13K)          0    (0K)     13,728   (13K)
DOSKEY       1,184    (1K)          0    (0K)      1,184    (1K)
$FONT        5,360    (5K)          0    (0K)      5,360    (5K)
$DISP       22,496   (22K)          0    (0K)     22,496   (22K)
$IAS         7,072    (7K)          0    (0K)      7,072    (7K)
ANSI         3,808    (4K)          0    (0K)      3,808    (4K)
POWER        4,848    (5K)          0    (0K)      4,848    (5K)
- 空き -   612,688  (598K)    573,856  (560K)     38,832   (38K)

メモリーの概要:

  メモリーのタイプ    サイズ    =  使用済     +  使用可能
----------------  -----------   -----------   -----------
基本                  655,360        81,504       573,856
UMB                   124,176        85,344        38,832
アダプタ RAM/ROM      269,040       269,040             0
Extended (XMS)     32,505,856     5,548,032    26,957,824
----------------  -----------   -----------   -----------
システム全メモリ   33,554,432     5,983,920    27,570,512

  1MB 以下全メモリ      779,536       166,848       612,688

  全 EMS メモリー                      32,833,536  (32,064K)
使用可能 EMS メモリー                27,115,520  (26,480K)

  全 XMS メモリー                      32,505,856  (31,744K)
使用可能 XMS メモリー                26,957,824  (26,326K)

  実行可能プログラム最大サイズ            573,376     (560K)
使用可能最大 UMB メモリー                17,776      (17K)
使用可能 HMA メモリー                     5,872       (6K)
DOS は HMA 領域に常駐しています

・VirtualBox 英語環境

Modules using memory below 1Mb:

  Name           Total       =   Conventional   +   Upper Memory
--------  ----------------   ----------------   ----------------
SYSTEM      14,032   (14K)      9,040    (9K)      4,992    (5K)
HIMEM          768    (1K)        768    (1K)          0    (0K)
EMM386       3,408    (3K)      3,408    (3K)          0    (0K)
SMARTDRV    33,568   (33K)     17,168   (17K)     16,400   (16K)
IBMAVSH        688    (1K)        688    (1K)          0    (0K)
COMMAND      4,208    (4K)          0    (0K)      4,208    (4K)
KEYB         7,008    (7K)          0    (0K)      7,008    (7K)
MSCDEX      21,664   (21K)          0    (0K)     21,664   (21K)
DISPLAY      4,848    (5K)          0    (0K)      4,848    (5K)
ANSI         3,808    (4K)          0    (0K)      3,808    (4K)
POWER        4,848    (5K)          0    (0K)      4,848    (5K)
TEAC_CDI    13,728   (13K)          0    (0K)     13,728   (13K)
NLSFUNC      2,448    (2K)          0    (0K)      2,448    (2K)
DOSKEY       5,056    (5K)          0    (0K)      5,056    (5K)
FREE       659,440  (644K)    624,272  (610K)     35,168   (34K)

Memory summary:

  Type of Memory       Total    =     Used    +     Free
----------------  -----------   -----------   -----------
Conventional          655,360        31,088       624,272
Upper                 124,176        89,008        35,168
Reserved              269,040       269,040             0
Extended (XMS)     32,505,856     4,871,168    27,634,688
----------------  -----------   -----------   -----------
Total memory       33,554,432     5,260,304    28,294,128

  Total under 1Mb       779,536       120,096       659,440

  Total Expanded (EMS)                 32,833,536  (32,064K)
Free Expanded (EMS)                  27,869,184  (27,216K)

  Total Extended (XMS)                 32,505,856  (31,744K)
Free Extended (XMS)                  27,634,688  (26,987K)

  Largest executable program size         623,856     (609K)
Largest free upper memory block          18,416      (18K)
Available space in High Memory Area          16       (0K)
PC DOS is resident in the high memory area.

・VMware 日本語環境

1MB 以下のメモリーを使用しているプログラム/ドライバー:

  名前            合計       =   基本メモリー   +   UMB メモリー
--------  ----------------   ----------------   ----------------
SYSTEM      15,232   (15K)      9,040    (9K)      6,192    (6K)
HIMEM          768    (1K)        768    (1K)          0    (0K)
EMM386       4,432    (4K)      4,432    (4K)          0    (0K)
IBMMKKV     22,288   (22K)     22,240   (22K)         48    (0K)
MSCDEX      21,664   (21K)     21,664   (21K)          0    (0K)
SMARTDRV    33,568   (33K)     17,168   (17K)     16,400   (16K)
IBMAVSH        688    (1K)        688    (1K)          0    (0K)
$IAS         7,072    (7K)          0    (0K)      7,072    (7K)
ANSI         3,808    (4K)          0    (0K)      3,808    (4K)
POWER        4,848    (5K)          0    (0K)      4,848    (5K)
MELCDU       6,160    (6K)          0    (0K)      6,160    (6K)
COMMAND      4,208    (4K)          0    (0K)      4,208    (4K)
KEYB         6,512    (6K)          0    (0K)      6,512    (6K)
$FONT        5,360    (5K)          0    (0K)      5,360    (5K)
$DISP       22,496   (22K)          0    (0K)     22,496   (22K)
DOSKEY       1,184    (1K)          0    (0K)      1,184    (1K)
- 空き -   594,704  (581K)    579,344  (566K)     15,360   (15K)

メモリーの概要:

  メモリーのタイプ    サイズ    =  使用済     +  使用可能
----------------  -----------   -----------   -----------
基本                  655,360        76,016       579,344
UMB                    99,648        84,288        15,360
アダプタ RAM/ROM      359,104       359,104             0
Extended (XMS)     14,614,528     5,482,496     9,132,032
----------------  -----------   -----------   -----------
システム全メモリ   15,728,640     6,001,904     9,726,736

  1MB 以下全メモリ      755,008       160,304       594,704

  全 EMS メモリー                      14,942,208  (14,592K)
使用可能 EMS メモリー                 9,289,728   (9,072K)

  全 XMS メモリー                      14,614,528  (14,272K)
使用可能 XMS メモリー                 9,132,032   (8,918K)

  実行可能プログラム最大サイズ            578,848     (565K)
使用可能最大 UMB メモリー                11,856      (12K)
使用可能 HMA メモリー                     5,872       (6K)
DOS は HMA 領域に常駐しています

いずれの場合もハイメモリへのロードが効いてコンベンショナルメモリの消費が抑えられていることが分かります。ちなみに、この状態でWindows 3.1 がエンハンスモード、スタンダードモードいずれでもきちんと動くことも確認できています。

 

VirtualBox での UMB確保のし方。

以前も書いた気がするけど仮想マシンはEMM386.EXEを削除しないと動かないとかNOEMSを指定しろとかいうガセネタ、なんとかしてほしい。DOSの設定テクなんてロストテクノロジーだが、日本語のコンピューティングを変えたシステムではあるし、せっかくならきちんと継承したいところ。

UMBとEMSを使えないと日本語ドライバのあるDOS/VなんてDOSを起動させるくらいが関の山で、実際のアプリがまともに使えない。VirtualBoxできちんと設定すれば日本語表示、FEP、CD-ROMドライバ、SMARTDRIVE、DOSKEY、POWERまで組み込んでコンベンショナルメモリ使用64kB未満だって可能だ。この状態でWindows3.1だってきちんと動く。下の画像はPC DOS 2000日本語版の起動状態。

dosv-2

CONFIG.SYSで次のようにUMB領域を明示して設定をする。

DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE I=B000-B7FF I=C900-E1FF I=E300-EFFF FRAME=D000

VirtualBoxだと、どうもE2000H~E3000Hあたりに何かあるらしく、ここに穴をあけると割と安定して使えるっぽい。A0000H~AFFFFHとB8000H~BFFFFHはビデオRAM、F0000H~FFFFFHはアダプタROM扱いの何かがあるので開けておく。EMSフレームはCC00とか設定してある例もある。各自のドライバ設定に応じてずらすと空きメモリが増えるかも。

この状態でEMM386.EXEを外すとFEP無しでもコンベンショナルメモリ使用は176kBで残り464kB。後期のDOSアプリはコンベンショナルメモリ500kBとか550kBを要求したりEMSを必要とするものもあるのでこれらが準備できないと実用にするのは結構きびしい。

dosv-1

CDROMドライバはメルコ(バッファロー)のドライバMELCDU.EXEが一番メモリ使用量が少ない。ただし初期化に時間がかかるのでTEACのCDROMドライバTEAC_CDI.SYSを使ってもそれなりにメモリ使用量を抑えられる。Windows98付属のOAKCDROM.SYSは安定して使えるがメモリ使用量が多い。

8ビットなレトロコンピュータも味があっていいんですが、16ビットのPureDOSも現時点では既に十分レトロだと思うんですよ。たまにはMASMでINT 21Hなリアルモードして・∀・)ニヤニヤしたいのです。

dosv-3

モニタのノングレアとグレアを一瞬で変更する方法

モニタを買うときに悩ましいのが液晶の方式のほか、表面のグレア(光沢有り)、ノングレア(光沢無し)の選択。パワーユーザーなら迷わずノングレアなんだろうけど、TVを見るときはグレア液晶のくっきり感も捨てがたい。

そこでディスプレイに引っ掛けるタイプのフィルターを使うと一瞬でノングレア液晶がくっきりグレア液晶に早変わり。イイヤマのモニタXU2290HS-2に合わせて今回買ったのはブルテクターというやつでブルーライト軽減を前面に押し出して薄い茶色がかった艶有りのアクリルパネル。

comparedisplay

ブルーライト低減とか実はどうでもいいのでできればもっと透明にしてほしいのと、構造の割にはお高いのと、ホコリ処理の手間が増えるところが難点。フィルタ有りの夜間はフィルタ無しよりも反射が軽減されてるのが意外だった。

モニタに貼り付けるやつでもグレアに変身できるんだけど貼って剥がして自由自在とはいかないから、「グレア買って失敗した」「ノングレア買ってがっかりだ」と思いこんだときに使うと良いかと。