レトロなPCゲームを動かそう

近年、Windows95/98~XP初期頃に発売されたPCゲームが、
今の環境向けに動作するようになったものがSteamGOGなどで配信されているかと思います。
スラリンもこのゲーム懐かしい!!と思ってポチポチすることがあるのですが、
基本的に英語版なんですよね。日本語版が無い
あとは配信されないメーカーやシリーズは本当に配信されない。

権利関係云々や需要の問題があるのでしょうか。
で、あればレトロなPCゲームを倉庫なり引っ張り出すか、
当時は欲しかったけど、財力が無かった!でも今なら中古で・・・!
そんな感じで、集まってきたレトロなPCゲームたち。

早速、CD-ROMをぶち込んでインストール!
ところがどっこい!何かエラーが出たり画面が推移しない。強制終了する。明らかに画質がおかしい(ローポリではない)
当然のことです。20年以上前のゲームです。この20年で大きく進化し互換性が無いのでしょう。
では動かすことはできないか?いろいろ調べて実践してみました。

当時のパソコンで動かす

単純明解な回避策でしょうね。実機で動かすのが1番でしょう。
Windows95でもLANカードさえあればTCP/IP機能をインストールしてデータのやり取りが可能でしょう。
もちろんインターネットには繋げないのが条件でしょう。
あとはフロッピーディスクドライブがあればフロッピーでデータのやり取りを行う。
CD-ROMドライブがあればそれでデータのやり取りも可能でしょう。
蛇足ですが、Windows10などに標準搭載されている「ディスクの書き込み」機能
・USBフラッシュドライブと同じように使用する(ライブファイルシステム)
・CD/DVDプレイヤーで使用する
の2種類があるかと思おます。
ライブファイルシステムは互換性の問題でWindows95では認識できないと思うので、
「 CD/DVDプレイヤーで使用する 」を選択するかと思います。
んで、基本的にCD-Rで書き込み…データの書き込みは1回のみ。と思うのですが…
クローズ処理がされないみたいなので、約650MBを使い切るまで追記を行うことができます。

しかし実機でやるのは経年劣化や場所の問題で難しいでしょう。
今使っているPCでやりたい!そこが本題かと思いますね。次へいきましょう

互換モードを使う

(たしか)WindowsXPから実装された機能ですね。
WindowsXPはWindowsNT系列。Windows95/98/MEはWindows9x系列と言われ、OSの中身としては異なるもので、互換性が低い!だとかXPはクソだと揶揄されていたと記憶しています。
そんな中、互換モードを使ってみてね。と告知されていました。
この互換モードは難しいものではなくEXEファイル(≒ゲームの実行ファイルのショートカット)のプロパティから、「互換性」を押下して互換モードを有効にするという方法です。
特に重要なのは「管理者としてこのプログラムを実行する」という選択肢ですね。
互換モードを有効にしただけでは動作しなかったものが、動作したことがあります。
他の機能も状況に応じて…となるのですが、そんなときは「トラブルシューティングツール」を使用すると、
対話形式で最適なオプションを自動的に設定してくれるので、試してみる価値がありますね。

しかし…この互換モードで動作するようになった!というのは少ない印象です。
あくまでも気休め程度ですね。
確証は無いですが、アプリ側で対応OSではないから起動をさせないようにしている。
そういった類のみに有効な手段ですね。

全画面モードをオフにする

3Dゲームなどになると、ウィンドウではなく全画面(フルスクリーン)になるものがありますね。
それがネックで正しく動作しない場合があります。
ゲームによっては標準でフルスクリーンかウィンドウで起動するオプションがあったり、
F4Alt + Enterで切り替えができたり、
マニュアルにこっそりウィンドウモードで起動する方法(コマンドライン)が記載されていることがありますね。
それでは、搭載されていないものはどうすれば良いのか?
そんなときは強制的にウィンドウ化(窓化)するツールを使うと良いでしょう。

スラリンは「DirectXウィンドウ化ツール」というものを愛用していましたが、
どうやら配布サイトが終了しているそうですね。代替ツールとして「DxWnd」が推されているみたいです。
両ツール、使い方は殆ど同じで対象のゲームのEXEファイル(注:ショートカットはNG)をツールにドラッグアンドドロップしてそのツールから実行するだけです。

そうすると、フルスクリーンでしか起動しなかったものがウィンドウモードで起動するようになります。
これにより、動作しなかったものが起動したり明らかに画質色がおかしかったのが改善したり、
①高い解像度に対応せず低い解像度で起動していたもの
②今のような大きいディスプレイに強制的に表示されていた
③それにより画面が粗く表示されていた
これが改善されます。
この回避策は前者の起動しなかったもの。より後者のきれいに表示されるようになった。
とかそちらの方に効果がでますね。前者でも効果が出たことがありますが。

dgVoodoo 2を使う

次にご紹介するのは「dgVoodoo 2」というツールを使用する回避策です。
このツールは簡単に言うと、
昔の3Dゲームで使われていた技術を現在使われている技術で動作させるツールとなります。
(Google検索すると日本語の情報としてはFF11の動作軽減策がヒットしますね)

