mieki256's diary



2022/11/26() [n年前の日記]

#1 [windows][pc] DOSBox-X上でWindows98をインストール

Windows10 x64 22H2 + DOSBox-X 2022.09.0上でWindows98 FE (First Edition) をインストールできたので手順をメモ。

以下は証拠画像。DOSBox-X 上で Windows98 が動いていて、更に、Windows98上で、Windows95時代のドローソフト、G.CREW 5 を動かしている。

dosboxx_win98_ss01.png

自分のメインPCは、CPU が AMD Ryzen 5 5600X なので、VMware + Windows98 や VirtualBox + Windows98 が正常動作しない。DOSBox-X、PCem、86Box なら、動作は遅いけど一応 Windwos98 も動いてくれる。

マウスキャプチャについて。 :

作業前に把握しておいたほうが良さそうな点をメモ。

DOSBox-X 2022.09.0 + Windows98 のウインドウ内をクリックすると、マウスカーソルの動きがキャプチャされて、ウインドウ内でしかマウスカーソルを動かせなくなる。

Windows10側にマウスカーソルを戻したい時は Ctrl + F10 キーを叩く。DOSBox-X のウインドウタイトルバーにも、「Ctrl+F10 releases mouse」と表示されている。

ちなみに、PCem の場合、Ctrl + End キーがマウスカーソルの解放になってる。

設定ファイルを調整。 :

以下を参考にして、Windows98用の設定ファイル、win98.conf を作成する。

_Installing Microsoft Windows 98 in DOSBox-X

設定ファイル win98.conf を指定して、DOSBox-X を起動。
dosbox-x.exe -conf win98.conf

exit と打てば終了できる。

NIC NE2000を有効にしておく。 :

DOSBox-X + Windows98 でネットワークを利用可能にするために、DOSBox-X が内蔵してる NIC (NE2000互換) の機能を使えるようにするのだけど、そのためには、Windows10 に Npcap というプログラムをインストールして、Windows10が使ってるNICの種類を調べないといけない。

_Npcap: Windows Packet Capture Library & Driver
_Windows 10でのWinPcap代替 = Npcap - 滴了庵日録

元々は WinPcap というプログラムが必要だけど、WinPcap は Windows10上で動作が不安定なので、代替として Npcap が使われている。Npcap のインストール時に、「Install Npcap in WinPcap API-compatible Mode」にチェックを入れておくことで WinPcap の代替になる。

今回は Npcap 1.71 installer (npcap-1.71.exe) を使ってインストールした。

ちなみに、Wireshark というツールをインストールする際にも、追加で Npcap をインストールできるらしいけど。

_「Wireshark」ネットワークプロトコルアナライザー - 窓の杜

先にこちらを試してみたら、Windows10 x64 22H2 がブルースクリーンになった…。Npcap だけインストールしておくことにする。


さておき。Npcap インストール後、DOSBox-X の設定ファイル (.conf) を確認。NE2000関係の設定をしておく。IRQ : 10, Address : 0300 - 031F で使うことを前提にする。
[ne2000]
ne2000  = true
nicbase = 300
nicirq  = 10
macaddr = AC:DE:48:88:99:AA
backend = pcap

[ethernet, pcap]
realnic = list
timeout = default
backend = pcap、realnic = list を指定しておく。もし、この指定で動かない場合は、backend = slirp にして試すらしい。

DOSBox-X を起動。ヘルプ → ネットワークインターフェースの一覧、を選択。大量にリストが表示される。このリスト表示をするために、Npcap が必要になる

dosboxx_ne2000_list_ss01.png

dosboxx_ne2000_list_ss02.png

この中に、NE2000 として利用できる指定があるはずだけど、この見た目では把握しづらい…。コピペもできない…。

DOSBox-X の設定ファイル (.conf) 内でログファイルを指定して、そちらにログを残してみることにする。
[log]
logfile     = D:\home\emu\prg\DOS\DOSBox-X\log.txt
debuggerrun = debugger

DOSBox-X に --debug をつけて起動することで、ログファイルに大量の情報が出力される。
dosbox-x.exe -conf win98.conf --debug

log.txt の中から抜粋してみる。
Network Interface List
-------------------------------------------------------------
01 rpcap://\Device\NPF_{B2D2AF0E-CDC8-4ED1-BDB8-A7D15529672D}
    (Network adapter 'WAN Miniport (Network Monitor)' on local host)
02 rpcap://\Device\NPF_{88B4CB1A-33BE-446E-B94A-5DF8C71915BD}
    (Network adapter 'WAN Miniport (IPv6)' on local host)
03 rpcap://\Device\NPF_{FB7380C5-C893-4AEE-81D2-B5D21F9544BB}
    (Network adapter 'WAN Miniport (IP)' on local host)
