[2213]  DOS/16M Error?
投稿者:hase さん   2001-11-05 14:26:13
386GSを使用しているhaseと言います。
よろしく、お願いします。

初歩的な質問なのかも知れませんが、皆さんの御知恵をお借りしたく、掲示板に記載させて頂きました。

現在の環境は
機種 エプソン386GS
メモリ 1.6M
HD   120M
OS MS-DOS 5.0A

autoexec.bat
path a:edt;a:dos;d:;b:ec
a:dosspeed rs232c-0 19200 bit-8 parity-none stop-1 xon
set dos4=quiet
set thome=a:toshiba
set thome900=a:,oshiba
set tmp=b:\nset dos16m-1
cd ¥toshibain

confing.sys
files=40
buffers=10
shell=command.com/p
device=a:doshimem.sys
device=a:dosemm386.exe
rem device=adossetver.exe
devicehigh=a:doskkcfunc.sys
lastdrive=z
rem device=a:melwaremelemm.386 /nc/ hm/ m/ do,d4,dc
rem devicehigh=a:melwarexmsdisk.exe 14336
rem devic=a:melwarexmscache 4096
device=a:dosmouse.sys
devicehigh=a:dos sdrv.sys
devicehigh=a:dosprint.sys
dos=high,umb
break=on

と言う環境の中に、制御用コンピュータ(tlcs-900)のアセンブラソフト(asm900.exe)を入れ、付属のサンプルプログラムを動かしてみた所、以下のようなerrorga出ました。

dos/16m error
[17] system software cloes not follow vcpi or dpmi specifications

ちなみに、configでemm386.exe /umbを入れるとconfigの読み込みのところでエラーが
出ます。

メーカーの説明では、NECのパソコンでは動作確認がされているが、エプソンのパソコンでは
確認をしていないとの事で皆さんの御知恵をお借りいたしたくお願いします。

