Androidのエミュレーター2024年05月05日 00:01



最近、スーパーファミコン(SFC)のゲームをやっている。古いわりに良く出来ていて楽しめる。それで良く使っているエミュレーターにSnes9xというのがあるのだがこれのAndroid版があるのを知った。SFCには気軽に出来るゲームも多いのでスマホでもやれたら便利と試してみる事にした。

それ以外にPS1、PS2のエミュレーターがあるのを知ったのでこれも試してみる事にした。PSがスマホで動くのは驚きだがそこまで進歩したという事だ。

いずれもGooglePlayでダウンロードできる。今の所、問題や動作不具合は起っていない。ただし、これらは私が個人的に情報を集めてやった事なので当然動作保証等は無い。真似る時は自己責任でやって下さい。


1.必要な物(自己責任でやってね)

エミュレータソフト本体
 GooglePlayからダウンロード可能。
 Snes9x Ex+ 1.5.77  DuckStation 0.1-6291  AetherSX2 1.4-3064

ゲーム本体、メモリデータ、チート ファイル
 SFC .sfc、.srm、.cht、.000~
 PS1 .img、.mcd、.cht、BIOSファイル(.BIN)
 Ps2 .ISO、.ps2、.pnach、BIOSファイル
データ類はMicroSDに置いて使ってますが動作可能でした。
うまく行かない時はスマホ本体に置いて試した方が良いかも。

Bluetooth仕様のコントローラ
 IZMというメーカーのコントローラーを使用。
 Snes9x、DuckStation、AetherSX2で使用を確認。(購入は自己責任で)
楽天Hand5Gは有線でコントローラを接続する必要があるので両Type-Cのケーブル。

Android13、14で動作を確認した。Aquos Sense7使用。
AetherSX2は2025.3現在で公開を中止している。SolidExplorer等を使ってApkからインストールするのは可能だがすぐに起動は出来ない。数日間放置してアプリのインストール先がGooglePlayに変わると動くようになる謎の仕様だ。自己責任でやってみて下さい。

2.使えるようにする(自己責任でやってね)

いずれもGooglePlayからインストール可能。
DuckStation、AetherSX2は最初に起動した時に初期設定が行われる。

DuckStation
 Resolution Scale 3x(for 720p)
 Import BIOS からスマホ内のフォルダを選択して.BINのBIOSを選択後、
  下のNTSC-Jをタップしてファイルを指定。
 ゲームディレクトリを選択。右下の+をタップ。ゲームを入れたフォルダを
  このフォルダを使用 で選択。ファイルアクセスを許可。

AetherSX2
 最適/安全なデフォルト設定を選択
 BIOSをインポートで Import BIOS からスマホ内のフォルダを選択して
 .BINのBIOSを選択。
 ゲームディレクトリを選択。ゲームを入れたフォルダをこのフォルダを使用 で選択


3.設定する(自己責任でやってね)

必要に応じて下記の初期設定を行う。

Snes9x Ex+
On-screen Input Setup-Use Virtual Gamepad-off に設定。(コントローラを使う場合)
エミュレーターの設定 Options
 Video Image Effect hq2x
 Audio Volume で適当に音量設定。
 System Slow-motion Speed 0.5x
 File Paths
 Saves: Content Folder ゲームセーブフォルダ指定。
  Select Forder-上の部分をタップ-Browse For Folder
  フォルダを指定後、このフォルダを使用。フォルダへのアクセス許可。
 Patches:Saves Folder チートファイルのファルダ設定。操作はSaveと同じ

DuckStation
 エミュレーターの設定 App Settings
 Interface-Show Emulation Speed をON。実行速度表示。
        -Show Resolution をON。解像度表示
 System-Turbo Speed 50%、スロー動作、Fast Forward Speed 80%
 Graphics-Resolution Scale 3X(720p) (初期設定時にもあり)
 Audio-Volume 必要に応じて音量変更
 Game List ゲームファイルファルダを設定する。(初期設定時にもあり)
 Memory Cards メモリカードを使いたい場合はデータを指定。

AetherSX2
 アプリ設定
 一般設定-パッチコードの有効化 ON、速度を表示 ON、解像度を表示 ON
 システム-速度制御 ゆっくり50%(初期値)、ターボ75%
 グラフィック-内部解像度の乗数-3xで様子見
 オーディオ-出力音量 100%で様子見
 メモリカード-Import Memory Card で使うデータを読み込み。
        Memory Card1,2 で使うデータを指定。


4.コントローラーを設定する(自己責任でやってね)

Snes9x Ex+
コントローラーの設定 Key/Gamepad Input Setup
 Auto-detect Device To Setup でパッドの設定。
 Bluetoothでパッドを接続して何かのボタンを押すとメニューが開く。
 Gamepad で各キーを設定。スティックで方向、十字キーはエミュ動作に使う
      R2、L2はA,Bボタンの連射用(Turbo)に設定。
 In-Emulation Actions Unbind Allでリセット後
 Joystick Axis Setup Stick 1 as D-pad を off にする。
  十字キー上:Toggle Slow-motion
  十字キー右:Open Menu
  十字キー左:Exit App

