日曜日に、何気なくPC-9801やPC-8801で良いエミュレーター(以下 エミュ)は無いか調べていたところ…
マルチプラットフォームに対応している PC-8801ma のエミュレーター XM8 を見付けました。以下に、そのサイトへのリンクを貼って置きます。そこからエミュのバイナリなどをダウンロードする事ができます。
このエミュ(XM8)は、Windows・Android・Linux(Ubuntu)に対応しています。
1年半前に試した QUASI88 の方が多くの機種(PSP etc)に対応していますが、問題も多く起動させるだけに留まっていました。その当時の記事は以下のリンクをご参照ください。
結論から先に述べると今回、試した XM8 の完成度は非常に高いです。100点満点と言いたいところですが…
SRのデモ実行時、動物たちのオーケストラの場面で画面全体がフラッシュするのですが、画面の一部がフラッシュしない不具合が見受けられました。他にも同じような不具合があるかも知れないので、その辺りの改善は今後に期待です。
UIは各プラットフォームともに共通で、分かり易く好印象です。Windows版で唯一残念に思ったのは、全画面表示ができないところで、 ※ Alt+Enter キーで全画面にできました。Android版では特に不満点はありません。
画面のアスペクト比は固定されており横に伸びてしまう様な事はなく、FM音源も実機に近く良い感じです。
操作性は、ゲームパッドにキーボードの任意のキーを割り当てられるので、別途フルサイズのキーボードを用意しなくてもゲームパッドで遊ぶ事が可能です。Logcool の F710 を用意し試してみましたが、何故かXinputだと方向キーが効かず、DirectInputに切り替えたところ正常に動作しました。Xbox360のコントローラーしか持っていない場合、使えないかも知れません。PC版ではどちらの入力形式でも問題無く動作しました。
前置きが長くなってしまいましたが XM8 で、ゲームを遊ぶまでの手順を簡単に箇条書きで記します。注意として、エミュでゲームを遊ぶにはエミュの知識と実機のROMイメージが必要です。その辺りの知識がある事を前提にインストール手順を書いて行きますのでご了承ください。
WindowsPCで準備
1.一番上のリンクのダウンロードから、zipファイルをダウンロード
2.zipファイルを任意のフォルダに解凍
3.Android フォルダ内の「XM8.apk」を USBメモリや microSD にコピー
Android端末で準備
4.Android端末にコピーしたデバイス(USBメモリや microSD)を接続
5.Androidの「設定」-「詳細設定」-「セキュリティ」-「提供元不明のアプリ」を「オン」に変更
6.ESファイルエクスプローラーなどで、「XM8.apk」を Android端末の任意のフォルダにコピー
Android達末にインストール
7.「XM8.apk」を実行し XM8エミュをインストール
※microSD などから直接実行するとインストールに失敗する恐れがあります。
8.用意した実機のROMイメージを /storage/emulated/XM8 フォルダにコピー
※コピー先のフォルダは機種により場所が異なる場合があります。
9.XM8 フォルダ内に、ゲームなどの ROM置き場を作成 ※私は「Disk」フォルダを作成
10.ゲームなどのディスクイメージを 9.で作成した ROM置き場にコピー
11.XM8エミュを実行し、セッティング
※必要な実機のROMイメージやエミュレータの詳細設定については、ダウンロードしたzipファイル内の「README-XM8.txt」に詳しく書かれているので、そちらを参照してください。
以上で、XM8 を使いPC-8801のゲームなどを、Android端末で実行可能になります。
ゲームパッドでの操作性も良く、テクザーなどのヘビーなゲームもコマ落ちなしで快適に遊べています。
これで本当に持っている全ての端末で PC-8801のゲームが遊べるようになりました。時間のある時に、Remix OSの oBook10SE にもインストールして試してみたいと思います♪
※追記 2018.6.25
久しぶりに「PC-8801MAエミュレータ XM8」のHPを覗いてみると…
version 1.61 → version 1.70にバージョンアップされていました。
これは試さねばと思い、ダウンロード後、取り合えずAndroidに最新版のapkをインストールしました。しかしソーサリアンのミュージックディスクが起動しないなど動作が不安定に…
どうも旧システムからの上書きインストールでは上手く動作しないようで、一度 XM8 をアンインストールし、再インストールしたところ問題なく動作するようになりました。
続いて、メインのデスクトップPCに新しい Windows X64版のバイナリ(以下の2ファイル)を旧バイナリ置き換え動作を検証しました。
・SDL2.dll
・XM8.exe
起動したのですが…何か変!? 音が出なくなってしまいました。まずは 1.61に戻して暫し考察。
取り合えず、XM8.exe のみ新しいバイナリに置き換えてみたところ、無事に動作し音も出るようになりました。問題は SDL2 にある事に間違いないのですが、理由は分かりません。
この状態で SRのデモを実行したところ以前でていた不具合は解消され実機と同じ動きになりました。SDL2.dllは置き換えなくても特に問題はでていないので、暫くこのままで使って行こうと思います。
これで Android、Windowsに問わず PC-8801をエミュレートできて大満足です。持っている端末で PC-8801 をエミュレートできないのは、iPad pro のみとなりましたが、こればかりは致し方なしですね。
複数台のwin7 64bit環境を所持しています。
そのうちの一台がXM8 v1.70で何故か音が全く出ず、いろいろ試したところv1.61に付属のSDL2.dllを上書きすると音が出るようになりました。
症状が出る環境と出ない環境があって何が違うのかぜんぜん分からなかったですが、新しいSDL2.dllがサウンド周りの何かに影響を与えているのかもしれませんね。
コメントありがとうございます。
自分のメインPCでも全く同じ状態だったので、SDL2.dllのサウンド周りの不具合なのでしょうね。このブログがお役にたったようで何よりです。
ここにたどり着きました
SDL2.dllがアヤシイとヒントをいただき検証したところ
SDL2のV2.0.5以上で音が出なくなるようです
※SDL2の旧バージョンはhttps://www.libsdl.org/release/
からDLできます
お役に立てて何よりです。
新しいSDlの2.0.5以上がダメなのですね。
詳しい情報、ありがとうございます。
あと、Androidのテストも拝見しました。
ぬるぬる動くようですね。
私もAndroid+ゲームパッド試してみたいと思います。
懐かしさに浸りながら。
初めまして。お役に立てて何よりです。
PCは勿論、Androidでも最近の機種であればぬるぬる動作するので、ぜひお試しください。
最近、オークションでも動作する実機が減り高値になりつつあるので、エミュの存在はありがたい限りです。