これを使うことで、描画がおかしかったものが無くなり、
搭載しているグラフィックボードが認識せずソフトウェアレタリングで動作していたものが、
dgVoodoo 2によりハードウェアレタリングされてキレイに表示されるようになりました。

WineVDMを使う

こちらのツールはWindows95/98またはWindows3.1時代のゲームを動かすときに大活躍するツールです。
64Bit版のWindowsは16Bit向けに作成されたアプリケーションのサポートが切られており
一切動作することができません。実行しても下記のようなエラーが表示されるかと思います。
※32Bit版であれば16Bit向けのアプリケーションの互換性が残っています

このエラーが表示された場合は上記でご紹介した互換モードなどを使っても起動することができません。
それを当時のカーネルをエミュレーションさせて起動させる方法となります。
GitHubで公開されており、更新も行われており何かしらの不具合があっても、
改善される可能性が高そうですね。
https://github.com/otya128/winevdm

使い方はこれもまた簡単で、ダウンロードしたotvdmw.exeを実行後
動作させたいゲームのEXEを指定するだけです。
また、同梱されているwinhlp32.exeを使えば同様に起動することができない、
hlp形式のヘルプファイルを開くことができます。

ハイパーバイザー(ホスト型)で動かす

このあたりから(更に)雑な書き方となってきます。
VMware Workstation Playerなど使って仮想的にWindows95などを構築して、
そこでアプリケーションを動かす方法です。

ガチャガチャと構築してそのままなので、汚いデスクトップ

動いているものがWindows95となるので、実機並に動作させることができるのですが、
3Dゲームは弱いのが難点ですね。そもそもそういった目的で作られたものでもないですし、
特にDirectXで動作するものは諦めたほうが良いです。
またCPUあたりは稼働しているPCのものが認識される(雑な認識)なので、
Windows95/98をインストールしても途中でエラーを吐くので別途回避策を行う必要があります。

エミュレータを使う

エミュレータ」と聞くと、ファミコンとかパソコンで動かすもの。とイメージするかもしれませんが、
「コンピューター」をエミュレーションするものも存在します。
(上記のハイパーバイザーとの違いは何?と言われるとうまく説明できないですが…)
1つ目のご紹介「86Box」というものです。
ハイパーバイザーに比べて高度な互換性を実現することができ、
各種ハードウェア(CPUやマザーボード、サウンドカード、グラフィックボードや各種拡張ボード)の、
エミュレーションを行うことができることで、DirectXが使われているゲームも起動することができます。

ただし難点があります。
(当時として)高性能にしてエミュレーションをしようとするとかなり重くなることです。
スラリンはCore i7 4790K 4.0Ghzを搭載したPCを使っており古い世代のCPUではありますが、
性能は低くないものを使っていますが、300MhzくらいのCPUでエミュレーションしようとすると、
エミュレータの動作が非常に重くなります。特に重いと実感できるのは音ですね。
100MhzくらいのCPUにしてもブツブツと音が切れるような動きをします。
そのため、75MhzのCPU(Pentium1)でエミュレーションさせています。
昔聞いたことがあるのが、
実機並みに動作(エミュレーション)させるには実機の10倍以上の性能が必要。
そう考えると頷ける結果ですね。
3Dゲームに関してはWindows95時代のものであれば問題なく動作できるかな?という感覚です。
ちなみに75Mhzでもサクサク動いています。

2023/9/28 追記
導入方法について記事を記載しました
https://suranet.nagoya/%e3%83%ac%e3%83%88%e3%83%ad%e3%81%aapc%e3%82%b2%e3%83%bc%e3%83%a0%e3%82%92%e5%8b%95%e3%81%8b%e3%81%9d%e3%81%862-%ef%bd%9ewinbox-for-86box-windows95%e5%b0%8e%e5%85%a5%e7%b7%a8%ef%bd%9e/


さてもう一つご紹介「T98-NEXT」です。
名前から察しがつくかもしれませんがPC98をエミュレーションするものですね。
基本的にPC98用MS-DOSを用意する必要があるのですが、
FreeDOS(MS-DOS互換のフリーOS)をPC98向けに移植されたFreeCOM(98)というものを使えば、
それらを用意する必要がなく、PC98のエミュレーション環境を用意することができます。

スラリンの環境ではCPUクロックは4Mhzで動かしていますが問題なく動いています。
このくらいの時代となると無理に高性能にしなくてもよいですし、
高いクロック数にすると動きがどこかおかしくなります。
上げ下げしながら合ったクロックを見つけると良いかもしれません。

ggrks大作戦

コチラは海外でも発売されているものに有効な手段となるのですが、
海外フォーラムなどから情報を得ることですね。
Googleを英語モードにして検索するとより有効な情報が得られます。
https://www.google.com/webhp?hl=en
「<動作させたいゲーム名> Windows10」などと検索すると、
いろんな情報がでてきます。上記でご紹介した dgVoodoo 2 やお手製のパッチなど。
前者はより良く動作させるオプションが紹介されていたりしています。
後者は日本語版が正しく動作しなくなる(英語版になってしまう)可能性がありますね。

