1. としきのやしき正門
  2. 電算棟
  3. ポケ3の部屋

ポケ3でのEMS

OAPK3用EMSマネージャ作ってみました。
といっても、HP100LX用のEMSメモリマネージャにパッチを当てただけなんですが。

もうほとんど需要もないでしょうね。


EMSって何なんですか?

Expanded Memory Specification の略で、メモリを拡張するときの規格の一つです。ただ、提唱したのがロータス/インテル/マイクロソフトの3社なので、この規格に対応しているソフトが他の規格よりも多いというのがあります。


何ができるの?

特に新しいことができるようになるわけではありません。
対応しているアプリケーションによっては、ちょっとだけ扱えるファイルサイズの上限が大きくなるものがある、と言った程度です。


どんなソフトが使えるの?

VZ VWX NIFP MIEL などなど。
一方、現状では一部サポートしていないファンクションコールがあるためか、ATOK8は使えないようです。


なんで作ったの?

私にとって一番使用頻度の高いVz使用時のメモリ使用量の圧迫を解消するために作ったようなものです。
メモリ状況は別項参照。

私がうれしかったのは、NIFP でかなり大きいログを閲覧中でも、Vzを起動してレス書きができるようになったことです。もちろん、NIFP でもEMSは使えていますので、いくらか大きいログも読めるようになりました。(^_^)v

私は DIET は非常駐で使っているのでわかりませんが、VWX も EMS に追い出しています。これでもいくらかコンベンショナルメモリが拡がっています。
あと、MIEL でも閲覧可能行数が増えてくれてうれしいです。


どうやって実現しているの?

メインメモリーを削ってページフレームに割り当てています。
EMS使用時のメモリマップは以下のようになります。


VMAP Version 2.01  Copyright (C) 1989-91 by c.mos

addr PSP  blks   size  owner/parameters           hooked vectors
---- ---- ---- ------  -------------------------  -----------------------------
20E6 sys    1  150256  <config>
4596 <--    2    3616  command                    22 23 24 2E
467A <--    1     432  DCTRAP ver1.00  Jun 22 19
4696 <--    1    4048   -dB:\ -pF -n00
4794 <--    1    1648  VWX 1.08b -Z2 -L8192 -X3   2F
47FC <--    1    3840  vz 1.60  -Z                21 29
48ED-C000   1  487712  <free>

----- EMS ver4.0 (frame: 3287h) -----
handle pages   size  name
------ ----- ------  --------
     1     2    32k  for Vwx!
     2    12   192k  VZ
  free     2    32k
 total    16   256k



ちなみに、以下はEMS未使用時のメモリマップです。




VMAP Version 2.01  Copyright (C) 1989-91 by c.mos

addr PSP  blks   size  owner/parameters           hooked vectors
---- ---- ---- ------  -------------------------  -----------------------------
20E6 sys    1   80576  <config>
3493 <--    2    3616  command                    22 23 24 2E
3577 <--    1     432  DCTRAP ver1.00  Jun 22 19
3593 <--    1    4048   -dB:\ -pF -n00
3691 <--    1   25040  VWX 1.08b -Z2 -L8192 -X3   2F
3CAF <--    1  177792  vz 1.60  -Z                21 29
6818-C000   1  360048  <free>

<config> の部分でページフレームを確保するので、この部分の使用量が 70KByte 増えますが、Vzの常駐量が 170KByte 以上減るので、随分とメモリが広くなりました。

デメリットはなぁに?

通常、Vzでコンソール出力を取り込むことに設定してある方が多いと思いますが、オプションでこの機能を停止させておかないと、コマンドラインに降りたり、Vzを常駐させたりしたときに、DOS プロンプトがとてつもなく遅くなります。
ちょっとしたベンチマークをとってみたら、画面表示に通常の3倍から7倍の時間がかかるようになりました。でも、Vzのエディットモードのように、DOS の機能を使わず自力で画面表示をするものであれば、それ程速度は低下しません。


どこにあるの?

自作ソフトのコーナーにあります。フリーウェアとして公開しています。
というか、原作者の方より、改変版を作るにあたり「フリーウェアとしてソース共々公開すること」と言う条件を課されてしまいました。この、原作者の意向は尊重したいと思います。


ポケ3の部屋
電算棟
やしきの間取り


Copyright © 1999,2002,2010 としき
このページの情報及び著作権は「としき」に帰属します。
Toshiki / toshiki @ jcom.zaq.ne.jp