LPKKC 1.07 (2009-04-27)

というわけで更新して、とりあえず自分のページに上げておきました。ベクターに登録された分もそのうち更新されるでしょう。
1.04 までに存在していたかなり致命的なバグが 1.05 で修正されました(つまりこのバグ、12年近く放置されていたことになります…)。以前のバージョンをお使いだった方はなるべく最新版にアップデートしたほうがよいかと思われます。
調子こいてすこし拡張し、オプションを追加してみました(1.06→1.07)。オプション /S で内部スタックサイズを設定し、常駐サイズを削減することができます。必要以上にスタックサイズを削るとかなりヤバいので、サイズ設定には多少の調査(試行錯誤)が必要かもしれません。

というわけでちょっと調べてみることにします。まず LPKKC に以下のようなオプションを設定します

DEVICE=C:\DRIVER\LPKKC.SYS /S128 /V

/S128 でスタックサイズを 128 バイトに設定(デフォルトは 256)、/V はインストール時の内部状態を表示します。
うまくいくと、LPKKC 初期化時にはこんな感じのメッセージが表示されます。

"LPKKC Internal Stack" の部分が内部スタックの先頭アドレスとサイズです。適当なデバッガ(ここでは EXDEB を使いましたが、べつに DEBUG や SYMDEB でもかまいません)で該当するメモリを見てみます。

まだ DOS 起動直後で IME を一度も動かしていないので、スタックは初期値のままです。

すこし IME を動かして…

もういちど内部スタックをダンプ。

スタックは高位アドレス(画面下方)から低位(画面上方)に向かって進んでいくので、すくなくとも 66 バイト使用されていることがわかります(む、64 バイト超えてるぜ…やはり /S64 は危険か)。当然ながらスタック使用量は環境構成によって異なるので、各自の環境でご確認ください。