E8000-EBFFFをRAM化する(E800RAM1.SYS)
Copyright(C) 2018 まりも (DOSsoft)
PC-9800シリーズでは E8000-EFFFFの領域にはN88-BASICのROMが存在しています。しかし80386頃以降の機種ではこれらの領域の裏に隠れたメモリが存在しています。本ツールではそれのRAMを表に出すことによって、パッチをあてたVFDDRV(MS-DOS5.0A-Hに付属していた仮想FDドライバ)の使用域として活用できます。
ただしパッチをあてて本来と異なるアドレスでVFDDRVを使用する場合、VRRAM、VRAMD0を使用した仮想FDからの起動の機能は使用できなくなります。VFDDRVデバイスドライバ単独で仮想FDドライブを読み書きするという機能に限定されます。この点ご注意ください。
MS-DOS 5.0A-Hに付属していたVFDDRV.EXE を探してきて用意します。このデバイスドライバは、DAC0:0という固定番地を読み書きのバッファとして使っています。このアドレスをE8000〜EFFFFの範囲中のE8C0:0に変更するために、本ツールの VFDDPAT.EXE を実行します。
使用法は次の通りです。カレントディレクトリにオリジナルの VFDDRV.EXE を置き、DOSコマンドラインから VFDDPATを実行すると、VFDDRVE8.EXEが作成されます。このVFDDRVE8.EXE を任意のディレクトリに置き、これもconfig.sysに記述して使用開始します。なおVFDDPAT.EXE ではアドレスを変更するだけでなく、本来の機種(386-486機)で意味のあるI/O 1E8Ehへの出力を機能しないように潰します。PCIバス搭載機種で何かの誤動作の原因となることを避けるためです。
E800RAM1.SYSの記述はとにかく先頭のほうにしてください。その次にVFDDRVE8.EXEを記述します。これらはHIMEM.SYSより前に行っておいてください。なおEMM386も使いたい場合は、E8000の領域はUMBにならないようにオプションを指定して下さい。
パッチをあてた仮想FDDツールを使う場合のconfig.sys記述例
device = E800RAM1.SYS
device = VFDDRVE8.EXE
device = HIMEM.SYS /TESTMEM:OFF
対象機種はPCIバス搭載機種です。広範に対応しますが、次の機種には対応しません。
× PC-9821 Xa初代,Xt初代,Xf, St15,St20, SV-98など
使用できるDOSのバージョンは 5.0A以上です。
始めに述べたとおり、VFDDRVE8.EXEでは、VRAMD,VRAMD0を使用した仮想FDからの起動の機能は使用できなくなります。
N88-BASIC(DOS版)は使用できなくなります。またBASIC ROMルーチンを使ったLIOのプログラムも動作しなくなりますのでご注意ください。
EMM386による仮想86EMSは使用できますが、VFDDRVでの活用を目的と する場合、EMM386がUMBとする範囲からは必ずE8-E9の除外の指定をして下さい。
EMM386記述例: VFDDRVE8が使う E800-E9FFを除外する
device=emm386.exe /DPMI /umb /highscan /EN=E800-E900
ソースコードがついています。source.lzhというファイルがそれです。VFDDPATのソースは付属しません。
このプログラムはフリーソフトウェアです。自由に使用してよい代わりにサポートのようなものはありません。直接・間接的に、このプログラムの運用の結果に何があっても、作者は一切責任をとることはないものとします。著作権は作者が保持しています。著作権侵害のないようにお使いください。他のサイトへの無断転載は認めません。連絡先メールアドレスは、トップページに記載されています。
2018-10-23 まりも(DOSsoft)
2018.10.1 1.00版 新規作成 2018.10.23 1.00版(E800RAM1.SYS) VFDDPAT 1.50版 修正、仮想FDブート不可能の明記