PC/AT Windows 98からPC98 MS-DOS環境を作る

Windows 98のWindows抜きインストールです。そしたら何も残らないって？　フライドポテトをポテト抜きで注文しても、塩は手元に来ますよね。Windows 98からWindowsを抜いても全て消えるわけではなく、MS-DOSが残ります。　（起動用FDのくだりを改定しました）

#注意
本記事は主に「PC-98を所持したことはないが、東方旧作の体験版がネットに落ちてるからプレイしてみたい」というような、割と特殊な事情を抱えた人向けのものであり、特に自前のMS-DOS環境で不満を持っていない人は読んでもあまり意味ないです。

（令和の時代になったというのに、こんな古い情報要る？）

#用意するもの
もはや現代では実機でこのような事をするのは珍しいと思うのでエミュレータで動かすのを前提として説明します。
工夫すれば実機でも行けると思います。

- Windows 98のインストールCD (必須)
- PC-9800のエミュレータ (今回はNeko Project 21/Wを使用)

インストールメディアは新規インストール用でもアップグレード用でも構いません。

#PC/AT環境からPC-9800用起動ディスクを生成する

PC/ATからPC-9800用起動ディスクを作成できるツールがあったのでこれを使うと手っ取り早いです。

Windows 95/98/98SE/Meの起動ディスクイメージを作成
http://radioc.web.fc2.com/soflib/mkw9ximg/mkimage.htm

#ターゲットをフォーマットする
Neko Project 21/WではHDDを増設した状態で起動するとブラックスクリーン（ブルースクリーン）が出てしまい不具合だらけなので起動FDからいじくります。FDブートをして以下のコマンドを実行してください。


```
FDISK
(再起動)
D:  (RAMDriveのドライブレター)
FORMAT X: /S  (ターゲットのHDDがXドライブであると仮定する)
```

FDISKでは必ずパーティションのBOOT状態を可にしてください。デフォルトでは不可のはずです。
FDISKの使い方まで解説するととても長くなるのでｇｇってください。


#ファイルを転送する
ターゲットのHDDにDOSというフォルダを作り、そこにファイルを転送します。

ここで挙げるファイルリストはPC-9800のWindows仮想環境がある人向けの説明になります。仮想環境がない方はWIN98Nフォルダの中にあるCABから一つずつ探しだしてください。一部のファイルは拡張子が.DOSになっている場合がありますが、拡張子を変えるだけでOKです。

```
\WINDOWS -> \DOS
COMMAND.COM
EMM386.EXE
SETVER.EXE
DBLBUFF.SYS
HIMEM.SYS
HRTIMER.SYS
IFSHLP.SYS
KKCFUNC.SYS
RAMDRIVE.SYS

\WINDOWS\COMMAND -> \DOS
（面倒なので全部コピーする）
ADDDRV.EXE
ATTRIB.EXE
(BOOTDISK.BAT)
CHKDSK.EXE
CHOICE.COM
CSCRIPT.EXE
CVT.EXE
DBLSPACE.SYS
DEBUG.EXE
DELDRV.EXE
DELTREE.EXE
DISKCOPY.COM
DISKINIT.EXE
DOSIME.BAT
DOSKEY.COM
DRVSPACE.BIN
EDIT.COM
EDIT.HLP
EXTRACT.EXE
FC.EXE
FDISK.EXE
FIND.EXE
FORMAT.COM
IEXTRACT.EXE
KEY.EXE
LABEL.EXE
MEM.EXE
MORE.COM
MOVE.EXE
MSCDEX.EXE
MSIME.DIC
MSIME.SYS
MSIMED.SYS
MSIMEK.SYS
MSIMEKC.SYS
MSIMER.DIC
PRINT.SYS
RSDRV.SYS
SCANDISK.EXE
SCANDISK.INI
SCANREG.EXE
SELKKC.EXE
SORT.EXE
SPEED.EXE
START.EXE
SUBST.EXE
SULFNBK.EXE
SWITCH.EXE
SYS.COM
XCOPY.EXE
XCOPY32.EXE
XCOPY32.MOD

\WINDOWS\COMMAND\EBD -> \DOS\EBD
(BOOTDISK.BATがある場合にのみ、全てコピーする)
AUTOEXEC.BAT <-CABではAUTOEXEC.EBD
COMMAND.COM
CONFIG.SYS <-CABではCONFIG.EBD
DISKINIT.EXE
DRVSPACE.BIN
EBD.CAB
EXTRACT.EXE
FDISK.EXE
FINDRAMD.EXE
HIMEM.SYS
IO.SYS
NECCDB.SYS
NECCDD.SYS
NECCDJ.SYS
NECCDDK.SYS
NECCDDM.SYS
RAMDRIVE.SYS
README.TXT <-CABではREADME.EBD
SETRAMD.BAT <-CABではSETRAMD.EBD

NECCDB.SYS NECCDD.SYS NECCDJ.SYS NECCDDK.SYS NECCDDM.SYSは\DOSにもコピーする
EBDフォルダが無くてCDドライバがコピーできない方は起動用ディスクからコピーしてください。
```

