[35429]  DOS用ソフト
投稿者:カービィ さん   2001-10-22 21:24:29
PC−9821V12を使っています。
自分はWindows時代からパソコンをさわり始めたのでDOSには
詳しくないのですが、このマシンで昔のDOS用のソフトやPC98用の
DOSゲームを起動しようとすると、メモリーが足りませんと出てまったく
起動できません。メモリーが足りないことはないと思うのですが、
これは何か設定が必要なのでしょうか?解決法を教えていただければと
思いまして。よろしくお願いします。
  1. キューブ さん   2001-10-22 21:59:55
    それは、コンベンショナルメモリが足りないのですね。
    起動時のメモリカウントのときに「640K+**K」ってでてくると
    思うのですが、DOSはいくらメモリを積んでも基本的には640Kの部分しか
    使用できません。

    その640Kの部分でメモリが足りないと上記のようなことが起こります。
    そこで、コンベンショナルメモリの節約をしてやるわけです。
    起動ドライブのルートディレクトリにCONFIG.SYSがあると思うので
    これをノートパッド等で開いて

    DOS=high,umb
    files=30
    buffers=8,0
    fcbs=1,0

    上記の文を追加すればある程度は節約できると思います。

    他にも方法は色々あるのですがそれを説明すると結構大変なので・・・
    (DOSにおけるコンベンショナルメモリの設定は奥が深いです)
  2. カービィ さん   2001-10-22 22:21:28
    レスありがとうございます。
    教えていただいた文を追加してみたのですが・・・・
    結果は同じでした。原因が他にあるのでしょうか?
    それにしてもDOSのソフトは本当にまともに起動した
    ことがありません。PC−9821V12に添付されて
    いたDOSのアプリケーションでさえ、メモリが足りません
    と出る始末。あ〜り〜え〜へん、と思いつつもあきらめて
    きたんですが・・・。はぁ・・・。
  3. まりも さん   2001-10-22 22:33:02
    himem.sysが入れてなくて、dos=highが有効にならないために、空きコンベンショナルメモリが足らないのではないでしょうか?とりあえず
    device=himem.sys
    という1行もconfig.sysに加えて、実際に himem.sysというファイルをフロッピーにコピーしておいてください(Windows9xの、Windowsフォルダ配下にあります)。
  4. キューブ さん   2001-10-22 23:04:59
    極端にメモリを食うゲームだったりして・・・(ハーレムブレード2とか・・・)

    そういう場合はそのゲーム専用の起動ディスクを作ってやると良いです。
    大体のゲームは550K〜600Kバイト空いていれば動くと思います。
    調べ方はDOSプロンプト上(DOSモード上)で「MEM」って打ってやると
    今、どの位メモリを使っているかがわかります。

    ちなみに、DOSプロンプト上でゲームは動かないと思った方がいいです(^_^;)
  5. sivs さん   2001-10-22 23:42:43
    皆さん、こんばんは!

    基本的な事は諸先輩が説明されていらっしゃる通りですが、DOSソフト
    (ゲームソフトを除くビジネス系ソフト)はコンベンショナルメモリが500K
    あれば大抵のものは動作するはずです。ただ、これには、それなりの
    設定が必要です。ビジネス系ソフトにはFEP(日本語入力システム)が
    必須ですが、普通にこのソフト(ドライバ)を組み込んだんでは、上記
    メモリが極端に少なくなります。これには640K以外のメモリを使うための
    専用ドライバ(EMS等)を組み込む必要があります。

    これらの設定には、それぞれのドライバの特性を知り、CONFIG,SYS
    AUTOEXEC.BAT の設定・編集を繰り返す必要があります。

    9821はマルチブートが出来ますので、DOS専用のパーティーションを
    作成し、いろいろ試してみることをお奨めします。ただ、Windowsとは
    違い、すべてご自分で設定をしなければならないので大変です。
    解らないことがあれば、ここで質問すれば親切な方々からいろいろ指導して
    いただけると思います。頑張ってください。

  6. さん   2001-10-23 00:50:19
    楽しかったなぁ。メモリ640k空け・・・・<頭がおかしいね。こいつは
    ATOK入れて、CPUアクセラレータのドライバ入れて、常駐ツール(リセット、とかメモリエディタとか)入れても使用メモリ0kの時はうれしかった<ただしまともにソフト動かず。(意味無し
    だいたい610〜620kちょいくらいまでで止めておくのが安定して動いて、一番バランスが良い
    ここまで完全にゴミレスです。

    その辺のツールは標準に入ってるものでもある程度は可能ですが、オンラインソフトを使う方がいろいろできて便利です。「こういうものはNiftyで拾ってきましょう」というとアンチNiftyの人に嫌われるのでベクターが一番ですね。
    何でもできる点で便利だったのがVEM486とかかなぁ

    http://www.vector.co.jp/vpack/filearea/dos/hardware/mem/index.html

    この辺をあさってください
  7. ワンちゃん さん   2001-10-23 00:54:00
    私は今もDOS6.2は使用していますが、コンベンショナルメモリー確保のため、メルコのEMM386.SYSやIOデーターの(元はエプソン?)VMM386.EXEを使用していますが、DOS6.2のEMM386.EXE使用されメモリーの空きとるCONFIG.SYSを編集するならMEMMAKERを実行してみてください。DOS(WIN95のDOSプロンプトではだめ)からMEMMEKERと打って実行してみてください
  8. さん   2001-10-23 01:45:21
    使用されるソフトは、CD-ROMや辞書などを利用するのでしょうか?
    使用しない物のデバイスドライバを外せば、結構な空きができますよ。
    CONFIG.SYSの中の「DEVICE=・・・」で始まるやつです。

    以下、ゴミです。懐かしーなと思ったもので。
    elf系のソフトに悩まされていた時期がありました。
    「540キロバイト以上空けてください。」ってやつですね。
    でも、快適さを求めるためディスクキャッシュも入れてましたね。

    本当、あの頃の方が良かったです。本体にこんなにお金がかからなかったので・・・。
  9. さん   2001-10-23 05:50:12
    vem486自身UMBに常駐可能なのでコンベンショナルメモリをかなり空けることができますが、
    全体的なソフトの安定性ではvmm386の方が上だと思います。

    config.sysを編集される時はconfigセレクターも使用されると、設定に失敗したときに
    楽に復帰できますのでおすすめです。

    昔はatokやCD-ROMドライバなど片っ端からUMBに放り込んでコンベンショナルメモリを
    どれだけ空けられるかに燃えましたねぇ。
  10. TDF さん   2001-10-23 06:15:40
    MS-DOSのころは今ほど一般的に普及しておらず、ユーザーはみなさん出来る人だったので、コンベンショナルメモリの確保術はイロハだったように思いますね。
    なんと言ったってそれだけで本が出せてしまうくらいでしたし。

    で、OSがWindowsのみでもなんとかなってしまうものです(たぶん・・・(※1))。
    ナツメ社から出ている「Windows95(98)に隠されたDOSの秘密」という本に詳しく載っています。
    それなりに極めてみようか、と思うのでしたら購入を勧めておきます。

    ※1:DOSとWinはデュアルブート環境だったので、自分では(必要に迫られなかったので)試したことがなかった。
  11. ter さん   2001-10-23 12:22:28
    なんか懐かしい話しになってますね。ちょっと便乗質問させてもらっていいですか。
    家のV166青札で、CPUをアイオーのHK6-400にしてるんですが、メルコのMELEMM386(メモリドライバ)を使うとEOシステム上でFEPの切替が出来なくなってしまいました。
    CPUを元に戻すと大丈夫です。これってVMM386とかにすると大丈夫なんでしょうか。
    手に入らないんで..。VMM386
  12. aya@cocoa さん   2001-10-23 14:03:32
    VMMはなんだかVMD(シリアルポートでもMIDI対応ソフトでMIDIが鳴らせる)とあわせて使ったときに、CPUがK6系だとダメっていう話をつい最近身近で相談されたりしました。
    こういう事例もあるみたいですが、どうなんでしょうね。 > VMM
  13. ワンちゃん さん   2001-10-23 14:37:58
    VMMとEMM386ですね。今も愛用しています。
    EOメニューもSOSもあったな−−DOSVではSSメニュー使ってます。
    9821XAはSOSメニューですが、EOやBMメニューも入れてます。
    EOの2000年チェックはどうされたのかな?ICMも遙か昔だし、緑電子は撤退したし、後ロジッテクにもありましたね?ディスクパイロットだったかな・
    本レスに関係ない便乗かきこみになってしまいました。
    VMMはFDが2セットあるんだけど説明書も−−著作権はどうなってますかね?
  14. ワンちゃん さん   2001-10-23 14:41:20
    VMMはなんだかVMD(シリアルポートでもMIDI対応ソフトでMIDIが鳴らせる)とあわせて使ったときに、CPUがK6系だとダメっていう話をつい最近身近で相談されたりしました

    メモリーのアドレス変更で逃げれませんかね?パラメーターを指定して−−−

    CPUをアイオーのHK6-400にしてるんですが、メルコのMELEMM386(メモリドライバ)を使うとEOシステム上でFEPの切替が出来なくなってしまいました。

    相性はありますがパラメーターの変更を−−−−
  15. ter さん   2001-10-23 15:23:30
    ワンちゃんさん、レスありがとうございます。
    Melemm386にスイッチをつければいいということでしょうか。
    ただ、メモリマップ確認用にMSD起動させたら、家のは24khz出せないモニタなんで、
    画面が真っ暗になってしまいます(何でなんでしょうね。MSDだけ..。)

    でもこれって別スレッド立てた方がよかったかな。
  16. ウルトラギブン さん   2001-10-23 15:36:18
    使用されているOS(Config.sys・Autoexec.batの内容含む)やマシン構成、使用したいアプリケーションが分かれば、皆さんからのリプライも付き易く的確なアドバイスも受けられると思います。^^

    取りあえず、以下の設定を試して下さい。(現在の環境は前もってバックアップしておいて下さい)
    尚、DOSのバージョンによってスイッチの設定が違う場合もあります。今回はDOS6.2以降で説明させて頂きます。
    上から順に試してみて下さい。

    ■その1(ゲーム用)
    ***** Config.sys *****
    files=20
    buffers=3
    fcbs=1
    lastdrive=E

    SHELL=a:command.com a: /e:160 /p

    ***** Autoexec.bat *****
    @echo off
    PATH a:;a:dos
    set TEMP=a:dos
    set TMP=a:dos

    ■その2(ゲーム用)
    ***** Config.sys *****
    files=20
    buffers=3
    fcbs=1
    lastdrive=E

    SHELL=a:command.com a: /e:160 /p
    DEVICE=a:doshimem.sys /testmem:off
    DOS=high

    ***** Autoexec.bat *****
    @echo off
    PATH a:;a:dos
    set TEMP=a:dos
    set TMP=a:dos

    ■その3(ビジネス用)・・・EMSを使用するアプリケーションの場合
    ***** Config.sys *****
    files=20
    buffers=3
    fcbs=1
    lastdrive=E

    SHELL=a:command.com a: /e:160 /p
    DEVICE=a:doshimem.sys /testmem:off
    DEVICE=a:dosemm386.exe /umb /highscan
    DOS=high,umb

    REM FEP(アプリケーションで日本語を使用する為のドライバ)
    DEVICEhigh=A:DOSKKCFUNC.SYS
    DEVICEhigh=A:DOSNECAIK1.DRV
    DEVICEhigh=A:DOSNECAIK2.DRV A:NECAI.SYS

    ***** Autoexec.bat *****
    @echo off
    PATH a:;a:dos
    set TEMP=a:dos
    set TMP=a:dos

    ■その4(ビジネス用)・・・更にCD-ROMドライブを使用する場合は各々追加
    ***** Config.sys *****
    DEVICE=A:MELCDS.SYS /d:melcd001
    ***** Autoexec.bat *****
    lh A:dosmscdex.exe /d:melcd001

    ■ポイント
    1.アプリケーションによっては「files=」の数値を**以上にして下さいと説明書に記載されている場合があります。その時は説明書に従って数値を設定して下さい。

    2.「lastdrive=」の設定につきましては、接続されているデバイス(HDD・MO・FDD・CD-ROMドライブ,etc)の合計数をA,B,C...と順に数えた英字で設定して下さい。よくCD-ROMドライブを使用するのに「Q」や「Z」を指定している場合がありますが、これは空きメモリの確保から考えますと無駄にメモリを消費しているだけですので、合計数か合計数+1の値に設定して下さい。

    3.上記の設定例にてドライブ番号を含めたディレクトリ(フォルダ)情報につきましては、適宜御自分の環境に置き換えて下さい。

    例)mscdex.exeがCドライブのCDROMディレクトリ(フォルダ)にある場合.
    A:dosmscdex.exe /d:melcd001 ---> C:CDROMmscdex.exe /d:melcd001

    4.「その3」のFEPや「その4」のCD-ROMドライバ(上記例ではMELCDS.SYS)は御本人が使用されているものを記述して下さい。詳しくは、各々の説明書に記載されていますので参照して下さい。

    5.ゲームは基本的に上記設定の何れかで動作すると思いますが、DOS最後期の頃になりますとDOSエクステンダ等を使用して通常の環境設定だけでは動作しない物もありました。その様な場合はゲームの説明書に従ってCONFIG.SYSやAUTOEXEC.BATを書き換えて下さい。

    6.必ず上記の環境設定後にアプリケーションをインストールして下さい。

    7.上記の例はアプリケーションを最低限動作させる事を目的として挙げさせて頂いたものです。従いまして、動作したとしても快適に動作すると必ずしも言えるわけでは御座いません。そこでとりあえず動作確認ができた場合は、CONFIG.SYSの「BUFFERS=」の値を少しづつ大きい数値に変更した後にリセットして再度アプリケーションが起動するか試してみて下さい。12程度取れる様であれば快適度がかなり違ってきます。更に余裕がある様であれば、SMARTDRVやFASTOPEN等のキャッシュシステムやRAMディスクを使用しますとより快適に動作致します。但し結構メモリを消費しますのでアプリケーションが起動できる状態を保持しながら適宜使用する為には、使用する方にもそれなりの知識がありませんと場合によっては少々難しい気もします。必要と感じた場合は本屋さんからCONFIG.SYSやAUTOEXEC.BATの環境設定について書いてある専門書を購入して勉強してみて下さい。

    <ここからは余談です>

    MS-DOSで本格的に空きメモリの確保をしたいと思われた場合、PC-98*1のメモリマップは勿論、「コンベンショナルメモリ」「アッパーメモリ」「エクステンドメモリ」の概念・「リアルモード」・「プロテクトモード」「仮想86モード」の動作モードや各CONFIG.SYS内・AUTOEXEC.BAT内で記述するドライバ・コマンドについての(初心者の方から見れば)広くそしてある程度深い知識が必要ですし、使用する(したい)ビジネスソフトやゲームソフト等のアプリケーションが必要とするメモリ管理仕様(「IOバンク」「EMS」「XMS(「HMA」「UMB」)」「VCPI」「DPMI」など)についても予め説明書を読んで知っておく必要があります。(当然、これらのメモリ管理仕様自体の知識もある程度必要です)

    又、上記について十分知識のある上級者の方でも場合によっては、環境を一から構築するのに数十回以上の設定見直し(リセット)が必要な場合もありますので、初めてトライされる方はその数倍の時間を要すると考えて良いと思います。

    ...とこう書きますと、とても難しい事の様に思えますが、実際のところはそれ程でもありません。
    むしろ一度「のめり込んで」しまいますと、楽しくてどうしようもなくなり、当初「あるアプリケーションが動作すればいいや.」と思っていたのが「ぬぉぉ! 空きメモリを1バイトでも多く確保したるぜぇ!」と言った「空きメモリ確保の呪縛」から逃れられなくなる可能性大です(爆)
    <ここまで>

    ...うぅむ...それにしても中途半端な設定例だなぁ...
  17. おさだ さん   2001-10-23 15:39:10
    >メモリマップ確認用にMSD起動させたら、家のは24khz出せないモニタなんで、
    Windows上のDOS窓で…。
     ちなみにPC-9801BX4にAm5x86を載せてDOS6.2用のMSDを起動するとCPUの項目に当時存在しなかったはずの「PentiumODP」の表示が出ました。(謎)
  18. こういち@BD5B−RS さん   2001-10-23 23:13:44
    うーん、最近DOSはFDとMINPI、まいと〜くくらいしか使ってないのでいいかげんな設定してますが、PC−286Vなんかでゲームやってたときはいかに540KB以上空けるかやってましたねぇ。しみじみ。

    で、僕の場合はCONFIGでは最低限のところまで書いておいて、あとはアプリ、ゲーム毎にバッチファイルを作成し、必要なデバイスは全てADDDRVで組みこんでいました。愛用はVMM686.EXEですね。メルコのEMM386よりはメモリを空けれたし、CPUアクセラレータ等との相性もよかったように思います。ただ、486以前の話なのでK6系はどうかわかりませんが。
  19. Kei1 さん   2001-10-24 04:44:46
    昔 Oh! PC で紹介されましたが,「Windows95/98 搭載の PC-98 で MS-DOSゲームを遊ぶ」ってページやってます.
    よろしければ参考にしてみてください.
    http://www.cc.u-ryukyu.ac.jp/~k008367/lab/dos.htm

    # 最近更新してないんで,ミスとか古い記述があったらご指摘下さい
  20. さん   2001-10-25 10:14:08
    もしWindows98をお持ちであれば、それのDOSを使うのが便利かと思います。
    FAT32対応ですし、ホットキーでリブートする機能が標準でつきますし。
    起動時に「Windows98を起動しています」って表示されるのはご愛嬌って事で(笑)。