#68 Article 8311 Posted at 1995/10/01 03:04:36 by 夢中ゆわ (MAP2717) [KIGOU]

Subject: Re: 記号の出し方は? /8295

こーいう話の偉い人が出て来てらっしゃらないので
でしゃばります(^^;)重隅堪忍


          コンベンショナルメモリというのは

とりあえず00000h~09ffffhにアドレシングされた640Kバイトのメモリのことです。

普通、この領域には、MSDOS起動時にMSDOSの本体とか各種デバイスドライバが
先頭アドレスから順にロードされます。(後ろからロードするのものある)
そして、ロードした後の残りがフリーエリアとなります。

このフリーエリアのサイズは、その各マシンの環境によって変わります。
従って、ソフトによっては「メモリが足りない」という現象が起きたりします。

フリーエリアがどのくらいあるかを知るには、
DOS標準のMEMコマンド等で調べる事ができます。

MEMコマンド例(手元にDOS/V機が無いので98っす^^;)

>メモリの種類        合計   =   使用   +   空き
>----------------  --------   --------   --------
>コンベンショナル             640K        96K       544K
>アッパー メモリ              40K        19K        21K
>予約済み              384K       384K         0K
>XMS メモリ            13,272K    13,271K         1K
>----------------  --------   --------   --------
>全メモリ              14,336K    13,770K       566K
>
>全 1MB 以下メモリ        680K       115K       565K
>
>全 EMS メモリ                    13,040K  (13,352,960 バイト)
>空き EMS メモリ                   1,200K   (1,228,800 バイト)
>最大実行可能プログラムサイズ          544K     (557,216 バイト)
>最大空きアッパーメモリブロック             13K      (13,248 バイト)
>MS-DOS はハイメモリ領域に常駐しています.

後ろから3行目の「557,216 バイト」ってのがフリーエリアのサイズです。

>  メモリ2Mの68で動くものなので、8Mも積んでいるマ
> シンで動かないということはないと思うのですが。

8Mというのは恐らくプロテクトメモリの事だと思われますが
(8MのIOバンクという可能性もあるけど(笑))
その8Mのメモリは100000h以降にアドレシングされ、
XMSドライバを組み入れる事により、XMSメモリとして認識されます。


     つまり「コンベンショナルメモリ」と「XMSメモリ」は
     扱われ方が違うと考えてよいと思います。


「XMSメモリを増やす」というのは、実際にメモリを買ってきて実装する事で
「コンベンショナルメモリを増やす」というのはCONFIG.SYSをいぢって(^^;)
出来るだけ640K以下のメモリを使わないようにするかという事でいいと思います。


            んでMASLの話に戻りますが

maslvの実行時に必要なメモリ環境は、ほぼ98と一緒なようで
データによっては580Kほどのコンベンショナルメモリを必要とする場合も
あるようです。
(その場合↑では動きませんね(^^;) なおJMS_REY4.MSLデータは↑の98環境で
 動作しました)

コンベンショナルメモリを増やすには、それこそ色々方法があって一概には
言えないんですが、一番お手軽にやるにはMEMMAKER(スペル自信無し)コマンドを
実行してやると、ある程度の適した環境をCONFIG.SYSに設定してくれるようです。

便利な世の中になりましたねぇ(笑)

あとmaslvのV0.41なら、PCMデータをEMSに逃がすオプション(-P)もあるようです。
(制限有り)


昔はFEPが640K外に逃げてくれなくて、ひぃひぃ言ってた時代が懐かしいです(^^;)


どんなマシンやOSにも上限値はあります。
それが「このぐらいあれば大丈夫だろう」で通用していた時代なら吉。
   「このぐらいではとても足りない」になってしまえば凶ですね(^^;)
進化が速い系列には、いつも付いてまわる問題だと思います。

PC98の16Mの壁もそうだったし、HDの16ビットセクタとか、IDEの500Mとか
RS232Cの9600bpsとか、探せば色々とあるかも。

#MAP2717 夢中ゆわ