PC98エミュレータ計画
(2000年2月1日)
ここにVirtual98 0.28という、Windows上で動かせるPC-98エミュレータがある。PC-9801の386マシン相当のエミュレータだという。動かすにはPC-9801の386マシンが必要(BIOSなどを持ってくる必要がある)が、うちには98DA2がある。286相当のエミュレータが多い中、こいつは386のエミュレーションをしてくれる。
また、ここにはDiskExplorer1.41+という、Virtual98で作ったHDDイメージの操作ができるツールがある。(実行ファイル名はeditdisk.exe)
他のエミュレータと比べるとVirtual98とeditdiskさえ用意すれば使えるので、手を出しやすい。ただし、比較的重い(らしい)。
やるべきことは、
- MKBIOS.EXEをPC-98上で実行してBIOS.ROM、SOUND.ROM、ITF.ROMを作る。更にMKFONT.EXEも実行してFONT.ROMを作る。
- MKFDD.EXEを98上で実行して、PC-98の起動ディスク(DOSで、せめてFORMAT.EXEが入っているもの)のイメージを作る。例えばMKFDD A: DOS5.FDD。
- できた5ファイルをWindowsマシンに持ってくる。私はPC-98との間にLANがあるので楽だ。というか、LANかMOかがなかったらやっていなかっただろう。
- Virtual98.exeをWindows上で実行する。ピポッて音と共にメモリカウントして起動するはず。メニューバーでOptionのBOOT from HDDのチェックを外して、FDD1メニューで2.で取ったイメージファイルを指定すると、DOSが立ち上がる(はず)。
- FileメニューのNew Disk->HDDでディスクを作る。例えばDOS5.HDD。
- メニューのHDDでそのファイルを指定し、DOSイメージのFDDで立ち上げて、FORMATを実行。固定ディスク、初期化、領域確保し、立ち上げなおしてフォーマット+システム転送する。
- ここでOptionのBOOT from HDDのチェックを入れてFile->Resetをすると、今度はHDDで立ち上がる(はず)。
ここで、PC-98のHDDにあったシステムをVirtual98上に持ってくる方法を考える。ラッキーなことにここにeditdiskという、HDDファイルとWindowsの間でファイルをやり取りできるツールがある。
- 何らかの方法でPC-98上のファイルをWindows上に持ってくる。私はLANを使って1G程の全データを持ってきた。
- Virtual98を終わらせて、editdiskを立ち上げてDOS5.HDDを指定して、一覧の中からVirtual98ハードディスクを選ぶ。
- 出てきたエクスプローラ風画面の中に入れたいファイルやディレクトリをWindowsのエクスプローラからドラッグ&ドロップする。
- で、Virtual98を立ち上げると、全データが移っている(はず)。
- 昔のゲームを懐かしんで堪能するなり、一つ一つ動くか確かめるなり、ご自由に。
注意点(あるいは私のはまりパターン)を書いておく。
- ブートするとSYSTEM ROM CHECK SUM ERRORで立ち上がらない
→たぶん、BIOS ROMを取りそこねていたのだろう。取っている最中にグラフィック画面がぐちゃぐちゃになってたし。余計なものがPC-98のHDDのCONFIG.SYSに入っていたせいだと思う。CONFIG.SYSをなくして取り直すとブートできるようになった。
- FDDからの起動でVirtual98がアプリケーションエラーになった。
→作ったFDDイメージのCONFIG.SYSにMELCOのメモリマネージャ(MELEMM.386)が書かれていた。指定してあったオプションに問題があったのかもしれない。元のブートFDからCONFIG.SYSをなくしてMKFDDをやり直した。
- HDDを作ってFDISK→FORMATを行ってもHDDから起動ができない
→Windows95の起動ディスクをイメージにしていた。このFDDイメージでは起動はできるものの、HDDを作ってFDISK→FORMATをおこなったものでは起動できなかった。ファイルの中は見れるのだが。DOS5のシステムでイメージを作ってFORMATの領域初期化を使うとブート可能になった。
- パーティションを一度作ってフォーマットした後、再びFORMAT(FDISK)を実行すると領域がないように見える
→そういうものだ。気にしないことにした。
- FDDのイメージを作るのは結構時間がかかるので、持っているフロッピーをみんなイメージで持っていくというのは非現実的だろう。
- ここで作られるFDD、HDDのイメージは、いわゆるべた形式ではない。そのため、editdiskは必携だ。
- HDDを最大の512Mで作るとフォーマット後のアロケーションサイズが32Kになる。ちょっと小さめに作ると16Kになるため、使用効率がいい。私は480Mで2本作った。Windows95OSR2以降でFAT32のパーティションにするといいのかもしれない。
これによって私のWindowsディスクは3G程侵食されてしまった。
100本くらいあったゲーム(含む386マシン用)のうちのほとんどは動いているので、エミュレーション度はかなり高い。動かせなかったのは5本ほど。理由ははっきりしない。空軍大戦略が動かないのはちとショック。リアルタイムもの(例えばエースコンバット3)なんかは結構きつい。し、386を要求するゲームもちょっと重い。起動後1分くらい待たせるようなものもある(がとりあえず動く)。
Virtual98.iniにIPS(Instruction per second)という項目があるが、これを増やすとPC-98のCPUが速くなる。が、I/O系(グラフィックとか音とか)にパワーが回らなくなるので、飛び飛びに表示されたり音がめちゃくちゃになったり、妙に重くなったりする。特に386のモードで動くもの。うちではCeleron300A(600にしている)で、1000000でいいぐらい。98DA2位で動いている気がする。つまりちょびっと遅い。EMM386を入れるとちとつらい。1500000にすると、それなりに軽くなるのだが、一部のゲームではめちゃくちゃ重くなっていた。1000000の時にシステムモニタで見ると、CPU使用率が普段は50-60%だが、サウンドが入ると100%になってしまうこともあった。エミュレーションの負荷が偏るせいだと思う。
PC-98エミュレータのページとしてはここがある。
ちなみに0.28で明らかに動かなかったのは、闇の稜線、黒の断章、交換日記2、タブー、煩悩予備校2、エアーコンバット3、F19、空軍大戦略。
DISPELL
VFONT
AVTconv
VFIC
(2000年2月5日)
どうしても動かなかったソフトがあるので、別のエミュレータを試すことにする。動作確認リストを見てみると、どうやらANEX86も互換性が高いようである。ここの中で必要なモジュールは、
anex86dx.zip
である。BIOSもFONTも実機から取ってくる必要はないが、FDDのイメージは必要。FDDのイメージは、単なるべたイメージなので作るのは簡単だ。私はここにあった...というソフトをPC-98上で動かしてDOS5.0を採取した。(ちなみに私はDOS5.0とWindows95の起動ディスクしか持っていない。)
どうやら世の中の人はPC-98を持っていてBIOSやイメージを取ることができても、Windowsマシンに持ってくることで難儀することが多いもよう。だからANEX86でもBIOSやFONTは不要にして、FDDイメージを取るのはWindows上で可能にしているもよう。ちょっと納得。
で、ANEX86.EXEを動かす。FDDファイルを指定してStartボタンを押すのだが、ちょっとウインドウが出てすぐに閉じてしまう。どうやらNECチェックにかかっているもよう。探すとここにDISPELLというチェック外しツールがあり、イメージファイルに対して直接外せるもよう。さっそく実行してみると、無事にDOSが起動できるようになった。で新たにHDDイメージを作って(80Mバイトまでしかできない)、フォーマットしてHDDから起動できるようにし、editdiskを使ってゲーム(Virtual98で動かなかったもののみ)をHDDに放り込む。
そして動かしてみると、Virtual98ではだめだった
闇の稜線も黒の断章も交換日記2もタブーもエアーコンバット3もF19も空軍大戦略もちゃんと動いてくれたのだった。すばらしいぞ!ANEX86 2.1.1.106。というか、ちゃんと機械をエミュレーションしているはずのVirtual86でなんでだめなのかがちょっと不思議。ただ、はANEX86でも動かなかった。というか、本当に実機で動いたのか?って感じ。起動すると即座に不正な割り込み50Hで終わる。
ANEX86はVirtual98と比べると、軽い。音と画面の同期を取っていない。残念なことにHDDイメージが(付属のものでは)80Mバイトまでしか作れない(2台付けることは可能)。上位ゲームを入れるだけで80Mバイトでは足りなかった。また、いろいろなオプションモジュールも出回っている。集めて回るのがしんどいので試していないが。
せめてHDDが大きくできればもうちょっと試せたのだが...さすがに多くのHDDイメージを作る気にはならなかった。
というか、user定義でトラック数を増やせばよかったのか?
また、ディスクイメージはこのツールで変換できる(変換できるものの制限があると、ドキュメントには出ている)。
(2000年2月6日)
ANEX86でHDDを大きく作って動かす。Virtual98で試したゲーム類を放り込んでおく。困ったことにDOS5.0では大きな容量のHDDが使えないため、500MB程にする(大きく過ぎるとアロケーション数が30000程に減らされてしまう)。一応2ドライブ作る。次々に起動を試してみると、
雌猫秘書室、私、悪夢、688、ロンメル、ハープーン、戦略空軍、バランスオブパワー、千恵美、ノバ、しゃぶり姫、など(他にもあり)がだめだった。ただ、動くものはVirtual98に比べるとずっと速い。 はだめだった。
坂井瑞穂