I-O DATA PC34シリーズEMSボードをROMエミュレータにする

PC34D0 1.10 使用説明書 Copyright(C) 2021 まりも

■ このプログラムの意義

  I-O DATA PC34シリーズEMSボードは、ハードウェアリセットではメモリ内容が 初期化されないという設計になっています(電源を落とすと初期化されます)。 これを利用して、通常はハードウェアEMSあるいはUMBエリアとして使う所を 拡張ROM域に出現させて、ROMのように使うことができます。 そのためのプログラムを作成しました。 拙作のROMアプリケーションがEXIDE**などいくつかありますが、このEMSボードの 拡張ROM域にロードして実行できます。わざわざROMボードを用意する必要がなく なり、ジャンク市場に豊富に出回っているPC34シリーズ EMSボードが活用できます。 すなわち本プログラムはPC34 EMSボードをROMエミュレータとして活用するツールです。

■ 対象ハードウェア

PC34E/F/H/X 電源を落とすと内容が消え、次回起動時に初期化されます。
PC34R このボードは外部5V DC電源により内容は保持できます。

上記以外のボード(バッファロー製等)は対象外です。ノーマルモード専用です。ハイレゾモードでは絶対に実行しないで下さい(G-VRAMと重複します)。98本体は、後述の通りあまり古い機種は避けて下さい。

▲ メルコEMJ対応版UMB 2021-8-26 追記

 メルコのEMJボードはリセット時にマッピング解除となってしまうため、ROMエミュレータとして使うことができませんが、UMBとして使うためには問題ないので、そのためのIPLwareを作成しました。EMJUMB

■ 使用法

 いずれもピュアな(仮想86でない)DOSコマンドプロンプトで実行します。
PC34D0.EXE  
PC34D4.EXE  
LOADD0.COM  

 PC34D0 は、最初に実行しておくもので、これにより 拡張ROM域のD000:0からの 16KBに EMSボードがマッピングされ、以降普通にメモリとして使えるようになります。 そのほかA500:000〜A700:FFFの通常使いようのないところにもメモリがマッピング されます。こちらのエリアは然るべきUMBツールにてUMBとして使うことができます。

 LOADD0 はコマンド引数としてファイル名が必要です。指定するファイルは何でも 構いませんが、拡張ROMプログラムとして実用性のあるものを通常置いて下さい。 読み込むことができる最大ファイルサイズは8192バイトまでとなっているので 注意して下さい。

 リセット再起動後には、拡張ROM域のD000:0に置かれたROMコードが実行されます。 つまりROMエミュレータということになるわけです。いっぽうコマンド引数なしで 実行すると、D000:0の16KBをゼロクリアします。起動時ROMコードを実行したく なくなった場合にはクリアできます。もちろんわざわざクリアしなくても、ボードの 通電が途絶えれば消去されますが、DC電源でバックアップしているときにそれでは 不便なので、消去モードが用意されています。

■ さらなる使い方(オプションや改造)

 A5-A7エリアをUMBとして使う場合は、コマンドライン引数に A5 を指定してください。C0-CFエリアをUMBとして使う場合は、コマンドライン引数に C0 を指定してください。これらのオプションは一度にどちらか一方のみ指定可能です。どちらも使いたい場合オプションを変えては二度実行してください。出現の取り消しオプションは無いので、どうしてもその必要があれば、通電をやめるか後述のINITスイッチで初期化してください。

 このUMBエリアはEMUMBなどアドレスを指定できるものであれば利用できます。EMSメモリ付属のドライバ(EMM4Jなど)は使用できません。また仮想86によるUMBではこのエリアの物理メモリが使用されません。なおA5-A7エリアにROMイメージを置いてもスキャンされませんので、起動時の実行はできません。

 バイナリエディタで、LOADD0.COM の 00 00 00 0D の並びの箇所の最後のD0 をD4に変更すると、D400:0にロードするようになります。ということはその他の値にすると、その値のセグメントの物理アドレスにロードするプログラムにできます。PC34D4.EXE は D000:0では都合が悪いときのために用意してあります。適当に使い分けて下さい。またD2などにすれば、もう一つの別のROMイメージをD200:0から格納するようなこともできます。

■ ROMイメージを組み込むときの手順

 以上をお読みになってもわからない方がいらっしゃると思いますので、EXIDE**のROMイメージを組み込むことを想定した手順を書いておきます。