DuckStation
左上のメニュー-Controller Settings で設定。
 Touchscreen Controller View を None パッドを使う場合
 Port1 Bindings 以下で各ボタンを設定。画面タップ後コントローラ操作。
    場所によっては2回ONする必要がある。
 Use Analog Sticks for D-Pad をOFFにする。スティックで方向、
  十字ボタンでスロー等を操作する場合。
 Hotkeys でエミュ操作を設定。
  Toggle Turbo     十字キー上、スローに利用。
  Toggle Fast Forward 十字キー下、スロー2に利用。
  Toggle Patch Codes  十字キー左、チートON/OFF。
  Open Pause Menu   十字キー右、一時停止

AetherSX2
 タッチスクリーン-タッチスクリーンの表示-なし
 ポート1-各キーを設定。画面タッチしてコントローラのボタンONで設定。
 ホットキー- 十字キー上:Toggle Slow Motion
        十字キー右:Open Pause Menu
        十字キー下:Toggle Turbo/Fast Forward


5.ソフトを手に入れる(自己責任でやってね) 

 パソコンのエミュレーターで使えるものがそのまま使用可能。
 無い場合は中古ソフトを買おう。私は楽天市場で購入する事が多い。

6.ソフトをイメージ化する(自己責任でやってね) 

SFCはアマゾンでレトロダンパーという製品を購入した。約8000円。
PS1は CdManipulator 、PS2は DVD Decrypter で可能。
 (入手、使用は自己責任で頼む)詳しくは各エミュレーターの記事参照。


7.チートしてみる(自己責任でやってね) 

Snes9x Ex+
 パソコン版の.chtファイルがそのまま使える。
 ゲーム中にメニュー Cheats でON/OFF可。
 直接キーに機能を割り当てる事は出来ない。Add/Edit で追加/変更。

DuckStation
 ゲームを実行後、Pause Menuを出す。
 Patch Codes を選択してチートにチェックを入れる。無い場合はADDで追加
 ADD-IMPORT FROM FILE

AetherSX2
 チートを有効にする場合はゲーム実行後
 ポーズメニュー-パッチコード-パッチを追加-ファイルからインポート(ADD)
 でそのゲーム用のファイル指定。


8.スローモーションしてみる(自己責任でやってね) 

上記の項目3,4のように本体のみでスロープレイが可能。
DuckStation、AetherSX2はTurboとFast Forwardにスロー速度を割り当てて
2種類の速度のスロー動作が可能。スローはゲーム終了後も記憶されてしまう事があるので不要な時は速度を元に戻す。

9.メモリカードを管理する(自己責任でやってね) 

Snes9x Ex+
ゲーム毎にセーブ機能があるものはそれを利用するかステートセーブを使用。
動作不安定なもの(ファイナルファンタジー6)はステートセーブ、ロードを使った方が安全。
DuckStation、AetherSX2  項目3参照

10.ステートセーブ/ロード(自己責任でやってね)

ゲーム実行中、いつでもセーブできる機能が付いている。これは便利なので使いたい。メニューを開くキーを割り当てておく。(項目4)

Snes9x Ex+
Open Menuでメニューを開き、Manual Save States でセーブ/ロード。

DuckStation
Open Pause Menuでメニューを開きSave State/Load Stateでセーブ/ロード

AetherSX2
Open Pause Menuでメニューを開き、セーブステート/ロードステート

SFCのスーパーファミスタ3はパソコンのデータを持ってきてもセーブ部分が
うまく動作しない。データはエミュレータと同じ感じで並んでいるので.sfcファイルのデータを変更する必要がある。その際、チェックサムが違ってしまうのでヘッダデータも変更する必要がある。ROM Checkerというソフトで修正可能。

バイナリエディタStirling等で編集可能。ROM Checkerソフトを実行してヘッダ編集-SMCヘッダ編集/挿入、.sfcファイルを指定して参照。
チェックサム-修正するにチェックを入れて編集。元のファイルも安全のため保存しておく事。



11.まとめ(自己責任でやってね)

まとめて3機種のエミュレーターの設定を書いてみた。
これでかなりのレトロゲームがスマホで動作するはずだ。
コントローラーを使えばゲームマシンとして活躍してくれそう。

それにしてもまさかPS2のゲームが動くとは思ってなかったので動いた時は驚いた。これでNFLのゲームが出来る。
楽天Hand5Gですら動作可能で割とスムースに動くのは驚きだ。
技術の進歩はすさまじい。

しばらくこれで十分に遊べそうなのでコントローラーを持って行ってわざとらしく遊びたい。10年後はPS3も動くかもしれないな。
10インチ位のタブレットを買えば十分大画面でモバイルで遊べるとあほな事も
頭に浮かぶがそれはもう少し先でいいだろう。

まずは来月の旅行に持って行きたい気もするな。