2016/09/04

8bitゲームマシン・コンピューター 「PocketC.H.I.P.」 RetroArch & Gameboy Color エミュレータの使用方法


8bitゲームマシン・コンピューター「PocketC.H.I.P.
公式ブログで「PocketC.H.I.P.」でRetroArch & ゲームボーイカラーエミュレータの使用方法(起動・設定)が公開されています。「PocketC.H.I.P.」でもマルチエミュレータのRetroArchが使えるのは便利ですね。早速、作業工程をかんたん翻訳して解説していきたいと思います。


本記事の解説どおりに導入を行った場合、うまく導入できないことが確認できました。
更に簡単にRetroArchを導入する方法についてはこちらを参考にしてください(リンク先
本記事は、公式フォーラムの翻訳記事として「参考」程度としてください。

「PocketC.H.I.P.」で、RetroArchと
ゲームボーイカラーエミュレータを始めましょう。
「PocketC.H.I.P.」上で自作ゲームボーイカラーソフト「Formula Racing」が実行中

Auston Stewartは任天堂システムがとっても大好きです。
彼はOSX用のファミコンエミュレータ「Macifom」の開発に初めから携わってはいませんが「RetroArch」とゲームボーイカラーエミュレータ「Gambatte」が「PocketC.H.I.P.」上で動かす方法を考えだしました。

「RetroArch」は、複数のゲームコンソールを動作させることができるマルチエミュレータです。最初にStewart(NTCフォーラムの別名:macifom)が考えた方法の通り行い、これから少し解説する順序を踏んでいけば、簡単にゲームボーイカラーをエミュレートさせることができます。

《重要》
操作手順を行う途中でパスワードや、Y/Nの選択肢がターミナル上で表示される場合があります。
パスワードを求められた場合には「chip」(初期状態の場合)、Y/Nの選択肢がでた場合には「y」と入力して「Enter」キーを押しましょう。
※指示がない限り、入力するコマンドは改行をする必要はありません。



1.必要なソフトウェアのインストールをします。

「PocketC.H.I.P.」をインターネットと接続できるようにし、ホーム画面上のターミナルをタップします。

注:「PocketC.H.I.P.」をオンライン(インターネット接続)にさせる方法がわからない場合には「ドキュメント」を読んでください。

以下のコマンドを入力し「Enter」キーを押します。
このコマンドで「PocketC.H.I.P.」にシステムパッケージリストを更新します。
sudo apt update

次にソースコードからRetroArchをコンパイルするために必要なパッケージをインストールします。
sudo apt-get install build-essential git pkg-config libsdl2-dev libsdl1.2-dev



2.RetroArchのソースコードを入手します。
RetroArchプロジェクトのgitリポジトリを複製します。
コピーした全てのソースコードは「PocketC.H.I.P.」上で動作するように構築する必要があります。
git clone https://github.com/libretro/RetroArch.git



3、コンパイル&RetroArchのインストール
作業ディレクトリを「/home/chip/RetroArch」に変更します。
cd ~/RetroArch

以下の全ての引数を指定してconfigureスクリプトを実行します。
これらの引数のそれぞれはRetroArchを構築するために、どれを有効・無効にするのかをコンパイルに通知します。
./configure --disable-sdl --enable-sdl2 --enable-floathard --enable-neon --disable-opengl --disable-gles --disable-vg --disable-fbo --disable-egl --disable-pulse --disable-oss --disable-x11 --disable-wayland --disable-ffmpeg --disable-7zip --disable-libxml2 --disable-freetype

RetroArchをコンパイルするために「make」コマンドを使用します。
make

そして、RetroArchをインストールします。

注:上記に記載された引数はRetroArchのSD2バージョンをコンパイルしています。
無効(disable)に変更することによりSDL1用を有効(enable)にすることもできます。
(-disable-sdlと-enable-sdl2を有効・無効を逆に変更することで)
StewartはSDL1とSDL2の利点と欠点を記事で「説明」しています。ゲームボーイカラーで正しい画面表示(アスペクト比)で遊びたい場合にはSDL2を使用します。



4.RetroArchの設定

RetroArchの設定ファイルを編集するのにテキストエディタ(nano)を使用します。
nano ~/.config/retroarch/retroarch.cfg

設定ファイルの下記項目を編集・保存して「nano」を終了します。
video_driver = "sdl"
input_driver = "sdl"
input_joypad_driver = "sdl"
video_scale = "1.000000"
video_fullscreen_x = "480"
video_fullscreen_y = "272"
video_fullscreen = "true"
video_windowed_fullscreen = "false"
video_scale_integer = "false"
video_smooth = "false"
input_keyboard_layout = "us"

「Ctrl+x」キーを押してテキストエディタ(nano)を終了することができます。
その際に保存するかどうかの問い合わせがあるので「y」を押して「Enter」キーで保存となります。

SDL2を有効(enable)にしてRetroArchをコンパイルした場合、ソフトウェアのシェル変数SDL_RENDER_RRIVERを設定します。
export SDL_RENDER_DRIVER="software"



5.ゲームボーイカラーエミュレータ「Gambatte」の構築
「Gambatte」はゲームボーイカラーのエミュレートするソフトウェアです。
RetroArchで動作するようにコンパイルすることができる様々なエミュレータのひとつです。

ホームディレクトリに移動します。
cd

「Gambatte」のソースコードリポジトリを複製します。
git clone https://github.com/libretro/gambatte-libretro.git

作業ディレクトリを「~/gambatte-libretro/libgambatte」に変更します。
cd ~/gambatte-libretro/libgambatte

エミュレータをコンパイルするために「make」コマンドを使用します。
make -f Makefile.libretro

注:他のエミュレータ(SNESなど)はRetroArchから入手することが可能です。
詳細についてはRetroArch Wikiで確認してください。この記事ではその一つとしてゲームボーイカラーをテストしてみました。



6.自作ゲームソフトのダウンロード&プレイ
「PocketC.H.I.P.」上で自作ゲームボーイカラーソフト「JetPack DX」が実行中

自作ゲーム「JetPack DX」のような、あなたのお気に入りをダウンロードしてください。次のコマンドを入力して「RetroArch」を開始します。
retroarch -L /home/chip/libgambatte/gambatte_libretro.so PATH-TO-ROM

上記の「PATH-TO-ROM」には、あなたがゲームボーイカラーソフトのROMイメージ(.gbc)を保存した場所を指定してゲームを楽しんでください。

翻訳元記事:Get Started with Retro Arch and Game Boy Color Emulation on PocketC.H.I.P. — Blog. by Next Thing



8bitゲームマシン・コンピューター 「PocketC.H.I.P.」でRetroArch & ゲームボーイカラーエミュレータの使用方法(起動・設定)は以上になります。解説例では自作ゲームボーイカラーソフトの動作例を挙げていますが、通常のROMイメージでも動作することが確認されています。

個人的には、自作ゲームボーイカラーソフトとしては、約15年の歳月を経て Affinix SoftwareからROMイメージ・ソースコードが公開された「Infinity」を遊んでみると面白いと思います。

マルチエミュレータのRetroArchが使えるということは、様々なプラットフォーム(ファミコン、スーパーファミコン、ゲームボーイ、ゲームボーイアドバンス、メガドライブなど)も動作できると考えて良さそうです。

「PocketC.H.I.P.」の内部ストレージ容量は4GBほどしかありませんので、多くのゲームを遊ぶ場合には推奨されているUSBフラッシュドライブを用意する必要があります。
現在では小型のタイプも発売となっているので「PocketC.H.I.P.」本体に装着しても目立つことはないと思います。

これからも公式フォーラムで公開された情報をもとに少しずつ理解して情報発信をしていきます。
本記事は、基本的に公式フォーラム・ブログで発表された内容を元にかんたん翻訳をしていますが、理解がしやすいように一部編集・追記がされています。

その他にも公式ブログ・フォーラムで公開された情報についても、解説を行っています。
興味のある方は「PocketC.H.I.P.」 目次 【まとめ記事】を参照ください。



SANDISK USB3.0フラッシュ 64GB SDCZ43-064G-G46 (ULTRA Fit)
SanDisk
売り上げランキング: 594

7 件のコメント:

  1. 3のところでつまづきました。
    unknown option --disable-gles-
    と返されます。
    1、2では特に問題ない様でした。

    返信削除
    返信
    1. コメントありがとうございます。
      コマンド入力部分については、翻訳元記事より引用をしていますが、もしかしたら一部文字が抜けている場合も考えられます。
      翻訳元記事のコマンド入力部分を参照してください。
      私もLinux系OSは初めてなので、知識不足で具体的な解決方法を回答できません。

      削除
    2. 返信ありがとうございます。もちろんここで質問する前に翻訳前の記事を参照したり、似た様なエラー事例がないか調べています。あとで今一度見直したいと思います。

      削除
    3. 公式フォーラムの方に更に詳しい解説が追加されているのが確認されていて、実行できることが確認できました。
      ※翻訳元記事に記載されているフォーラムリンクになります。
      近いうちに修正版として翻訳したものを記事にします。
      ご報告ありがとうございました!

      削除
  2. ざっと見た限りですが、因数にはglesがないようです。後述された9/24レポート分では難なく導入出来ました。ゲームエミュはデジタルデバイスの性能を知るには手取り早くていいですね。ありがとうございます。

    返信削除
  3. 因数→引線、9/24→9/26の書き間違えです。スミマセン。

    返信削除
    返信
    1. コメントありがとうございます。
      指摘されているとおりglesがないようで、その項目を外して進めても上手くいかないようです。
      後述されたレポート分でも確認していただきありがとうございました。
      ご報告していただき助かりました!

      削除