以上8点をご紹介しました。
日本におけるレトロPCゲームの市場って非常に小さい印象ですが、
今はフリマアプリなどで少し市場が広がったかな?と思っているスラリンです。

4件のコメント

  1. スラリン様 
    初めまして。私もWIN10・11でdos~Windows95/98~XP初期のゲームを楽しんでいるじじぃゲーマーの一人です。
    dosはdosboxで、1部のxpはwin10・11で実行可能ですが、手元のwIN3.1~98の物はdosboxでも実行不可で困っていました(shanghai dragon’s eye・ironherix 日本語版・雀道2等)。
    VMwareでxpやwin98も試しましたがvideoドライバーが特殊で、表示不可で諦めていたところ(ironherix 日本語版)、今回「wineVDM」を教えて頂き簡単に実行できました。が、ironherix 日本語版だけは正確な色表示が出ず、ゲームができませんでした。これ以上はdosboxにwin95をインストールしか手は無いようです。(98は不可らしいです)
    色々サイトを見て研究中ですが、私にはハードルが高く試行錯誤中です(hddイメージとかFDイメージ等)。甘ちゃんでお恥ずかしいですが、今後はDOSBOXへWIN95のインストール方法も解説頂ければ幸いです。
    兎も角今回は「wineVDM」の情報提供に感謝申し上げます。ありがとうございました。今後も有益な情報を発信下さるようお願いします。

  2. kz1100r2さん

    コメントありがとうございます。
    乱文が多い記事で参考になれたみたいで幸いです。

    既にご覧に慣れているかもしれませんが、DOSBoxでのWindows95インストールは下記サイトが参考になるかと思います。
    https://indo-ka.sakura.ne.jp/dos_v/dosbox/win95/index.html
    ただDOSBoxはMS-DOS環境を再現させるエミュレータであり、Windows95(広い意味ではMS-DOSで動いていますが…)を動かすものではないため、快適動作ではないみたいです。

    > hddイメージとかFDイメージ等
    上記サイトでも記載されていますが、
    hddイメージはDOSBox上で使う仮想のハードディスクを予め作成していく
    fdイメージはWindows95の起動ディスクをイメージファイルに変換する形になります。
    つまり、フロッピードライブとWindows95の起動ディスク(フロッピー)が必要ということです。
    その辺は86Boxでも手順は同じかな?と思います。
    (Windows98は種類によってはCDブートが対応していたかと思いますが・・・)

    > ironherix
    「IRON HELIX」というゲームでしょうか?
    海外サイト情報ですが、DOSBox+Win3.1かつ画面解像度を 640×480、256 色で設定したうえで動作させることができるみたいです。日本語版でも正しく動作するか微妙ですが…
    https://www.play-old-pc-games.com/2014/09/22/iron-helix/

  3. スラリン様
    お忙しい中(それとも休日中でしたでしょうか?)お相手頂きありがとうございました。

    >「IRON HELIX」というゲームでしょうか?
    ハイ、その通りです。昔Win3.1日本語版を入手したのですが、アクションアドベンチャーらしく日本語でないと意味が分からず先に進めません。以前からこの辺の記事を読んでdosbox+winで考えていましたが、3.1は手元にはなく95のアップ版(OSR2.1?)か98SE(OEM)しか持っておりません。ブートディスク不要な98SEが良いのですが「dosbox+win98は安定しない、95が良い」との書き込みを見て(本家の㏋でも95推奨のようです)、95での実行を考えています。

    その後、ggrks大作戦の結果dosbox-xだと例のHDDイメージは付属のメニューから作成可能だとか、「98seでの仮想構築は「dosbox-pure」(=RetroArch)で」との書き込みも見つけ、dos環境構築の多様さに改めて目から鱗状態です。
    これからの秋の夜長、「ggrks大作戦」でもっと情報を深堀して行こうと考えています。お願いばかりでお恥ずかしいですが、今後もスラリン様には「86Box」等の導入方法ををこちらにUPして頂ければありがたいです。それでは。

    1. kz1100r2さん

      86Boxについて
      記事内では86Boxと言っていますが、
      正確にはWinBox-for-86Boxを使用しています。
      https://github.com/86Box/WinBox-for-86Box

      面倒な仮想マシン(仮想ディスク)を作成するところは、
      VMware Workstation Playerみたいなウィザード形式で進めることができます。
      英語ではありますが、開発者がまとめたWikiサイトもあるので、そちらも見てみると良いかもしれません。
      https://github.com/86Box/WinBox-for-86Box/wiki

      > 今後もスラリン様には「86Box」等の導入方法ををこちらにUPして頂ければありがたいです。

      私自身も、いろんなサイトを見て構築しているので、
      結果的に、丸々パクりになったり、なかなかまとめるの難しいんですよね(笑)
      ただ、日本語の情報は少ないのでまとめ記事を作成してみても良いかもしれませんね。
      ご要望ありがとうございます。

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA