[49396]  バンクメモリ使用時の本体メモリの設定
投稿者:青星 さん   2005-02-28 00:38:01
こんにちは。15年ほど時間のズレた話題で恐縮ですが、よろしくお願い致します。

先日IOデータ製の「PIO-PC34HA」というプロテクト・バンク・EMS兼用のメモリボー
ドを入手したのですが、このボードを「バンクメモリ」として使う時は基本的に本体
メモリを512Kに設定しなければならないのでしょうか?
(コンベンショナルメモリの512K〜640Kの部分を切り替えて使うというバンクメモリ
の原理を考えると当然といえば当然なのかもしれませんが、いちいちディップスイ
ッチとメモリスイッチを設定して再起動するのは不便な気がします。過去ログによる
と「機種とメモリ管理ソフト(MELEMM.386など?)が対応していればこの設定は不
要」という情報もあるようですが、FD起動のソフトではそうはいきませんし…。)

「BMAP」のような状態表示ツールや手持ちのバンクメモリ対応ソフト(マイクロキ
ャビンの「サークII」など)では、本体メモリを512Kにしないとバンクメモリを認
識しないようなので、やはり無理なのかな…とも思うのですが何かよい方法はないも
のでしょうか?

用途と環境はこのような感じです。

☆用途
HDDにはインスインストールできないが、バンクメモリには対応するファルコムや
マイクロキャビンのゲームを快適に(またはFDDを傷めずに)楽しみたい。
(例「ドラスレ英雄伝説(I)」「幻影都市」など…)

☆環境
使用するボード
IOデータ PIO-PC34HA (2メガバイトモデル)
※98JUNK.DOCのPIO-PC34Fシリーズの設定を参考に設定しています。

 SW1-1 ON
 SW1-2,3 OFF,ON
 SW1-4 ON
 SW1-5〜8 OFF,OFF,OFF,OFF
 SW2-1〜6 OFF,OFF,ON,OFF,OFF,OFF
 SW3 1
 SW4 2

☆装着した機種
PC-9801RX2(メモリ専用スロットにプロテクトメモリを3Mバイト増設済み)
(以上の設定をすると起動時に「コンベンショナルメモリ+5120K」と表示)
なお、メディアが3.5インチのソフトのために9821Ap3/Anにも装着する予定もあります。

☆その他
メルコ製のEMJ8000も一応あります。(本当のことをいうと容量の大きいこちらを使って
みたいのですが。)ただ、メーカーのサイト上の情報を見る限りこのボードもバンクメモ
リとして使う場合、本体メモリを512Kにすることが前提になっているようです。

大昔の話でご記憶の方も少ないとは存じますが、どうぞよろしくお願い致します。
  1. KAZZEZ さん   2005-02-28 03:13:57
    > 以上の設定をすると起動時に「コンベンショナルメモリ+5120K」と表示
    もしかしてCバスメモリがプロテクトメモリに設定されていませんか??
    バンクメモリに設定されていれば起動時にカウントされることはないと思います。

    手持ちのMEMORY SERVERでスイッチ設定を調べましたが、
    PIO-PC34HAという選択肢はありませんでした。
    PIO-PC34Hシリーズは6連SWが2個みたいでしたから、
    8連SWやロータリーSWがあるならPC34FXシリーズに近いのでしょうか?
    以下はRXで512-640KBを切離したとき用の(=BANK0から始まる)
    PC34FX向けのIOバンク専用の設定です。
    SW1: ON ON OFF ON OFF OFF OFF OFF
    SW2: すべてOFF
    SW3: 5
    SW4: 0

    RXであればたしかBANK領域のソフトウエア切離しに対応していましたので、
    必ずしも512-640KBを切り離さなくても(ドライバが対応していればですが)、
    バンクメモリをBANK1以降に設定することで使えるケースもありましたし、
    また0番目のバンクがリニアメモリ相当になっているので、
    512-640KBを切り離したときにバンクメモリがBANK0から始まる設定になっていれば、
    メモリスイッチは640KBのままで使えるのではないかと思います。

    しかし各ソフト独自のドライバであれば、そうした機能に対応しておらず、
    512-640KBを切離したりメモリスイッチを変える必要はあるのかもしれません。
    各ソフトで実際に試してみる必要があると思います。

    各ソフトではどのようなドライバがバンクメモリを使用しているのでしょうか。
    たとえば一太郎3のCACHE.SYSと同じ物であるなど、
    ドライバの素性が分かるようなことがあれば、
    より的確な設定が分かるかもしれません。
  2. 青星 さん   2005-03-01 00:31:37
    KAZZEZさん、こんにちは。情報ありがとうございます。

    >もしかしてCバスメモリがプロテクトメモリに設定されていませんか??
    >バンクメモリに設定されていれば起動時にカウントされることはないと思います。

    仮にPC34HAの設定がPC34FXと同じだとすると、PC34HA上のメモリすべてをバンクメ
    モリとして使うにはSW4を2から0にすればよいみたいですね。(この設定をすると起
    動時の表示は「プロテクトメモリ+3072K」になりました。)あとはバンク領域のソ
    フト切り離しに対応しているメモリドライバを探せばわずらわしいメモリスイッチの
    設定からは開放されそうですね。(MemoryServerIIにはバンクメモリ用のBMS.SYSが
    ついてきた記憶があるのですが、FDが行方不明なので後日試してみることにしたい
    と思います。)

    ただ、ファルコムやマイクロキャビンのバンクメモリドライバはメインメモリを512K
    にしないとバンクメモリを認識してくれないようなので、「ゲームを快適に…」とい
    う当初の目的を果たすためには素直にメモリとディップスイッチを設定しなければな
    らないようです。

    おかげさまで問題解決の糸口がみつかりました。このたびはどうもありがとうございました。
  3. KAZZEZ さん   2005-03-01 11:37:22
    そのソフトのことはよく知らないので違っていたら恐縮ですが、
    そのソフトはBMSには対応しているでしょうか?

    バンクメモリが無くても一応動くソフトなのであれば、
    ディスクキャッシュまたはRAMディスクだけ実現するものかもしれません。
    もしそうだとすれば、特にBMS独自の機能を用いるソフトでない限り、
    BMSマネージャを介すことはメモリを消費するので、ゲーム用途には不向きと思います。
    # 従来のバンクメモリ用ディスクキャッシュ/RAMディスクドライバは、
    # メモリマネージャを使わず、ドライバが直接バンクメモリを使います。

    またMEMORY SERVER IIのほうはWindows3.1向けに、
    386以上用の仮想EMS機能が中心だったと思いますが、
    もし、プロテクトメモリによる仮想BMSなどを使う手順を想定されているのでしたら、
    動く可能性はともかくとして、RXの場合はCPUアクセラレータが必要になります。

    ただ、もし本当にディスクキャッシュを実現しているだけとかでしたら、
    保証外ではありますが、HIMEM.SYS + DOS=HIGH + XMS用ディスクキャッシュドライバ
    を、起動FD(安全のため運用コピーを使用の事)に組込むという手もあるかもしれません。
    もちろん、動く可能性はともかくとしてですが。

    (追記訂正)
  4. 青星 さん   2005-03-01 22:22:05
    こんにちは。たびたびすいませんです。m(__)m

    >そのソフトはBMSには対応しているのでしょうか?

    確かにすでにソフト内部で対応しているものに、わざわざBMSのドライバを用意してメモリを消費することはないですよね。こういう場合は素直に用意されたバンクメモリドライバを使おうと思います。でも増設メモリに特に対応していないソフトに新たにHIMEMとXMS対応のキャッシュドライバを組み込むというアイディアはおもしろそうですね。独自DOSとフォーマットのソフトは難しいですが、後からMS-DOSを組み込むタイプのソフトやMEGDOSなど互換DOSを使っているソフトなら挑戦してみるのもおもしろいかも…。ただ、バックアップの際にプロテクトがカベになりそうですが…。(これさえなければ仮想FDという手段も使えるのに…。)

    ところで、「MEMORYSERVER」のIとIIってレスしていただいたお話からすると結構内容が違うようですね。私も昔のボードを入手した時のためにIの方を捜索してみたいと思います。

    いろいろ調べて頂くなどこのたびはたいへんお世話になりました。どうもありがとうございました。
  5. MT さん   2005-03-01 23:13:16
    バンクメモリ使用時、メモリスイッチのメモリサイズ設定は640Kで使用します。
    バンクメモリのバンク00はメインメモリ扱いで、バンク01以降を増設分として使用するからです。
    ただし、このとき、メインメモリの08・09バンクとしてバンクメモリボード上のメモリを使用するため、この領域に対するアクセス速度が低下してしまいます。
  6. KAZZEZ さん   2005-03-02 00:10:35
    >バンク領域のソフト切り離しに対応しているメモリドライバを
    >探せばわずらわしいメモリスイッチの設定からは開放されそうですね。
    あ、そうか。そういう解釈をしていたのですね。失礼しました。
    メモリスイッチ640KBで使えるかどうかと、
    ソフト切離しに対応したドライバかどうかは別の話です。

    ソフト切離しに対応したドライバは限られると思いますが、
    そうでなくてもDIP-SW 3-6で物理メモリを切り離している場合、
    MTさんの言うように、BANK0から始まる設定になっていれば、
    多くの場合はメモリスイッチで640KBのままで使えると思います。

    問題は、メモリスイッチを512KBにしないと認識しないという点ですが、
    恐らくボードのスイッチ設定が正しくない(BANK0からになっていない)
    ものと思われます。

    ドライバが各ソフト独自であれば断言はできませんが、
    1.での主旨はそういうことです。

    もしMEMORY SERVERが見付かれば、ボードのスイッチ設定を
    自動で調べてくれる機能がありますから、参考になると思います。
    # 選択肢にPIO-PC34HAがあるかどうかの問題はありますが。
  7. 青星 さん   2005-03-02 22:31:19
    KAZZEZさん、MTさん、こんにちは。今日もお世話になっております。(^_^;)

    お二方の情報をもとに、
    ○PIO-PC34HA上のディップスイッチ1-5〜8をOFF,OFF,OFF,ONにして
     「512K以上からの増設」に設定。
    ○本体のディップスイッチ3-6をONにして本体メモリを512Kに。
    ○メモリスイッチは640Kのまま
    にしてみたのですが…。起動時に本体メモリを512Kまで数えたところで
    「MEMORY ERROR 080000 FEFE」の表示が出た後プロテクトメモリのカ
    ウントに進む、という状態になってしまいました。どうもコンベンショ
    ナルメモリの最後の128Kの部分がPIO-PC34上のメモリの方へにうまく
    割り当てられていないような感じなのですが、私の設定がどこか間違っ
    ているのでしょうか?(たぶん私が教えていただいた内容をきちんと理
    解していないせいだと思うのですが…)

    あと、今まで気がつかなかったのですが、PIO-PC34HA上の6連ディップと
    8連ディップとの間にジャンパがひとつあるのですが、これは…?(「ON」
    と書かれている方に移動してみましたが何か変化した様子はありませんでし
    た。)

    お忙しいところ恐縮ですが、もう少しおつきあい頂ければ幸いです。

  8. KAZZEZ さん   2005-03-04 00:45:51
    手持ちのCバスメモリを発掘し、PC34FXとPC34HAを比べてみましたが、
    少しジャンパ線が飛んでいるほかは、全く同じ基板でした。
    違うのはほぼ名前の部分だけと言えそうです。
    そんなわけで、PC34FXの設定を全面的に信じて良さそうです。

    RA2(メモリ3.6MB)の512-640KBを切り離し、
    レス1.で示した設定でPC34HA-2Mを装着したところ、うまく
    メモリスイッチ640KBのままでバンクメモリ1920KB(=2MB-128KB)を認識しました。
    結局、IOバンク専用設定にするには本体メモリ(640KB以下メモリ)増設には設定せず、
    マルチモード(プロテクト+IOバンク)でプロテクトメモリを0MBに設定するようですね。
    バンクメモリのアドレス設定は98JUNK.DOCにも無いようですが、
    SW2がすべてOFFでバンク0からということは、
    その後もなんとなく予測できそうです。

    なお、古いCバスボードは端子の接触が悪いことがありますので、
    念のため何回か抜き差しもしてみてください。
  9. KAZZEZ さん   2005-03-04 10:47:12
    ちょっと訂正

    > マルチモード(プロテクト+IOバンク)でプロテクトメモリを0MBに設定するようですね。
    失礼しました。たぶんセパレートモードですね。
    どちらにせよ1.の設定の通りなら問題無いと思います。
  10. 青星 さん   2005-03-06 01:06:21
    KAZZEZ さんこんにちは。わざわざ発掘作業までして頂いて恐縮です。

    改めてレスして頂いた内容を読み返し、「レス1」で教えて頂いた通りの
    設定にしたらうまくいきました!バンクメモリ状態表示ツールによる確認
    もできましたし、ゲームソフトもきちんとバンクメモリを認識してくれま
    した。(もちろんディップスイッチやメモリスイッチの設定はそのままで
    OKです。おかげさまでゲームでは戦闘やマップ切り替え時のディスクア
    クセスが目に見えて減りました。(^_^))

    …というわけで、無事当初の目的を達成できたのですが、最初からレス
    1で教えていただいた通りに設定していれば、一週間にも渡ってお手を
    煩わせてしまうことはなかったですよね。(「SW2は640K+3072Kの設
    定以外考えられない」「セパレートモードでは動かない」など自分の思
    い込みに固執してしまったため、SW2やSW3の他の組み合わせは全
    然試さずに「動かない」と決め付けてしまっていました。)この点はご
    迷惑をお掛けしてしまったわけで、反省しております。m(__)m))

    この度は本当にお世話になりました。どうもありがとうございました。