[21883]  TI486SXL-40に適したキャッシュ制御ソフト+メモリマネージャは?
投稿者:青星 さん   2003-10-01 20:48:10
先日メルコの「HDA-PC20W」を入手しましてRAに載せたのですが、どうも付属のMELEMM.386はRAMディスクドライバにメルコ製を指定するなど制限が多かったり(HDA-PC20WにはMELWEAR一式は付属していません…)、フリーソフトの中にはMELEMM.386は「相性が悪いので推奨しません」というのがあったりして(私には)使いづらい所が多いのです。かといってVECTORにあるキャッシュ制御ソフトはCx486DLC/SLC用でTI486SXL-40に対応を明言しているものは見つけられませんでした。(シェアウェアにはあるのかもしれませんが…)そこでTI486SXLをお使いの(またはお使いの経験のある)方にアドバイスを頂けたらと思い書きこみをさせていただきました。

現在の環境はこのような状態です。

PC-9801RA21相当(元は51ですがSASI-HDDは取り外したため。)

CPU   TI486SXL-40(CPU内部は40MHz駆動。8Kバイトキャッシュ内蔵)
コプロ HDA-PC20W上にあり
メモリ 本体1.6+メルコ製EDAの4M+EDA上の61互換SIMM*3 計11.6Mバイト
拡張SLOT#1 86音源
    #2 MC55PCMZ(26K互換音源+MIDII/F+ほぼSC55互換音源)
    #3 MDC-926Rs
     (SCSI+高速シリアル ただし高速シリアルは未使用。95導入時にはICM製         SCSI+10BASETのIF-2771ETに換えるかも)
    #4 GA-1024A
HDD  エレコム製外付けSCSIドライブ540M
    領域1 MS-DOS6.2+WINDOWS3.1(通常はここから起動)
    領域2 MS-DOS6.2(486になったのでそのうちWIN95を入れる予定)
    領域3 MS-DOS3.3D

※音源ボードが二枚あるのはMDXデータ再生のためで、PCM86のためにEMSを2Mバイト確保しています。このためEMSのために確保するメモリが固定(例えば4ページ=64Kバイト)というタイプのメモリドライバ(確かVEM486とか…)は使えないのです…。

