モバイルギア MC-MK32活用例

ゆきの研究室 1997.9.10からの来客者数: PNG counter

 NECの携帯端末「モバイルギア MC-MK32」のわたしなりの使い方を紹介します。内蔵の UNISHELLを使わずに、DOS化してメールのやり取り、WWWのテキストブラウズなどができるようにします。
●DOS化
●KTXによるパソコン通信
●PPP接続
●D-MAILによるメール送受信
●Bobcat-jによるテキストブラウズ
●ののぐらむ

●DOS化

 モバイルギアを MS-DOSで使う方法はいくつかあります。
  1. お試しDOS
  2. UNIEXITによる DOS環境
  3. W-SHIFT DOS
  4. カードブート

お試し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 /A1

FONTMAN.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の実行画面 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

:EXIT

KTX.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 コード

→トップページへ戻る