(1)PC34Rボードを装着し、外部DC電源を供給しておく
(2)容量過大のHDDは接続しないでDOSを起動し、PC34D0を実行
(3)LOADD0 EXIDE**.ROM を実行 **の部分はモノに合わせてください
(4)電源を切り、容量過大のHDDを接続
(5)電源投入後にはROMアプリケーションが実行され、容量過大HDDも認識

■ ハードウェア的諸注意

・PC34Rの設定

 本来はハードウェア設定ディスクが付属しており、そのプログラムで全てを EMSで使う設定にします。そうしないと本プログラムは機能しません。一部でも プロテクトモードメモリの設定があるとリセット後に初期化されてしまいます。 ハードウェア設定ディスクがない場合は、おふがお氏が作成した 「PC34メモ鯖ボウズ」 というものがあり、使用できます。これを使って全てをハードウェアEMSとして使う設定にしてください。ジャンクをゴミにしないで有効活用できる点で、大変有り難いソフトです。作者様ありがとうございます。

・PC34RのDC電源

 わたしが入手したものは、このDCジャックは統一規格に反する逆極性でした。 センターマイナスです。アイオーの別売ACアダプタ側もそうなっています。 かまわずACアダプタ電源のプラグを差し込まないようにしてください。 あなたが持っているボードでは極性がこの通りか分かりませんので、通電する 前に必ず実物でチェックして下さい。

 アイオーの別売ACアダプタの出力電圧は5.25Vあり、やや高めです。これは ボード上の逆流防止ダイオードを経てから電源供給されるため、そのドロップ 電圧を見越したものである可能性があります。ダイオードを通った電圧はほぼ 5.0Vでした。したがってもし選べる、あるいは調整できる電源が用意できるので あれば、電圧が高めのもの(5.25V程度)のがよいでしょう。

・PC34Rの背面SW(INITスイッチ)

 2個並んだスイッチがありますが、これは上側にします。RAMマッピングを解除してデータを初期化したいときはこのスイッチを一度下側にしてから上側に戻します。

・Rシリーズ以外のPC34

 本体の電源を落とすと内容が消えますが、背面にDCジャックがある製品であれば、 PC34Rと同様にデータを保持できるかもしれません。DCジャックの極性にはとくに 注意してください。

・PCI-Cバスブリッジのある(潜在的にPCIバスのある)機種

 Cバスメモリを使うのにはあまり適しませんが一応使えます。しかし不意に データが消えることは想定しておいてください。 [ESC][HELP][5]を押しながら起動するのを一回試みるとよいかもしれません。

・A5-A7エリアに関して

 ここをメモリマッピングする際にはA400:0からの16KB連続で割付られます。 これはEMSボードの仕様です。しかしA400:0にはCGウィンドウや不揮発メモリ などの重要な本体ハードウェアがあり、それと重複となります。 したがって、80286機くらいの古い機種では本体の動作に支障を来したり、 最悪の場合どこかを破壊する可能性があります。

 しかし80386機くらいからは、このアドレス範囲はCバスに接続されることなく 本体側へのアクセスとなるようです。いまのとこ動作がおかしくなったことは ありません。ということで80286機くらいの古い機種ではこのオプションを 使用しないで下さい。それはCPUを載せ変えてあっても同じです。

・ほかの拡張ROMボードとの競合

 D000:0をほかのボードのROMが使用していることもあるかもしれません。そのときはPC34D0を実行しても機能しないか、競合により予期せぬことが起こるかもしれません。PC34D0には既にD000:0に別のものが存在するかどうかを確認するルーチンは組み込んでありません(*)ので、ご自身でアドレス管理してください。PnP機でPnPのボードを使うと予期しないのにD000:0が使われることがあります。
* それをやるとPARITY ERROR発生の原因となることがあるため

■ お約束

 このソフトウェアはフリーソフトウェアです。自由に使っていただいて構いませんが、作者は、このプログラムの動作結果や影響に対して、一切責任は負いません。著作権は作者である「まりも」(DOSsoft)が保有するものとします。不特定多数がダウンロードできる場所への転載はお断りします。

 プログラムは、ある程度のテストを経て公開していますが、動作が完璧に行なわれるということを、作者は保証するものではありません。ユーザがプログラムを組み込んだことによる起動不能などのトラブルの補償には一切応じません。

 なお、EXIDE**などのROMアプリケーションは、このソフトウェアとEMSボードで使用することは認めます。とくに許可は要りません。

まりも (連絡先メールアドレスはホームページ上で)

■改版履歴

年月日   版  内容
2021. 8.24 1.00 新規
2021. 8.25 1.10 A5,C0オプション指定時のみに当該UMB領域のマッピングをするよう変更

[戻る]