DOS6.2なので最後の手段としてマルチコンフィグやインタラクティブブートでしのげないことはないのですが、もしよい方法をご存知の方がいらしたらよろしくお願いします。
  1. SINJI さん   2003-10-01 21:18:37
    TI486SXL-40のキャッシュ制御をMELEMM.386では行っていないと思います。まずはconfig.sysとautoexecc.batの内容を教えてくださればここならわかる方がいると思います。
  2. 総額7600円 さん   2003-10-02 09:15:57
    キャッシュコントロールだけならVEM486でできます.
  3. 青星 さん   2003-10-02 21:44:02
    SINJIさん、総額7600円さんご教授ありがとうこざいます。お二人のアドバイスをもとにMELEMM.386とVEM486を使ってそれぞれ試してみました。AUTOEXEC.BATとCONFIG.SYSは次のとおりです。(長文になってしまい申し訳ありません)

    AUTOEXEC.BATは共通です。

    @ECHO OFF
    PATH A:;A:DOS;A:BAT;A:TOOL;A:DRIVERS;A:WINDOWS;
    SET TEMP=G: ※G:はRAMディスクになります。
    SET DOSDIR=A:DOS
    PROMPT=$P$G

    当初のCONFIG.SYS

    FILES=30
    BUFFERS=10
    SHELL=A:COMMAND.COM A: /E:1024 /P
    DEVICE=A:DOSHIMEM.SYS
    DEVICE=A:DOSEMM386.EXE /P=128 /UMB
    DEVICE=A:DOSRAMDISK.SYS 1024
    DOS=HIGH,UMB
    LASTDRIVE=Z

    MELEMM.386を組み込んだCONFIG.SYS

    DEVICE=A:DRIVERSMELEMM.386 /CX
    FILES=30
    BUFFERS=10
    SHELL=A:COMMAND.COM A: /E:1024 /P
    DEVICE=A:DOSRAMDISK.SYS 1024
    DOS=HIGH,UMB
    LASTDRIVE=Z

    起動時に「RAMディスク用のメモリが確保できません。」と「HMAは使えません。MS-DOSは下位に読みこみます。」というエラーが出ます。またWINDOWSの起動はできません。なお、実際にキャッシュをONにするのは添付の「PQCACHE.COM」というソフトのようです。

    「MEM」コマンドを実行すると次のようになりました。(部分)
    メモリの種類     合計     使用     空き
    XMS      11288K 11746K  546K 
    全EMSメモリ  10944K
     
    VEM486を組み込んだCONFIG.SYS

    DOS=HIGH,UMB
    DEVICE=A:DRIVERSVEM486.EXE /U /TI /C+ /CI
    DEVICEHIGH=A:DRIVERSVEMEMM.SYS
    FILES=30
    BUFFERS=10
    SHELL=A:COMMAND.COM A: /E:1024 /P
    DEVICE=A:DOSRAMDISK.SYS 1024
    LASTDRIVE=Z

    RAMディスクはメルコの時と同様メモリの確保ができず、エラーが出ます。WINDOWSはタイトルの所で止まりました。(やはりドキュメントに書かれているようにVEM486はWINDOWSでは使えないのでしょうか?)

    MEMコマンドの結果は
    メモリの種類     合計     使用     空き
    XMS      11148K   332K 10816K 
    全EMSメモリ  10944K
    となりました。

    MELEMMとVEM486はなぜこんなにEMSを確保するのか、RAMディスクはなぜ使えないのか、キャッシュを有効にしつつWINDOWSを使う手はないのか…と疑問はつきないのですが、もう少しヒントを頂けたらと思います。どうぞよろしくお願いします。

    ちなみにキャッシュをONにすると386の時は13くらいだったCPUBENCHの値が41くらいになりました。
  4. Niimi さん   2003-10-03 11:19:32
    # どちらかといえば「MMX化計画」ネタのような……

    MELEMM.386でHIMEMやWindowsを使う時はいろいろオプションが必要です。
    具体的な一覧はバッファローの以下のPageを参照してもらうとして、
    http://buffalo.melcoinc.co.jp/qa/2034.html

    あたしが以前使ってた時は以下の設定をしてました。
    DEVICE = A:DEVMELEMM.386 /M D0,D4,D8,DC,E8,EC,F0 /NECWIN /SW1 /NC /HM
  5. 総額7600円 さん   2003-10-03 11:49:31
    >VEM486はWINDOWSでは使えないのでしょうか?
    Windows3.1で実際に使えないかどうかは存じませんが,Windows95まで対応した最終β版は作者のサイトが消滅したとかで入手不可能とのことです.
    >キャッシュを有効にしつつWINDOWSを使う手はないのか
    http://www2s.biglobe.ne.jp/~a-a-net/pasocom/rx21.htm
    あたりの応用でイけませんか?(Windows3.1では試したことことがないのでわかりませんが)
    なおご存じと思いますが,Windows95用のキャッシュコントローラはバッファロー(社名変わったんですね)のサイトにあります:
    http://buffalo.melcoinc.co.jp/download/driver/cpu/hsp-dl.html
  6. maya さん   2003-10-03 16:01:31
    VEM486でCPUキャッシュをonにしてからHSBでリブートしてみては駄目でしょうか?
  7. amg さん   2003-10-03 22:11:14
    >Windows3.1で実際に使えないかどうかは存じませんが
    会社のV20/Sの3.1で使えてるような?
    ・・・果たしてVEM486だったかは?です。なにせDOS起動は間違いなくVEM486だけど、余りにきわどい設定の為、実務はHSB再起動だからなぁ。
  8. 青星 さん   2003-10-04 02:06:45
    多くのアドバイスをありがとうございます。(わざわざ検索して頂いたみたいで…色々お手数をおかけしました。)
    おかげさまで問題の解決にはいろいろな手段があり、またそれぞれかなり深く突き詰める必要がありそうなことがわかりました。そこで、お寄せ頂いたご意見をもとにもう少し研究してみたいと思います。どうもお世話になりました。
  9. さくま さん   2003-10-04 17:42:36
    >MELEMMとVEM486はなぜこんなにEMSを確保するのか
    DOS用のドライバなので、DOSでは裏技を使わないとEMBを有効に使えないので

    >RAMディスクはなぜ使えないのか
    標準のRAMDISK.sysでは無理かもしれないけど、RZ4なら可能
    http://www.vector.co.jp/soft/dos/hardware/se000355.html
  10. EMS さん   2003-10-04 20:39:50
    >MELEMMとVEM486はなぜこんなにEMSを確保するのか
    メルウエアは、拡張メモリー(プロテクトメモリー)のほとんどをいったんEMSとして確保した上で、EMSから、Diskキャッシュ・RAMDISKとしてEMSのページを振り分ける仕様だったと記憶してますが・・
    私自身は、I・Oの「メモリーサーバー」でVMM386.EXE(SYS)をもっぱら使ってましたが、RAMDISK.SYS /E でEMSから /XでXMSからの領域を振り分けていたような
    拡張オプションで、EMSからページングするように設定すれば、解決できないかな?
    MELEMM.SYS /?で オプション機能を表示できたような 不確かな記憶ですが
  11. SRX250F さん   2003-10-05 03:48:18
    >DEVICE=A:DRIVERSMELEMM.386 /CX
    私のDAには、昨年までメルコの「HDA-C20T」を使ってました。
    「HDA-PC20W」http://www.buffshop.com/old/ca_386/ca_hdapcw.htm
    「HDA-C20T」http://www.buffshop.com/old/ca_386/ca_hdact.htm
    を見ると、同じCPUを使っていると思います。
    そこで「HDA-C20T」の経験で言いますと、「MELEMM.386」のオプションは「/cx」ではなく「/bl」でした。
    どうやら「/bl」は通常の「MELEMM.386」には存在しないオプションで、「HDA-C20T」付属の「MELEMM.386」でないと「/bl」は使えなかったと思います。

    >起動時に「RAMディスク用のメモリが確保できません。」と「HMAは使えません。MS-DOSは下位に読みこみます。」というエラーが出ます。
    >またWINDOWSの起動はできません。
    これは「MELEMM.386」でXMSを使うためのオプション「/hm」が設定されていないからと思われます。
    DOS標準の「HIMEM.SYS」と同じ事が出来るオプションだったハズです。

    >添付の「PQCACHE.COM」というソフト
    これも「HDA-C20T」の経験で言いますと、「BLCACHE.EXE」というソフトでした。
    「MELEMM.386」の「/bl」オプションが仮想モードにおけるキャッシュ制御であるのに対し、「BLCACHE.EXE」はリアルモードでのキャッシュ制御を行うドライバーだったハズです。

    >Windows95用のキャッシュコントローラ
    「HDA-PC20W」の場合のやり方は↓にありました。
    http://buffalo.melcoinc.co.jp/qa/2314.html#4

    >拡張メモリー(プロテクトメモリー)のほとんどをいったんEMSとして確保
    「MELEMM.386」の場合は仮想モードでプロテクトメモリを仮想86EMSとして利用しています。
    アプリケーションがEMSを要求するかXMSを要求するかで確保した全メモリーの割り当て方を変えています。
    ですので、「DOSSHELL」等でメモリーをXMSとして確保されてしまうと、「DOSSHELL」上で別のアプリケーションを起動した場合にそのアプリケーションでのEMSの使用が出来なくなります。
    それを防ぐ為には予め「MELEMM.386」のオプションでEMSとXMSの容量を指定してやる必要があります。(「/xms」オプションでXMS側の容量を指定)
    #めったにそんなことにはなりませんので、そんな指定はやりませんでしたが...(^^;;
  12. KAZZEZ さん   2003-10-05 17:31:02
    >「HDA-PC20W」http://www.buffshop.com/old/ca_386/ca_hdapcw.htm
    >「HDA-C20T」http://www.buffshop.com/old/ca_386/ca_hdact.htm
    >を見ると、同じCPUを使っていると思います。
    HDA-PC20Wのほうは、上の欄にIBM製BLUE LIGHTININGTMMPU(486DLC3)搭載
    と書いてありますが、下の欄にはTI486SXL-40搭載と書いてあるので、
    誤植の可能性があります。
    >BLCACHE.EXE
    >MELEMM.386 /bl
    そんなわけで、これらはIBMのBlue Lightning用ということで、
    TI486SXLが、Cx486DLC互換なのか、IBM486DLC互換なのかの問題だと思います。
    私はTI486はCx互換のSLC/DLCしか持っていないのでわかりません。

    >どうやら「/bl」は通常の「MELEMM.386」には存在しないオプションで、
    >「HDA-C20T」付属の「MELEMM.386」でないと「/bl」は使えなかったと思います。
    単にバージョンの違いなのではないかと思います。
    ECE-4000(Ce用親亀)付属のMELEMM.386にはあるようでした。
    といってもDOCではHRX−C12Q(286用4倍速)用として説明されていますが。

    HDA-C20Tらしきものは私もH98/70で無理矢理使って、なぜか100MHzが通っていました。(^^;)
    FDDやNESAボードが使えなくなったり、SCSIがSMIT転送だとレジストリ破壊が起きましたが、
    パフォーマンスがよかったのでFIFOでどうにか使っていました。
  13. SRX250F さん   2003-10-06 04:03:04
    >下の欄にはTI486SXL-40搭載と書いてある
    そうですね 誤植のようです。(汗)
    ということは、今回の「RAMディスクはなぜ使えないのか」&「WINDOWSの起動が出来ない」という問題に対しては「MELEMM.386」でXMSを使うためのオプション「/hm」が設定されていないからだと思います。

    >単にバージョンの違いなのではないか
    はい バージョン違いということを言いたかったのです。
    付属させる機器に合わせた「MELEMM.386」が数種類存在しているのではないかと思います。
    そこで、久々にDAを立ち上げて調べてみました。
    ハードディスクに残っている「HDA-C20T」用の「MELEMM.386」のマニュアルには
     「/cx」Cx486DLC/SLCのキャッシュ制御情報の設定
     「/rl」HRLのキャッシュ制御情報の設定
     「/bl」HDA-C20T/HRX-C12Qのキャッシュ制御情報の設定
    と書いてありました。
    #「HDA-C20T」だけでなく「HRX-C12Q」のオプションも「/bl」だったんですね〜
    次に現使用中の「HUD-H0M」用の「MELEMM.386」のマニュアルには
     「/cx」Cx486DLC/SLCのキャッシュ制御情報の設定
    という記述のみでした。
    これはメモリーの「EDA-6000R」付属の「MELEMM.386」のマニュアルと同じでしたが、「HUD-H0M」の「MELEMM.386」には16M以上のメモリーを認識するためのオプション「/exmem」が追加されていることによる違いがあるのでしょう。
    尚、マニュアル上では「HDA-C20T」だけが「MELWAREver5」となっており、他は「MELWAREver5.1」でした。
    ちなみにタイムスタンプで比較すると
    「HDA-C20T」の「MELEMM.386」 1994-08-26 08:58:30
    「HUD-H0M」の「MELEMM.386」 1995-11-08 00:00:00
    「EDA-6000R」の「MELEMM.386」1994-02-08 19:16:46
    となっております。
    同じ「MELWAREver5(&ver5.1)」のシリーズでも、数種類の「MELEMM.386」が存在しているようです。
  14. KAZZEZ さん   2003-10-06 06:00:35
    なるほどそうでしたか、話がそれて恐縮ですが、
    もう一度ECE-4000を引っ張り出してきました。
    中古なので(ちなみにカスケードウィルスが入っていたりします;汗)
    付属のものという確証はありませんが、
    MELWARE ver5 DISK
    「MELEMM.386」 94-04-28 12:59:44
    MELWARE for Windows ver1 DISK
    「MELEMM.386」 94-02-16 14:29:48
    でした。後者は圧縮ファイルなので中身が確認できず、
    /BLがあるかどうかはわかりませんでしたが、
    ルートのREADMEには/CXだけ記載されています。
  15. 青星 さん   2003-10-06 22:07:09
    私が最後に書きこみをした後にも情報が下さった方がいらしたようで…。
    お礼が遅くなってしまい申し訳ありません。

    おかげさまで、なんとかWindowsを起動することができました。
    まだ理解できていない部分もあるのですが、MELEMM.386のオプションを/NECWIN /NC /HM /CXとすることで動かすことができました。

    RAMディスクの方はまだ動かせませんが、フリーソフトやMELWEARのついたメモリを秋葉原で捜索するなどして何とか使えるようにしたいと思います。
    どうもありがとうございました。
  16. SRX250F さん   2003-10-07 05:43:05
    >青星さん
    Windowsは起動できましたか。おめでとうございます。
    しかし、RAMディスクの方は謎ですね。
    詳しくないのですが「DEVICE=A:DOSRAMDISK.SYS 1024」の場合はXMSメモリを使う設定だと思います。
    ですので「MELEMM.386」で動かない理由が思い当たりませんが...(悩)
    もしよろしければ、EMSメモリを使う設定でRAMディスクが使えるかどうか試してみてはいかがでしょうか?
    「DEVICE=A:DOSRAMDISK.SYS 1024 /E」とすればEMSメモリを使う設定になると思われます。

    >KAZZEZさん
    見事にタイムスタンプがバラバラですね。
    これだけバージョン違いがあるとは...おどろきました。
    かえって使い方が難しくなっているような気がします。(滝汗)
  17. 総額7600円 さん   2003-10-07 08:20:32
    今更ですが,HDA-PC20WとHDA-C20T(J)とは搭載CPUが異なります.Windows95でのキャッシュコントローラも別物です:
    http://buffalo.melcoinc.co.jp/qa/2314.html
  18. 青星 さん   2003-10-07 22:40:50
    SRX250Fさんに教えていただいたとおりRAMDISK.SYSに/EオプションをつけてEMSから確保するようにするとRAMディスクが使えるようになりました。(どうやらXMSからRAMディスクをとるにはメルコ製のXMSDISK.EXEが必要なようです。)
    これで交換したCPUの力を引き出しながら以前と同じ環境を構築することができるようになります。本当にお世話になりました。
  19. SRX250F さん   2003-10-08 04:09:22
    >青星さん
    RAMディスクが使えましたか。おめでとうございます。
    XMSを使う設定で動かない理由は判りませんが、目的が達成できて良かったです。(^^;;

    >総額7600円さん
    やはりCPUが違うのですね。御指摘ありがとうございました。
    自分でも上の方で「Windows95用のキャッシュコントローラ」について記述しておきながら、間違いに気付かなかったとは...もうしわけないです。(滝汗)