04 rpcap://\Device\NPF_{220C3716-A969-46A3-82C3-05E21E6CA01B}
    (Network adapter 'VMware Virtual Ethernet Adapter for VMnet8' on local host)
05 rpcap://\Device\NPF_{785F34D2-08FB-4109-B329-902FF7871CE3}
    (Network adapter 'VMware Virtual Ethernet Adapter for VMnet1' on local host)
06 rpcap://\Device\NPF_{D66A8829-34D7-4868-A780-50C65A17D269}
    (Network adapter 'VirtualBox Host-Only Ethernet Adapter' on local host)
07 rpcap://\Device\NPF_{EF33C528-569F-48BA-9222-527CA8C007CE}
    (Network adapter 'Realtek Gaming GbE Family Controller' on local host)
08 rpcap://\Device\NPF_Loopback
    (Network adapter 'Adapter for loopback traffic capture' on local host)

この中のどれかを指定すればいいらしい。
  • 少なくとも、VMware とか VirtualBox と書いてあるのは違うはず。
  • 大体は、NICに使ってるチップのメーカ名から始まっているのがソレ。
この場合、"Realtek Gaming GbE Family Controller" が該当する。

設定ファイル (.conf) を修正。「realnic = list」となっていた部分を変更する。
[ne2000]
ne2000  = true
nicbase = 300
nicirq  = 10
macaddr = AC:DE:48:88:99:AA
backend = pcap

[ethernet, pcap]
# realnic = list
realnic = "Realtek Gaming GbE Family Controller"
timeout = default

realnic には、数値、もしくはNIC名を記述できる。
realnic = 7
or
realnic = "Realtek Gaming GbE Family Controller"

以下、参考ページ。

_Setting up networking in DOSBox-X

HDDイメージを作成。 :

Windows98をインストールするためのHDDイメージを作らないといけない。DOSBox-X に同梱されてる IMGMAKE というプログラムを使ってHDDイメージを作成する。

今回は、4GB、FAT32のHDDイメージを、Windows10側のストレージ内に D:\dos\hddwin98.img として作成した。
IMGMAKE D:\dos\hddwin98.img -t hd_4gig -fat 32

ちなみに、IMGAMKE と打てばヘルプが出てくる。また、IMGMAKE -examples で、使用例が表示される。

HDDイメージを、DOSBox-X 側のCドライブとしてマウント。「IMGMOUNT ドライブ名 イメージファイル名」でマウントできる。
IMGMOUNT C D:\dos\hddwin98.img

HDDにセットアップファイル群をコピー。 :

Windows98 セットアップCDのiso (W98SETUP.iso) をDドライブにマウント。
IMGMOUNT D D:\iso\WIN98\ISO\W98SETUP.iso

xcopy を使って、セットアップCDからCドライブ(HDDイメージ)内に WIN98ディレクトリをコピー。
XCOPY D:\WIN98 C:\WIN98 /I /E

ちなみに、MSBATCH.INF というファイルを作成して、中にプロダクトキーを書いて、C:\WIN98\ 以下にコピーしておけば、 インストール時のプロダクトキー入力を省略することができる。
[setup]
ProductKey="XXXXX-XXXXX-XXXXX-XXXXX-XXXXX"

Windows98をインストール。 :

DOSBox-X を終了して、設定ファイル win98.conf の最後に以下を追加。DOSBox-X 起動直後からCドライブにHDDイメージが割り当てられた状態にしておく。
[autoexec]
@keyb jp106 > nul
IMGMOUNT C D:\dos\hddwin98.img

DOSBox-X を再起動。
dosbox-x.exe -conf win98.conf

カレントディレクトリを C:\WIN98 にしてから setup.exe を実行して、Windows98 をインストールする。インストール先は、デフォルトでは C:\Windows になる。
C:
cd \WIN98
SETUP.EXE

ひょっとすると、途中でキーボードの種類を確定させるために「半角/全角キー」の入力を求められるかもしれない。しかし、DOSBox-X 上では半角/全角キーの入力ができない。その場合、Spaceキーを押して、一旦英語キーとして認識させて作業を進めておいて、Windows98のインストールが終わってからキーボード種類を変更する。

ある程度ファイルコピーがされて再起動がかかったら、一旦 DOSBox-X を終了。win98.conf の最後を修正。「BOOT C:」を追加することで、Cドライブから起動(ブート)するようにしている。
[autoexec]
@keyb jp106 > nul
IMGMOUNT C D:\dos\hddwin98.img
BOOT C:

DOSBox-X を再起動。HDDイメージからWindows98が起動して、初期設定が続行される。
dosbox-x.exe -conf win98.conf

もし、NIC (NE2000) を有効にしてあれば、NICの設定をする画面が出てくる。IRQ : 10、Address : 300-31F を指定。