今回のエラーの内容が良く分からないのと、解決の手立てがあるのか、お願いします。

  1. まぁくん さん   2001-11-06 09:40:38
    あのー、エラーメッセージを見る限りでは
    メルコのmelemm.386(EMSドライバ)が
    そのアセンブラソフト(asm900.exe)の利用する
    VCPI(Dos Protected Mode Interface)/
    DPMI(Virtual Control Program Interface)ファンクションに
    非対応なだけな気がしますが…
    # BolandのQ&Aにも似たような事例がありますしー
    # http://www.borland.co.jp/qanda/lang/l0000752.html

    EMSドライバを5.0A標準のEMM386.EXEとDPMI.EXEの組み合わせや、
    VCPI対応のVEM486とかにしてみては?
    http://www.borland.co.jp/qanda/lang/l0000752.html

    なんにしてもゑぷ機の問題ではなく、DOS汎用な問題な気が。(^^;
    # このConfig設定で本家NEC機では動作したのですか?
  2. BiLateraL/NaO さん   2001-11-10 17:34:55
    config.sysみると、もろに、DOS添付のメモリマネージャ使ってますね。EMM386.EXEのエラーメッセージは、ただ出ているとかくのではなく、内容を提示しないと意味がありません。まず、まぁくんさんが書かれていることを元にどうなったのでしょうか。おせっかいですけど、業務か研究に使っていらっしゃるようですが、大丈夫なのでしょうか。

    386GS・・・京都マイクロコンピュータ製(だったと思います)のDOSエクステンダなら心当たりはありますけど、このDOS/16Mの場合は該当しなさそうですね。
  3. WELLNOW さん   2001-11-11 03:03:21
    WELLNOWと申します。
    そのエラーメッセージ、似たようなのを見たことが有ります。たしかEPSON機って
    PC-486GR/GFまでの世代は、15MB以上のメモリアドレス空間にアクセス出来ない
    ような仕様になっていたと思うのですよ。Canopusとかのアクセラレータボード
    とかにも、そのような記述が書いていました。その場合は、Canopusのアクセラ
    レータボードに付いていた、f.exeと言うのを1回実行しておけば、アクセス可能
    になっていたと思います。だいぶ昔の事なので、f.exeだったと思いますが・・・
     後、思いつくのが、MS-DOS5.0Aと言うOSですね。これNECの奴ですが出来れば
    Format.exeのバージョンを確認していただけますか?パッチを当てないと、5.0A
    は色々な不具合が確認されています。具体的にはFormat.exeが5.5以上が望まし
    いです。
     それと、もう1つ気になるのがNECのDOS5そのものの仕様なのですが、EPSON機
    で使用すると、メモリカウントをなんだかの形でミスする事が有った記憶が有り
    ます。具体的には、NEC機では16MB超の場合、Autoexec.batの中に
    SET dos16m=1
    と書き、15MB以下だと
    SET dos16m=0
    と書かなければならなかったと思います。これは、NEC機でも起こっていた
    かもしれませんが・・・(DOS5.0Aはほんと、パッチを当てた奴を使って
    くださいm(_ _)m)
  4. さくま さん   2001-11-12 20:40:25
    >あのー、エラーメッセージを見る限りでは
    >メルコのmelemm.386(EMSドライバ)が

    REM文なんですけど?
  5. WELLNOW さん   2001-11-18 04:39:51
    あれから色々考えたのですが、まだ解決されたと言う書き込みがされていらっしゃらないので
    お節介と言うことで、お許し下さい。m(_ _)m
    具体的にはまあくんさん
    >そのアセンブラソフト(asm900.exe)の利用するVCPI(Dos Protected Mode Interface)/
    >DPMI(Virtual Control Program Interface)ファンクションに非対応なだけな気がしますが…
    の助言に付いてですが、EMM386.EXEの設定と、DPMIサービス
    の2つを実行する必要が有るかも知れません。
     まずConfig.sysのEMM386.EXEの欄ですが、
    device=a:dosemm386.exe
    この設定だけでは、色々不具合が有ると思います。
    私の場合を書いておきます。(CバスSCSI IFが有る環境です)
    device= a:ootxmsemm386.exe /f=c000 /i=a500-a7ff /i=d000-dbff /i=e800-f3ff /dpmi /highscan /verbose /umb
    まず、/USBが無いと、DOS=High,umbの設定が生きません。
    /iは具体的にどこをUMBに指定しているのかと言うことです。
    /fはEMSのページフレームの先頭アドレスです。
    そして今回最も重要なのが、/DPMIです。これを書かないと、DPMIを必要とするソフトは
    動きません。
     後、DPMIを有効にするためには、MS-DOS5.0Aに付いているDPMI.EXEを実行する必要が
    有ります。これで、DPMI関連を必要とするソフトは動くと思います。上記の方々の書き込
    みも参照して、がんばってみてください。
  6. カーネルアンドピーチ さん   2001-11-26 19:33:00
    一応486GR(NEC DOS5.0A)を参考にして記入致します。

    ****CONFIG.SYS****

    device = a:doshimem.sys
    dos = high,umb
    device = a:dosemm386.exe /UMB
    files = 30
    buffers = 10
    lastdrive = z

    shell = A:COMMAND.COM A: /p /E:1024

    devicehigh = a:doskkcfunc.sys

    REM NECAI日本語辞書が有れば書き込んでください。
    REM CTRL+XFERで日本語入力が出来ます。
    DEVICEHIGH = A:DOSNECAIK1.DRV
    DEVICEHIGH = A:DOSNECAIK2.DRV A:NECAI.SYS

    devicehigh = a:dos sdrv.sys
    devicehigh = a:dosprint.sys
    device = a:dosmouse.sys
    break = on

    ****AUTOEXEC.BAT****

    path a:edt;a:dos;d:;b:ec

    REM 19200なんてスピードこの当時無かったような?略式記入です。
    REM 環境設定メニュー(HELPで機動)に詳しく載っています
    REM とりあえずスピードは9600にしてSP1はSP2にしてあります
    a:dosspeed R0 9600 B8 PN SP2 NONE

    REM ここからは私には分かりません
    set dos4=quiet
    set thome=a:toshiba
    set thome900=a:,oshiba
    set tmp=b:\n
    REM 環境設定メニュー(HELPで機動)に(486GRの場合ですけど)
    REM 16MB以上のメモリーを使用する為のスイッチが有りました。
    REM ここはWELLNOWさんのレスを参考にすれば set dos16m=1 なんですけど?
    REM 一応REMをかけておきます。
    REM set dos16m-1

    cd ¥toshibain
  7. カーネルアンドピーチ さん   2001-11-27 08:38:12
    >configでemm386.exe /umbを入れるとconfigの読み込みのところでエラーが出ます。
    お使いのメモリーってEMS対応なのでしょうか?
    未対応でしたらemm386.exeは使用出来ません。

    >メーカーの説明では、NECのパソコンでは動作確認がされているが、
    >エプソンのパソコンでは確認をしていないとの事
    会社の486GRではしっかりNEC DOS5.0Aが動いています。
    (私が入れたわけではなく或る業者がこのシステムをいれたわけで)

    AUTOEXEC.BATの先頭に追加してみてください。
    @ECHO OFF
    PROMPT $P$G
  8. ZAD さん   2001-12-09 13:00:38
    >メモリ 1.6M

    オモイキリ外してる気がしますが。。。
    これはノーマルのメモリ搭載状態と考えてイイのですか?
  9. WELLNOW さん   2001-12-17 21:50:53
    カーネルアンドピーチさん、ZADさん、初めまして。
    >メモリーってEMS対応
    386GSデフォルトが、1.6MBでプロテクトメモリ対応だと思いますから、XMS(VCPI・DPMI)・EMSが行けると思います。
    >ノーマルのメモリ搭載状態
    だと思います。なので
    SET DOS16M=0
    とかかねばならなかったと思いますが・・・・
  10. カーネルアンドピーチ さん   2001-12-19 20:18:44
    PC−386Gのユーザーズマニアルが残っていました。
    (たぶん386GSとそう違いが無いと思うのですが)
    それによるよ、
    >標準搭載メモリ容量1.6MBEMSやプロテクトモード対応のソフトを有効に活用
    と書いて有りました。
    まさにWELLNOWさんが書いてあるとうりでした。m(_ _)m