Intel486SXを搭載したDOS/Vマシンを、FPGAで再現した『MiSTer』のコアao486。セットアップにいろいろと手間取りましたが、なんとかゲームが動くところまで持っていくことができたので、こちらの紹介をしたいと思います。
CPUのマスタークロックは、オリジナルの30MHzではなく90MHzになっていますが、それでも高速とは言えずゲームによってはフレームレートが1しか出ないような感じのものもあります。いくつかのゲームをプレイした感じでは、動くモノは動くし動かないモノは動かないといったざっくりとした印象でした。
こちらのコアでは、フロッピーディスク(.img)と、ハードディスク(.vhd)のイメージファイルを読み込むことができます。まずは、ハードディスクにDOSをインストールする必要があるため、空の.vhdファイルを用意する必要があります。
Windows10の場合、スタートボタンの上で右クリックしてメニューを表示し、「ディスクの管理」を選択します。そこで、「操作」メニューから「VHDの作成」を選択しましょう。「仮想ハードディスクの作成と接続」というウィンドウが表示されたら、「参照」を押して保存場所とファイル名を入力します。とりあえずデスクトップにしておけば、見失うことはないでしょう。
ハードディスクのサイズは500MB、仮想ハードディスクのフォーマットは「VHD」、種類は「容量固定」を選び、「OK」を押します。
次に、MS-DOS 6.22のインストールディスクのイメージファイル(3枚分)を、MiSTerのSDカードのgame/ao486フォルダの中に入れておきます。また、同じフォルダに、先ほど作ったハードディスクの.vhdファイルも入れておきましょう。
MiSTerを起動して、ao486のコアを起動します。「Mount Floppy *.IMG」に「Disk1.img」を、「Mount Primaty HDD *.VHD」に先ほど作ったハードディスクを選択し、「Reser and apply HDD」を選択。インストーラーが起動したら、DOSをハードディスクにインストールしていきましょう。
インストールが完了したら、いったんMiSTerの電源を切り、DOSをインストールしたハードディスクを選択して起動しましょう。無事立ち上がったら、いったんセーブしておきます。
・・・・・・と、ここまではできたものの、ゲームのディスクの作り方がわからずなかなかセットアップが進みませんでした。じっさいはかなりシンプルで、先ほどDOSをインストールしたハードディスクを、(SDカードをPCに接続してから)Windows10から直接ファイルを開いていきコピーすればOKでした。ルートのしたにGAMEというフォルダを作り、そこに入れていけばOKです。あとは、ふたたびMiSTerのao486コアを起動してDOSコマンドでディレクトリーを移動して、ゲームを起動すればOKです。
PHILSCOMPUTERLAB.COMというサイトにアクセスして、GUIDES>DOS guides>MS-DOS Starter Packにアクセスします。こちらはMS-DOS 6.22と7.1向けのメモリ構成をセットアップできるツールです。
こちらから「ms-dos_starter_pack.zip」を入手します。
こちらのファイルを解凍して、イメージファイルを作り、ディスクとして読み込ませます。次に「Install」と入力してインストールしましょう。次にコアを起動したときにメニューが表示されるので、5番目の「」を選択すればOKです。
ちなみに、Windowsでフォロッピーのイメージファイルを作ることができる「Winimage」というソフトがありますが、どうやらウィルス判定されて若干怪しい雰囲気があります。今回は壊れても言い古いノートPCでこのWinimageを使い、MS-DOS Starter Packのイメージファイルを作ってからセットアップを行っています。
今回チェックした中では、いくつかのゲームが上手く動きませんでした。たとえば『SimCity2000』はビデオカードが対応していません。『DukeNukem 3D』は、サウンドカードの設定をしっかりやらないと起動しませんでしたが、起動後はまったくフレームレートが出ずにまともに遊ぶことができませんでした。同じく『トゥームレーダー』も、起動はするものの重すぎてほとんど遊べませんでした。
こうした理由には、グラフィックカードの性能が低いところにあるようです(現状は16色までしか出ない)。エミュレータと異なり、PCなどの性能をそのまま活用できず、ハードウェアを再現しているためある程度は仕方ないところかもしれません。
ちなみにWindows95や98もインストール可能の用ですが、面倒な上に実用的な速度は出せないと思われます。
●GitHub – MiSTer-devel/ao486_MiSTer: ao486 port for MiSTer
https://github.com/MiSTer-devel/ao486_MiSTer