DOSBox-X で Windows(3)

・Windows 98 をインストール。
 Windows 95 の発掘はまだですが、先に Windows 98 を発掘しました。
 また、504MB 以上の HDD イメージも使えるようなので、2GB のイメージを用意してそこに Windows 98 をインストールします。

 まず、インストール先の HDD イメージを準備します。

$ dd if=/dev/zero of=win98.img bs=1M count=2016 status=progress

 このイメージは DOS の FDISK では一括で領域確保できません。
 そこで、一度 504M のイメージへ Windows 98 のセットアップを勧め、途中で起動ディスクを作成します。

[autoexec] は次のようにします

mount x: /home/pi/Documents/DOSBox/Image
imgmount c x:\HDD\tmpwin98.img
imgmount d x:\HDD/setup.img
boot x:\bootfd.img x:\win98-1.img x:\win98-2.img

 tmpwin98.img はフォーマット済みのイメージです。
 setup.img は Windows 98 のセットアップファイルをコピーした (504M 以下の) イメージです。
 bootfd.img は PC-DOS(または MS-DOS) の起動ディスクイメージです。
 win98-1.img と win98-2.img は Windows 98 の起動ディスクにする潰しても良い FD のイメージを準備します。

 起動ディスクを作成するときに、F12+o で FD イメージを切り替えると、書き込みされます。

 起動ディスクが作成できたら、2G のイメージをフォーマットしていきます。

[autoexec]
mount x: /home/pi/Documents/DOSBox/Image
imgmount 2 x:\HDD\win98.img -size 512,63,64,1024 -fs none
boot x:\win98-1.img x:\win98-2.img

 起動したら FDISK で領域を確保し、DOSBox-X を一度終了し、また起動します。(再起動だと調子が悪いことがあります。)
 再度起動したら c ドライブをフォーマットします。

[autoexec]
mount x: /home/pi/Documents/DOSBox/Image
imgmount 2 x:\HDD\win98.img
imgmount d x:\HDD\setup.img
boot x:\win98-1.img x:\win98-2.img

 imgmount で 2G のイメージは装置番号をつけないと認識できないようです。c や d といったドライブは指定できません。
 改めて DOSBox-X を起動、セットアップします。
 セットアップにはかなりの時間がかかります。
 再起動がかかったら、FD イメージから起動しているのでそのまま DOSBox-X を終了させます。

[autoexec]
mount x: /home/pi/Documents/DOSBox/Image
imgmount 2 x:\HDD\win98.img
imgmount d x:\HDD\setup.img
boot -l c

と書き直し、DOSBox-X を起動すると、セットアップの続きが始まります。
 セットアップにはかなりの時間がかかりました。

・ネットワークにつなげる。
 ne2000 互換の機能があるようなので、ネットワークにつなげてみました。

参考:https://dosbox-x.com/wiki/Guide%3ASetting-up-networking-in-DOSBox%E2%80%90X

$ ldd /usr/bin/dosbox-x | grep pcap

としてなにも結果がなければ、パッケージ libpcap-dev をインストールしてコンパイルし直しになります。

libpcap.so.0.8 => /usr/lib/arm-linux-gnueabihf/libpcap.so.0.8 (0xb6b67000)

と表示されれば、OK です。
次に DOSBox-X がネットワークへのアクセス権があるかどうか確認します。

$ getcap /usr/local/bin/dosbox-x
/usr/local/bin/dosbox-x = cap_net_raw+ep

何も表示されなければ、アクセス権を追加します。

$ sudo setcap cap_net_raw+ep /usr/local/bin/dosbox-x

設定ファイルを編集します。

[ne2000]
ne2000 = true
nicbase = 300
nicirq = 11
macaddr = AC:DE:48:88:99:AA
realnic = eth0

として起動して、ハードウェアの追加から Novel の NE2000 Compatible をインストールします。かなり時間がかかり、しばらく応答がなくなったりしますが、待っているとインストールできます。
 再起動したときに ne2000 がエラーになりますが、起動後にデバイスマネージャから IO の範囲を 0300 ~ 031F に変更します。これまた時間がかかりますが、再起動すればネットワークが使えるようになります。

・Windows98 Second Edition

参考:https://dosbox-x.com/wiki/Guide%3AInstalling-Windows-98

 wiki の通りに設定ファイルを変更してインストールしました。

 動くようになったので、以前に購入した同人ソフトを動かしてみました。
 RPGツクールで作られた無銭舞の Tiger Quest IV をインストールして動かしてみました。
 動かないことはないですが、ちょっとプレイする気にならない遅さでした。
 もっと CPU の性能が上がればいいのでしょうが、Raspberry Pi 4 でもちょっと性能が足りないのだと思います。

 NScript のゲームなら動くのかと思い、「ひとかた」というフリーゲームをダウンロードして動かしてみました。
 遅い。音もとぎれとぎれになりました。
 流石に厳しいようです。

 L-Zone は Windows 3.1 の頃のゲームなのでこちらは大丈夫だろうと期待していますが、まだメディアを発掘していませ。

DOSBox-X

Posted by sirius