これで、Windows98 のインストールはできた。この後、パッチ類を当てていくのが面倒…。

IEの入れ方に注意。 :

Windows98 は IE4.0 が同梱されているけれど、IE5.5 SP2 や IE6 SP1 に更新することができる。しかし、手元の環境で、一旦 IE5.5 SP2 に更新してから、更に IE6 SP1 に更新したところ、エクスプローラすら正常に動作しない状態になってしまってハマった。 *1

どうやら、IE4.0 から、いきなり IE6 SP1 に更新したほうが、まだ安定して動作するようだなと…。その状態なら、一応動いてるし…。

もし、IE5.5 SP2 をインストールしてしまったら、IE6 にはアップグレードしないほうがいいのかもしれない。ググってみると、Windows98 + IE6 は不安定(だった)という話もよく見かけるし…。

ビデオドライバをVBEMPにする。 :

DOCBox-X のビデオカード部分には S3 Trio64 が載っていることになっている。Windows98 は S3 Trio64 のビデオドライバを標準で持っているので、特に何もしなくても Windows98インストール時にビデオカードが認識されてドライバが使われる状態になる。

本来、S3 Trio64 はVRAMが2MBまでなのだけど、DOSBox-X のソレは 8MB まで使えるようにしてあって、かつ、ワイドスクリーンにも対応できるように強化してあるらしい。

ただ、Windows98の標準ドライバでは、本来の S3 Trio64 のスペックにしか対応してないので、高解像度の設定もできないし、ワイドスクリーンにもならない。そこで、VBEMP というドライバを使えば、高解像度が使えるようになるのだとか。

_VBEMP 9x Project - Universal VESA/VBE Video Display Driver

140214.zip を入手して解凍。中に入ってる 032MB というフォルダが目的のドライバ。

変更の仕方は以下。

画面の何もないところを右クリック → プロパティ。設定タブ → 詳細。アダプタタブ → 変更。

dosboxx_win98_ss02.png


デバイスドライバの更新ウィザードが出てくるので、「次へ」。

dosboxx_win98_ss03.png


「特定の場所にあるすべてのドライバの一覧を〜」を選んで、次へ。

dosboxx_win98_ss04.png


ディスクの使用 → 参照。

dosboxx_win98_ss05.png


032mbディレクトリを選んで、vbemp.inf を選択して、「OK」。

dosboxx_win98_ss06.png


「VBE Miniport - Standard PCI Graphics Adapter (VGA)」を選んで、「OK」。

dosboxx_win98_ss07.png


「〜選択したドライバを使用しますか?」と尋ねてくるので、「はい」。

dosboxx_win98_ss08.png


次へ → 完了。再起動。

dosboxx_win98_ss09.png

dosboxx_win98_ss10.png


これで、1024 x 768以上の解像度でもフルカラーにしたり、1440 x 900 等のワイド解像度を選べたり等、本来の S3 Trio64 (VRAM 2MB)では無理な設定が使えるようになった。

dosboxx_win98_ss11.png

ただ、VBEMP を使うと、S3 Trio64 の標準ドライバと比べて動作速度は50%ぐらいに落ちるらしい。解像度と速度のトレードオフということかなと。

日本語キーボードに変更。 :

Windows98 が英語キーボードとして認識してしまっているので、日本語キーボードに変更する。デバイスマネージャ経由で、英語キーボードのプロパティを出して、ドライバを更新して変更する。

一応手順をキャプチャしてみた。

マイコンピュータを右クリックして「プロパティ」。デバイスマネージャを選択。キーボード → 101/102 英語キーボード、を選択して「プロパティ」をクリック。

dosboxx_win98_kbd_ss01.png


ドライバ → ドライバの更新。デバイスドライバの更新ウィザードが表示される。次へ。

dosboxx_win98_kbd_ss02.png


「特定の場所にあるすべてのドライバの一覧を〜」を選んで、次へ。

dosboxx_win98_kbd_ss03.png


「すべてのハードウェアを表示」を選んで、「(標準キーボード)」→ 106 日本語 (A01) キーボード (Ctrl+英数)、を選択。次へ。

dosboxx_win98_kbd_ss04.png


「〜このドライバを使用しますか?」に「はい」。

dosboxx_win98_kbd_ss05.png


次へ、をクリックしていく。再起動を求められる。

dosboxx_win98_kbd_ss06.png

dosboxx_win98_kbd_ss07.png


デバイスマネージャで確認すると、日本語キーボードになっている。

dosboxx_win98_kbd_ss08.png

*1: 必ず MSHTML.DLL がエラーを出して、エクスプローラが不正終了、強制終了してしまう。ファイル操作が一切できない状態に陥る。

以上です。

過去ログ表示

Prev - 2022/11 - Next
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project