#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 夢中ゆわ