#CONFIG.SYS AUTOEXEC.BATの作成
ここにある記述はあくまで一例です。

```CONFIG.SYS
FILES=40
BUFFERS=10
DEVICE=A:\DOS\HIMEM.SYS
DEVICE=A:\DOS\EMM386.EXE /UMB
DOS=HIGH,UMB
devicehigh=A:\DOS\kkcfunc.sys
devicehigh=A:\DOS\hrtimer.sys
DEVICEHigh=A:\DOS\setver.exe
device=A:\DOS\neccdm.sys /D:mscd001 
lastdrive=z
shell=a:\dos\command.com a:\dos\ /p
device=a:\dos\msimek.sys /a1
device=a:\dos\msime.sys /d*a:\dos\msimer.dic /da:\dos\msime.dic /c1 /n a1
```

```AUTOEXEC.BAT
@ECHO OFF
A:\DOS\MSCDEX.EXE /D:mscd001 /L:Q
PATH A:\DOS;A:\
SET TEMP=A:\DOS
SET DOSDIR=A:\DOS
```

あくまで一例なので適宜変更してください。

これでインストール作業は終了です。お疲れさまでした。

#参考: 動作状況

- 東方幻想郷

上の設定ではメモリが足りなくて起動しないです。最小限のドライバのみを読み込ませれば起動できます。

```CONFIG.SYS
FILES=40
BUFFERS=10
DEVICE=A:\DOS\HIMEM.SYS
DEVICE=A:\DOS\EMM386.EXE /UMB
DOS=HIGH,UMB
device=A:\DOS\neccdm.sys /D:mscd001 
lastdrive=z
shell=a:\dos\command.com a:\dos\ /p
```

- Windows 3.x

3.0Bで試しましたがインストール不可。SETVERでもだめです。インストールしたフォルダをコピーしても起動できません。
3.1をインストールしたフォルダをコピーしても同じく起動できません。

#参考: EBDフォルダに無いCDROMドライバについて

- MS-DOS(R) 6.2 差分アップグレードモジュール

http://121ware.com/psp/PA121/121ETC2/CRM/s/WEBLIB_NECS_DID.PRODUCT_ID.FieldFormula.IScript_VDown_Details?modId=457
このサイトから差分モジュールをダウンロードし、ファイルをC:\UPD622などで適当に転送します。そして

```
EXPAND NECCDD.SY_ A:\DOS\NECCDD.SYS
```

などと打つことによって復元します。

#参考: マウスドライバについて
Windows 98のディスク内にはMS-DOSで使われていたマウスドライバが存在しません。どこかから持ってくる必要があります。
PC98なので、MOUSE.SYSをDOSフォルダ内に格納し、CONFIG.SYSの末尾に以下の行を追加してください。

