NECの携帯端末「モバイルギア MC-MK32」のわたしなりの使い方を紹介します。内蔵の UNISHELLを使わずに、DOS化してメールのやり取り、WWWのテキストブラウズなどができるようにします。
DOS化
KTXによるパソコン通信
PPP接続
D-MAILによるメール送受信
Bobcat-jによるテキストブラウズ
ののぐらむ
モバイルギアを MS-DOSで使う方法はいくつかあります。
DOS化
- お試しDOS
- UNIEXITによる DOS環境
- W-SHIFT DOS
- カードブート
お試しDOS
Windowsの DOS窓のように、普段は UNISHELLを使っているが、ちょっとした DOSコマンドを実行したいという時に便利です。ただし、空きメモリーが少ないので COMMAND.COMの内蔵コマンド(DIR, COPY, TYPEなど)や LHAを使うなど、小さなソフトの使用に限られます。UNIEXITによる DOS環境
その名のとおり、UNISHELLを終了させてしまうソフトです。その為、空きメモリーが多くなります。W-SHIFT DOS
わたしが使っている方法です。Dドライブのルートに「UNISHELL.DBG」というファイルを作り(中身はなんでもよい。)、リセットします。「Stating MS-DOS...」が表示されたら、左右の[SHIFT]キーを両方押し続けます。すると、UNISHELLが起動することなく DOSのコマンドプロンプトが出てきます。そしたら[SHIFT]キーは放して大丈夫。カードブート
上級者向けの方法です。直接PCカードからOSを起動する方法で、自分で CONFIG.SYS, AUTOEXEC.BATを作らなければなりません。「作らなければならない」ということは「自由に作ることができる」ことも意味します。また、OSも MS-DOSに限りません。わたしの場合
「W-SHIFT DOS」で起動後、以下のバッチファイル(MG.BAT)で日本語環境にしています。@ECHO OFF SET UNI_PATH= SET ROMBASE= SET HCTRL= SET MTYPE= SET UNI_CMFEXE= D:\SYS\EXENV 60 >NUL PATH D:\BIN;D:\SYS;D:\DOS;D:\;J:\DOS;J:\TOOLS;C:\;C:\DOS;A:\BIN;A:\SYS PROMPT $L$P$G SET TZ=JST-9 SET VZDEF=D:\BIN\EDX SET TMP=D:\TEMP SET TEMP=D:\TEMP SET INCLUDE=A:\LSIC\INCLUDE SET LIB=A:\LSIC\LIB MGCOM1 OFF POWER OFF >NUL MGALT -s -c rstOff MOGD ADDDRV CONFIG.MGD MOGD -V4 PANSI.COM MS MGCPU LO MGBATT -s -K- -P608,0 MGOFF -s -V0 -U KBOOT -sまず最初に UNISHELLで使っていた環境変数をクリアします。その後、EXENVを使って環境変数エリアを増やします。そのままでは環境変数エリアが 256バイトと狭く、ソフトの動作に支障をきたすことがある為です。EXENVは「このバージョンでは使えないかもしれない」というメッセージを出しますが、問題無く使えます。
その後、改めて環境変数を設定します。MC-MK32は RAMディスク容量が多いので、RAMディスクにVzを始め、よく使うツールを格納しています。
MGCOM1で RS-232Cの電源供給をカットしていますが、気休めのような気がします。そして、POWER.EXEの動作を停止しています。これは、POWER.EXEが動いていると DOS化に必要なソフトとの相性が悪い為です。パワーマネジメントは DOS化の為のソフト自身がある程度行っています。
MGALTでキーボードの配列を PC-AT互換にします。rstOffオプションは [CTRL]+[Alt]+[DEL]でのリセットをしない設定です。なぜそうしているかというと、MGALTでリセットすると時々リセットに失敗することがあるからです。それを解決する為に KBOOTというソフトを作りました。最後の行でこれを組み込んでいます。今のところ一般公開はせずに自分でテストしている状態です。
MGALTの -cオプションは、キー入力待ちの状態で CPUスピードを落としてバッテリーの消費を抑えるものです。
MOGDは日本語ディスプレイドライバです。モバイルギア用のディスプレイドライバはいくつかあるのですが、わたしはこれを愛用しています。それは、動作が速いことに加え、機能をディスプレイドライバ本来の動作のみにしぼっており、他の機能(キーボードの配列変更、パワーマネジメントetc.)を他のソフトにまかせているからです。ディスプレイドライバ自身が他の機能を兼ねる場合、そのドライバは日本語表示だけでなく、他の機能にも完璧であることを求められます。「完璧なもの」とは、一般的な人にとってのものをめざすと思われますので、ちょっと特殊なことをしようとするととたんに融通がきかなくなります。
ADDDRVでフォントと FEPを組み込んでいます。内容はそれぞれ次のとおり。
CONFIG.MGD
DEVICE=D:\DOS_C\FONTMAN.EXE -FD:\DOS_C\FONTMAN.INI DEVICE=D:\WX3\WXK.SYS /A1 DEVICE=D:\WX3\WX3.SYS /C1 /N /A1FONTMAN.INI
[fontx2] ;D:\DOS_C\AKAGI11A.FNT ;D:\DOS_C\AKAGI11K.FNT ;D:\DOS_C\AKAGI11P.FNT D:\DOS_C\GENHN08X.FNT D:\DOS_C\GENZN08X.FNT D:\DOS_C\ROMAN.TLF D:\DOS_C\MINZN16X.TLF [font14] [elisa]Vzで MOGDのドキュメントを表示しているところ。
わたしの使っているのは MC-MK32で、メモリーが多いので、内蔵の細いフォントは使わずに、電脳フォント明朝体、げんちょもフォント(スモールフォントのつぶぞろい)を組み込んでいます。MOGDで赤城フォントが使えるといいのですが。ROMAN.TLFは X680x0用のローマン体フォントに手を加えたものを $FONTX形式にコンバートしたものです。0(ゼロ)にスラッシュを入れてO(オー)と区別しやすくしています。
ATAカードが無くても起動できるよう、全てのファイルを RAMディスクに置いてあります。
FEPは WX3を使っています。WXシリーズは動作が少し遅く、LC-8620ではつらかったので刀を使っていたのですが、モバイルギアではそれほど気になりません。
改めて MOGDを実行していますが、これは組み込んだフォントを有効にするためです。通常は16ドットフォントで15行表示にしてあります。
PANSIでエスケープシーケンスを使えるようにしてあります。日本製のソフトではエスケープシーケンスを使っているものもけっこうありますので、念のため。
モバイルギアには DOSKEYが付属していないので、代わりにフリーソフトの MicroShell DOS汎用版を使います。小さいわりにコマンドヒストリーだけでなくエイリアスやディレクトリスタック機能もあってお薦めです。
バッテリーの持ちをよくする為に、MGCPUでスピードを Loにしています。
MGBATTでバッテリーメーターと CPUスピードメーターを画面右上すみに表示しています。-K- オプションで、キー入力に関係なく表示するようにしています。こうしないと表示が消えて出てこなくなるからです。
MGOFFで[電源]スイッチと LCDパネルを閉めた時のサスペンドを有効にしています。
KBOOTはわたしの自作の常駐ソフトです。ただいまテスト中です。
以上で DOSソフトを使う環境は整いました。
KTXによるパソコン通信
起動バッチファイル(KT.BAT)
@ECHO OFF MGBATT -s if "%1"=="3" goto COM3 if "%1"=="2" goto COM2 :COM1 goto EXIT :COM2 echo 電源をOFFにして、カードモデムに入れ替えてください。 pause set IRQ= set COM=2 set ATD=P set DRV= BATKEY 1 TELEPHONE PULSE ?(Y/N) IF ERRORLEVEL 255 SET ATD=T echo モデムカードを有効にします。30秒ほどお待ちください。 MGCOM 2 ON MGCPU MID MS -p d:\ktx KTX MS -O MGCPU LO MGCOM 2 OFF echo 電源をOFFにして、元のカードに戻してください。 pause logmove D:\LOG\NIF*.LOG A:\LOG logmove D:\LOG\*.0?? A:\LOG goto EXIT :COM3 echo 内蔵モデムを使用します。 set IRQ=2 set COM=3 set ATD=P set DRV=screw.drv rem set INIT=ATE1B0Q0V1S6=4S7=55S11=95&C1&D2W1 BATKEY 1 TELEPHONE PULSE ?(Y/N) IF ERRORLEVEL 255 SET ATD=T MGCOM3 ON card=on irq=2 MS -p d:\ktx C:\DOS\V42 /c=3 MGCPU MID KTX MGCPU LO C:\DOS\V42 /c=3 /r MS -o mgcom3 off card = on irq=2 set DRV= set INIT= logmove D:\LOG\NIF*.LOG A:\LOG logmove D:\LOG\*.0?? A:\LOG :EXITKTX.CFGの一部
; [ 通信環境指定 ] ; driver %DRV% ; Driver Name ;drvopt "YYCYYYYYY" drvopt "YYCV5YYYY" baudchange on ;(B) ボーレート変更許可 baudrate 57600 ;(B) 起動時ボーレート board 0 ;(A) 0:内蔵 1:PC-9861K 2:B98-01 3:PIO9032B(C) ;(DOS/V版 使用しない) CDtrue off ;(C) CD信号無視動作 endER on ;(B) 終了時の回線切断 port %COM% ;(A) 0:内蔵 1 or 2 (DOS/V版 1〜4) rflow on ;(A) RS/CSフロー制御 xflow off ;(A) XON/XOFFフロー制御 rsparam N81 ;(B) 起動時通信条件 useeuc off ;(B) EUCコード使用 usejis off ;(B) JISコード使用 ; ; [ モデムコマンド指定 ] ; dial \rATD%ATD% ;内蔵モデムではなぜか最初の文字が消えるので。 inits %INIT% ;init0 "ATQ0E1V1L1M1" init0 "ATZ" init1 "ATX3F8" ;init2 "ATZQ0E1V1L1M1X4" init2 "ATZ" init3 "ATE1" ; ; [ DOS/V固有 ] ; usefifo on ;(B) 16550A FIFOモード使用 irqno %IRQ% ;(C) IRQ指定 baseaddr ;(C) 232C ポートのベースアドレス icolormode off ;(B) 高輝度使用 fepline off ;(B) FEP用に行確保 alttime 30 ;(B) ALTによる低速スクロール時wait guideline off ;(B) ガイドライン表示 scrwidth ;(C) 表示横桁固定数指定 usef12 off ;(B) F11 F12 を画面に表示する uscode "\x19\x1a\xcd\xba\xc9\xbb\xc8\xbc" ;(C) 英語モードの罫線、TAB CR コード dbcode "\x1b\x1e\x06\x05\x01\x02\x03\x04" ;(C) 英語モード以外の罫線、TAB CR コード