ようやく登場した公式MSXエミュレータ、MSX PLAYer。皆さんは楽しんでいるだろうか。
MSX PLAYerは統一規格たるMSXはハードウェアに依存すべきではないという思想からハードウェア依存性の低いIntent上の仮想マシン上で動作しているためとにかく重いという印象を持った方も多いだろう。筆者もそう思う。(このおかげで、Pocket PC2002環境で動作するMSX PLAYerも同時に出たことからこの思想の一部は実現しているし、合理性も感じるところではあるが。)
処理が重いと何が不都合か。アクションゲームではフレームレートHIGH(30fps)が出ていればプレイに大きな支障は無いが、シューティングゲームではやはりフレームレートREAL(60fps)が出ないとプレイに差しさわりが出る。
MSX PLAYerでゲームを存分に楽しむには、MSX PLAYerが十分に動作する環境を構築したいところだが、よほどのマニアでもない限りそうそう金をぽんぽん出すわけにも行かない。そこでどのくらいの投資でMSX PLAYerが十分に動作する環境を構築できるかの目安とすべく、今回の調査を行ってみた。
今回利用した筆者のマシンのスペックは次のとおりである。2000年秋に自作したマシンであり、今となっては平均よりは下かなと思う。
Windowsのネイティブコードなエミュレータであれば60fpsも十分出るのだが。
CPU | AMD Athlon 900Mhz |
チップセット | VIA Apollo KT133 |
RAM | PC133 CL3 256MBytes |
グラフィックカード | nVIDIA GeForce2MX VRAM 32MBytes |
サウンド | CREATIVE Sound Blaster PCI Digital |
キーボード | PS/2接続 |
マウス | PS/2接続光学マウス |
ジョイパッド | USB接続 |
今回の試験では、ボトルネックになっていると考えられるCPUが本当にボトルネックになっているかどうか(1/20,1/30,1/60秒間に画面の描画処理やCPUエミュレートなどの処理を実機と同様に終えることができるかどうか)を計測していることをねらいとしている。これを実現するために次の方法を選択した。
試験用マシン上で、解像度を1280*960@72khz,16bit colorに統一した状態で(実行中にCPU利用率を見るためである。)、MSX1用のゲームMARS2(NAGI-P SOFTさん作)をプレイし、その際のCPU使用率をタスクマネージャ(Windows 2000/XP)やシステムモニタ(Windows Me)で表示し、その経過を目測して(Windows MeでCPU利用率をファイルに記録する方法を筆者が思いつかなかったため。)その経過を測る方法を取った。
なお、エミュレートするCPU速度はNORMAL(実機のZ80 3.5Mhz相当)で統一している。
この条件で今日主力のWindows Me,2000,XPについてCPU利用率を計測することによってOSが与える影響も同時に計測することを狙っている。
一般的なベンチマークではCPUの処理速度を計測しているが、エミュレータでは実機と同じ速度が出ているかが重要であり、実機と同じ速度以上が出ることはユーザーが意図しない場合逆に問題になることも考えられる。(CPUの実行速度でタイミングを取るソフトがBASIC中心のMSXのプログラムでは多い分問題になりやすい。)そのため、どのくらいのCPU速度で実機と同じ速度になるかという意味で必要なCPU速度の最低限を計測するには意味があるが、それ以上のCPU速度が将来においてどの程度のマージンを残しているかを測るには必ずしも適切とはいえないと考えられる。このことから、将来MSX TurboRのエミュレーションをも視野に入れてCPU利用率の計測という方法を取ることにした。
試験結果は下記のとおりである。
数値はCPUの使用率である。(単位%)
Windows | MIDDLE | HIGH | REAL |
---|---|---|---|
Me | 45-49 | 50-55 | 100 |
2000 | 42-60(普段は48-54) | 58-71 | 100 |
XP | 42-62(普段は48-54) | 60-75 | 100 |
この結果から筆者のマシンではフレームレートがREALの場合、CPUの処理が追いついていないといえる。半分のフレームレートのHIGHではCPUに余裕が出ていることから筆者の環境でMSX2+をフレームレートREALで等速に動作させるにはあと倍くらいのCPUパワーは必要になるといえるだろう。
CPUが高速になるほどCPUエミュレートには余裕が出ることと将来、5倍〜10倍の速度のMSX TruboRをエミュレートすることを考えると、2Ghzオーバー級のマシンがあればMSX PLAYerには十分ではないかと考えられる。
Pentium 4 2GhzではフレームレートREALで実機と等速動作しているという報告があることからもこれは裏付けられると考える。
OSの差異については、通常利用でMe(をはじめとした9x系)の方がNT系(2000、XP)より軽いということを裏付けた格好になり、CPU速度が遅い環境では9x系のほうがエミュレータ動作には向いていると考えられる。が、安定度ではNT系のほうが明らかに上であり、安定度と速度を考慮した上での選択になるだろう。OSの安定度を考慮すると10%程度しか差がつかない状況ではWindows 2000/XPを推奨する開発元の発表は妥当な判断であるといえる。
推奨環境のCPUについては、今回の調査を考慮するとフレームレートHIGHを前提とした記述であると考えられることも今回の調査で分かったことである。
体感速度については、REAL以外では体感する実行速度は実機と大きな差はないが、CPU利用率が50%台と60%台ではレスポンスにおいて、後者のほうがやや重く感じられる。
このことから、CPU速度についてはCPU利用率が50%-60%台前半ではOK、60%台後半が常に続く状態では若干不足、70%を超えるとやや苦しいといったところではないかと考えられる。
今回の試験ではCPUにフォーカスを当てて試験を行ったが、実際には同じCPUでもチップセットが異なる場合や同格のCPUでもアーキテクチャが異なる場合を考慮した試験ができないため、CPU処理は間に合ってるけどそれ以外の部分の遅延で実際には実機と同等のレスポンスが得られない場合も考えられ、より多くの環境での報告が待たれるところではある。
ここで、CPU速度が若干速い(HDBENCH 3.30のInteger(CPUの整数演算):43085 Athlon 900Mhzで38703)の超低電圧版Pentium !!! 933MhzのノートPCを入手したのでこちらでも試してみる。
こちらでは、フレームレートMIDDLEでCPU使用率は40%台ではあるが、明らかな処理落ちが生じている。HIGH以降は結果が明白である。
原因として、ノートPCのチップセットがグラフィック統合型のCyberALADDiN-Tで、メモリ転送能力が低いことが挙げられる。(HDBENCH 3.30のBitBlt:221 GeForce2MXで600台)
このことから、MSX PLAYer用マシンにはメモリの速度が速いマシンが必要となることがわかる。
次に、Athlon XP 2700+(2.17Ghz)マシンを入手できたのでこちらでテストしてみる。
こちらはHDBENCH 3.30の値でIntegerが92620、BitBltが1843である。
Windows | MIDDLE | HIGH | REAL |
---|---|---|---|
XP 16bit color | 25-40 | 35-55 | 75-85 |
XP 32bit color | 22-44 | 29-45 | 85-93 |
この状態でフレームレートREALで実行した場合、ソフトによってごくわずかにテンポが遅くなることはあるが、致命的というくらいにテンポがずれるというわけではない。ゲームをやりこんでいると違いがわかるが、そうでないとこんな物かと納得できる程度である。
このことから、考察で挙げたように実クロックで2Ghz級のCPUがあればMSX PLAYerでMSX2+相当のマシンがエミュレートできることがわかる。
興味深い点として、SPEED NORMALとHIGHでCPU負荷が変わらなかったという点が挙げられる。これは、CPUのエミュレートよりそれ以外のハードウェアのエミュレートの方に負荷がかかるということが考えられる。
書きそびれていたので、だいぶ前になるが、イベントの際に、Pentium M 1Ghzを搭載したノートPCで動作するMSX PLAYerを見る機会があった。
そのマシンでは、MSXマガジン永久保存版2のMSX PLAYerのBlackスキンが音楽のテンポずれなしに動作していたのである。
MSXマガジン永久保存版2のMSX PLAYerのBlackスキンでは自分の持っているAthlon XP 2700+でも音楽のテンポずれを起こしているだけに実に興味深い結果である。
大雑把に考えて、自分のAthlon XP 2700+マシンとPentium M 1Ghzを搭載したノートPCで後者がスペック的に上となる点はFSB位(Athlon XP 2700+:333Mhz、Pentium M 1Ghz:400Mhz)と思われる。
この結果から考えると、MSXマガジン永久保存版2(おそらく構造が同じMSXマガジン永久保存版1のMSX PLAYerも)のMSX PLAYerをフレーム落ちなしに動作させることができるFSBは400Mhz以上と考えられる。
走査線割り込みを使うゲームの場合、CPU負荷率が若干上がるようである。
MSXディスク通信1991年1月号収録のOGISSを実行したところ、CPU使用率は上記の結果の5%増しであった。
この結果から走査線割り込みの処理は重い処理であることがわかる。
Windows 98/Meではsystem.iniの[386Enh]セッションにMinTimeslice=○を追加するという方法でタイムスライスを標準の20msから減らして、CPUを有効に活用することができるが、この設定はMSX PLAYerにも影響があることが分かった。
試験で使ったAthlon 900Mhzマシンではこの設定でMinTimeslice=1を指定した際に、フレームレートHIGHでCPU利用率が40〜52%とやや下がり、レスポンスもよくなることが分かった。
Windows 98/MeでMSX PLAYerを利用するユーザーはこの設定を勧めたい。
Windows Vistaではグラフィックスの処理が大幅に変更されているのでエミュレータの動作特性も変わることが分かった。
Windows Vista RC1で上記のAthlon XP 2700+,GeForce 5600を積んだマシン上で800×600,65536色モードを選択してMSXマガジン永久保存版1とMSXマガジン永久保存版2のMSX PLAYerを実行したところフレームレートREALで若干テンポが遅くなったWindows XP環境と違ってフレームレートREALでテンポが遅くなることもなくMSX PLAYerを実行できた。
Athlon XP 2700+,GeForce 5600ではWindows Vista RC1のパフォーマンス評価ツールではCPUが3.6、グラフィックスが3.4、ゲーム用グラフィックスが3.0という評価が出ているので参考になるかと思う。
ただし、Windows Vista自体がCPU速度を必要とすることやWindows Serchのサービスがバックグラウンドでインデックスを作成している時に突然動作速度ががくっと落ちたり、起動直後に動作速度が若干落ちることがあるということについては注意が必要である。
このことからWindows Vistaではグラフィックチップの能力を生かして描画の負荷を減らすことができるのでWindows Vistaがそこそこ動くマシンではWindows XP環境よりスムーズにWindows Vistaを動かすことができる可能性があることが分かった。
HDBENCHで調べたところ、従来のグラフィックの描画速度はWindows XPより遅いため、フレームレートREALでテンポが遅くなることがないということはMSX PLAYerの実行速度に対するグラフィックの影響は小さいことがわかる。
また、CPU、メモリは変わっていないことからOSの内部処理の違いがMSX PLAYerの動作速度に影響を及ぼしていることがわかる。
Windows Vista正式版でMSX PLAYerを試したところ、MSXマガジン永久保存版1とMSXマガジン永久保存版2収録のMSX PLAYerがうまく動作しないという現象が発生した。
発生した現象は次のとおりである。
自作したばかりということもあり、マシン自体の調査も必要ではあるが、現段階ではMSXマガジン永久保存版1とMSXマガジン永久保存版2収録のMSX PLAYerを動かそうとする場合、Windows XP以前のOSを使ったほうがよさそうである。
もしくは、正常に動作するMSXマガジン永久保存版3収録のMSX PLAYerを使うという手もある。
Windows 7正式版でMSX PLAYerを試したところ、Windows Vistaと同様に、MSXマガジン永久保存版1とMSXマガジン永久保存版2収録のMSX PLAYerがうまく動作しないという現象が発生した。
ちなみに、MSXマガジン永久保存版3収録のMSX PLAYerはWindows Vistaと同様に問題なく動作している。
発生した現象は次のとおりである。
Windows Vistaとカーネルのベースが同じということもあり、動作結果も同様の結果となった。
Windows 7でMSX PLAYerを動作させるにはMSXマガジン永久保存版3収録のMSX PLAYerを使うしかないといえる。
Windows 8正式版でMSX PLAYerを試したところ、Windows Vista/7と同様に、MSXマガジン永久保存版1とMSXマガジン永久保存版2収録のMSX PLAYerがうまく動作しないという現象が発生した。
ちなみに、MSXマガジン永久保存版3収録のMSX PLAYerはWindows Vista/7と同様に問題なく動作している。
発生した現象は次のとおりである。
Windows Vista/7とカーネルのベースが同じということもあり、動作結果も同様の結果となった。
Windows 7でMSX PLAYerを動作させるにはMSXマガジン永久保存版3収録のMSX PLAYerを使うしかないといえる。
Windows 8.1はWindows 8をベースとしているため、動作状況もWindows 8と同様でMSXマガジン永久保存版3収録のMSX PLAYerは動作するが、MSXマガジン永久保存版1とMSXマガジン永久保存版2収録のMSX PLAYerは動作しないという結果に終わった。
発生する現象もWindows 8と同様であり、特筆すべき点はない。
重要な点として、Windows 8.1の発売により、VMWare Playerを使ってXPModeを動かすことでMSXマガジン永久保存版1とMSXマガジン永久保存版2収録のMSX PLAYerを十分なスピードで動かすことができるWindows 7のパッケージ版の販売が終了したことがあげられる。
パーツとの同時購入で販売されるDSP版は販売が続くのでWindows 7+XPMode+VMWare PlayerでMSXマガジン永久保存版1とMSXマガジン永久保存版2収録のMSX PLAYerを動作させることを望む場合はデスクトップPCでパーツとOSの同時購入を検討する必要がある。
Windows 10はWindows Vistaからの延長上にあるため、MSXマガジン永久保存版1とMSXマガジン永久保存版2収録のMSX PLAYerについてはWindows Vista〜8.1と同様に動作しないという結果に終わった。
MSXマガジン永久保存版3収録のMSX PLAYerは正常に動作した。
Windows 11はWindows 10のマイナーチェンジであるため、MSXマガジン永久保存版1とMSXマガジン永久保存版2収録のMSX PLAYerについてはWindows Vista〜8.1と同様に動作しないという結果に終わった。
MSXマガジン永久保存版3収録のMSX PLAYerは正常に動作した。
これらの調査結果を総合するとMSXマガジン永久保存版1とMSXマガジン永久保存版2収録のMSX PLAYerを動作させるマシンに必要な条件は次のとおりになると考えられる。
MSXマガジン永久保存版3収録版MSX PLAYerでは、仮想マシンを使うというアーキテクチャーを放棄したことで、動作させるのに必要な要件はぐっと下がっている。
また、一般的なDirect X(Direct Draw)を使うようになったので、MSXマガジン永久保存版3収録版MSX PLAYerが出た後のWindowsに対する互換性も高まっていると考えられる。
では、MSXマガジン永久保存版3収録版MSX PLAYerの動作についてもう少し掘り下げて見てみよう。
Direct X(Direct Draw)を使っていることからWindows 98〜10までの広い環境でMSXマガジン永久保存版3収録版のMSX PLAYerが動作することが分かった。
よって、MSXマガジン永久保存版3収録版のMSX PLAYerを動かす場合はWindows 98以降であればWindows 10までは問題がないのでこれらのOSを使えばよく、OSはあまり問題ではないと考えられる。
唯一の問題はCPUである。古く低速なCPUでは処理が追いつかずにハングアップすることが知られているので、ある程度の処理速度があるCPUを選択する必要がある。
このことから、MSXマガジン永久保存版3収録版のMSX PLAYerを動かすにはある程度の処理速度を持ったWindowsマシンがあればよいと言える。
ここまでの調査でMSXマガジン永久保存版/永久保存版2に収録されたMSX PLAYerはWindows XPまででしか動作しないことが分かった。
だが、2012年11月の段階で手に入るPCとOSはWindows 7または発売されたばかりのWindows 8を搭載したものしか選べない。Windows 7/8ではMSXマガジン永久保存版/永久保存版2に収録されたMSX PLAYerは動作しない。では、MSXマガジン永久保存版/永久保存版2に収録されたMSX PLAYerを動かすことはあきらめざるを得ないのだろうか。
否、Windows 7/8を搭載したPCでも仮想マシンを作成することでMSXマガジン永久保存版/永久保存版2に収録されたMSX PLAYerを動作させることができるWindows 2000/XPを動作させることができる。
Windows 2000/XPが動けばMSXマガジン永久保存版/永久保存版2に収録されたMSX PLAYerが動作する。
それに、2012年の今どきのPCであれば、仮想マシンでも十分な動作速度、メモリ、ストレージでWindows 2000/XPが動作する。
これなら動作の重いMSXマガジン永久保存版/永久保存版2に収録されたMSX PLAYerも動作するのではないだろうか。
ということで今後もMSXマガジン永久保存版/永久保存版2に収録されたMSX PLAYerを使っていくために仮想マシンで動作するかどうかテストした。
まずは、当方で用意した動作確認環境を挙げる。
2012年11月現在では4年落ちのシステムである。
CPU | Intel Core2Duo 3.16Ghz |
チップセット | Intel P45 Express Chipset |
RAM | DDR2 800Mhz 4GBytes |
グラフィックカード | nVIDIA GeForce 9600 GT VRAM 512MBytes |
サウンド | Realtek ALC889A codec |
キーボード | PS/2接続 |
マウス | USB接続レーザーマウス |
ジョイパッド | USB接続 |
一番手軽なWindows XPの動作環境としてはWindows 7のWindows XP Modeが挙げられる。
これならWindows 7 Professional以上を手に入れれば使用可能なので入手も割と楽なうえ、動作環境の構築も一番簡単である。
まずはWindows 7のWindows XP ModeでMSX PLAYerが動作するかどうかテストしてみよう。
通常の使用形態である統合機能を有効にした場合、MSXマガジン永久保存版のMSX PLAYer、永久保存版2のMSX PLAYer共にウインドウは表示されるが、エミュレーションが開始しないという状態になった。
統合機能を無効にした場合、MSXマガジン永久保存版のMSX PLAYer、永久保存版2のMSX PLAYer共、エミュレーションは実行されるが動作はとても遅く、初期状態のフレームレート設定NORMALでも激しいテンポ落ちが起こり、実用に堪えないことが分かった。
また、Windows XP ModeではUSB接続のジョイパッドを使うこともできないので動作速度の問題を差し引いても実用的ではないことが分かった。
手軽に使用できるWindows 7のWindows XP Modeでは動作速度、周辺機器の問題からMSXマガジン永久保存版/永久保存版2に収録されたMSX PLAYerが分かった。
仮想マシンソフトウェアはWindows 7のWindows XP Modeの他にも色々なソフトウェアがある。
その中で、動作速度、安定性、入手性に定評のあるVMware Playerを使うとどうなるのかについてテストする。
今回はVMware Player 5.0.1を下記の環境で動作させ、MSX PLAYerが動作するかどうかを確認することとした。
こちらの方はWindows 8 64bit版+Windows 2000ゲストマシン、Windows 7 64bit版+Windows XP Modeを取り込んだWindows XPゲストマシンのどちらの構成でもMSXマガジン永久保存版/永久保存版2に収録されたMSX PLAYerが動作したことを確認した。
また、フレームレートについてもMSXマガジン永久保存版2に収録されたMSX PLAYerをturboRをエミュレーションした時にフレームレートの設定をREALにしてもテンポの遅れがなく、動作速度に問題がないことがわかる。この状態でゲストマシンのタスクマネージャでCPU使用率をみると20〜40%台で推移しており、動作速度に余裕があることがわかる。
また、周辺機器についてもUSB接続のゲームパッドを使用することができるので、ゲーム用途に十分対応できるといえる。
これらの結果から、VMware PlayerとWindows 2000/XP、MSXマガジン永久保存版/永久保存版2に収録されたMSX PLAYerの組み合わせは実用的であると考える。
VMware Playerを使用する分には2012年11月時点で4年落ちとなるCore2Duo 3.16GhzマシンでWindows 2000/XPを動作させてMSXマガジン永久保存版/永久保存版2に収録されたMSX PLAYerを使うことができることから現在のPCでMSXマガジン永久保存版/永久保存版2を動作させるのに仮想マシンを使用するという選択肢が現実的なものであることが分かった。
2012年10月にWindows 8が発売されたことから今後、Windows XPのライセンスの元となるWindows 7の入手が徐々に難しくなると思われる。その意味では、今後MSXマガジン永久保存版/永久保存版2に収録されたMSX PLAYerを使うのであれば、Windows 7が入手できるうちにWindows 7を入手してVMware PlayerでXP Modeを使用できるようにすべきであるといえる。
Windwos 8.1でのMSXマガジン永久保存版1とMSXマガジン永久保存版2収録のMSX PLAYerの動作確認結果でも書いたが、Windows 8.1の発売により、Windows 7のパッケージ版の販売は終了している。
パーツとの同時購入で販売されるDSP版は販売が続くのでWindows 7+XPMode+VMWare PlayerでMSXマガジン永久保存版1とMSXマガジン永久保存版2収録のMSX PLAYerを動作させることを望む場合はデスクトップPCでパーツとOSの同時購入が必要である。
Windows 8に続き、Windows 10も登場したことからWindows 7のDSP版も流通が終わると考えられる。
Windows 7+XPMode+VMWare PlayerでMSXマガジン永久保存版1とMSXマガジン永久保存版2収録のMSX PLAYerを動作させることを望む場合は早めにWindows 7 Pro以上を入手することが望ましい。