```CONFIG.SYS
DEVICE=MOUSE.SYS
```

#PC/AT環境からPC-9800用起動ディスクを生成する　（旧）

検索すればいくらでも情報が出てくるんですが、念のため。
大前提としてWindows 98の仮想環境を準備してください。これはPC-9800ではなく、VMWareなどのPC/AT互換のものです。

まず、Windows 98上で「IPL98」というソフトを実行します。この２つをダウンロードして同階層内に保存してください。
IPL98: http://k-takata.o.oo7.jp/mysoft/ipl98.html
ランタイム: https://www.vector.co.jp/soft/dl/win95/util/se040499.html

次に、PC98用のFORMAT.COMとSYS.COMをIPL98のある階層内に保存します。公式ではCDROMのWIN98Nフォルダ内のCABの中にあるという解説がありますが、BASE4.CABの中にあるEBD.CABから抽出したほうが早いです。（多分FORMAT.COMとSYS.COMよりもEBD.CABのほうが探しやすいです）

IPL98を実行してIPLを書き込んでください。失敗してしまう方は一度1.44MBの通常フォーマットをかけた後、再度実行すると多分うまくいきます。


完了したら、いよいよWIN98Nフォルダ内のCABからファイルを抽出・コピーします。
リテール販売されたWindows98とWindows98 SEとの両方で同じCAB内に存在する事を確認しています。仮に無くてもどこかのCABにあるので探してください。

```
（BASE4.CAB）
DRVSPACE.BIN
EBD.CAB

（BASE5.CAB）
COMMAND.COM
AUTOEXEC.EBD (リネーム: AUTOEXEC.BAT)
CONFIG.EBD (リネーム: CONFIG.SYS)
README.EBD (リネーム: README.TXT)
SETRAMD.EBD  (リネーム: SETRAMD.BAT)
DISKINIT.EXE
EXTRACT.EXE
FDISK.EXE
FINDRAMD.EXE
HIMEM.SYS
NECCDB.SYS
NECCDD.SYS
NECCDJ.SYS
NECCDK.SYS
NECCDM.SYS
RAMDRIVE.SYS
WINBOOT.SYS (リネーム: IO.SYS)
```

- 新規作成するファイル


```MSDOS.SYS
;W98EBD
```

```EBD.SYS
(0バイトの空ファイルです)
```

本家ではEBD.SYS, IO.SYS, MSDOS.SYSはシステムファイル・隠しファイル・読み取り専用の属性ですが、そのままで大丈夫です。

これでコントロールパネルから作成したものと同等のものができました。

次はターゲットのHDDにインストールしていく作業になるんですが、作成した起動用FDからPC98にWin98をインストールしてそこからいじくる方法と、起動用FDから直接いじくる方法があります。どちらでも構いません。

PC-98にWindows 98をインストールする方法はこちらをご覧ください。
https://sites.google.com/site/np21win/setup/win98

#メモ

- Windows 95のディスクでも可能ですが、Windows 95はPC/AT互換機用とPC-9800シリーズ用でインストールディスクが異なっておりPC-9800シリーズ用のインストールディスクを持っている人は恐らくPC98用のMS-DOSも持っているのではないでしょうか。
- Windows MeではPC-9800シリーズの動作対象外なので不可能です。Windows NTは論外。
- Windows 98のリテールインストールメディアのみ、PC/AT互換機とPC-9800シリーズ共用となっているため実現ができます。OEM版の検証はしていません。共用インストールメディアとしてリテール販売されたのは「Windows 98」「Windows 98SE (Win98アップデート用)」「Windows 98 SE」の3種類で、新規インストール／アップグレードの差は今回のようなMS-DOSをインストールする上では全く関係ありません。
- ちなみにPC/AT互換機でも同様の事ができますが、PC-98よりもファイルの数が多いので面倒です。気が向いたらそのうち書きます。