スポンサーサイト

    上記の広告は1ヶ月以上更新のないブログに表示されています。
    新しい記事を書く事で広告が消せます。

    もしこの記事が参考になったなら拍手をお願いします

    RetroPieと物理CDドライブ(その5)

    さて、動かす環境もコントローラの設定も出来たので emulationStation に組み込んでいきます。
    組み込み方については先人の方が色々書かれているのでそちらも参考にしてください。

    まずは組み込むにあたりディレクトリ構造を出しておきます。
    S1704_treeMap.jpg


    1.es_systems.cfg
      emulationstation で扱う新たなカテゴリとして mednafen を追加します。他の定義を真似して書けばいいです。
      ~/RetroPie/roms/mednafen ディレクトリでサーチするROMファイルの拡張子は *.pce としています。
    S1704_es_system.jpg

    2.theme.xml , cotroller.svg , system.svg
      emulationstation の画面上に表示する mednafen のロゴの画像などを定義します。
      とりあえず nes 辺りの内容を mednafen としてコピーしておいて
      どこかでロゴの画像を入れ替えれば良いです。

      $ cd /etc/emulationstation/themes/carbon/
      $ sudo cp -pr nes mednafen

    3.ROM置き場
      新たに mednafen 用のディレクトリを作ってとりあえず *.pce のファイルを格納します。
      $ mkdir /home/pi/RetroPie/roms/mednafen

      単に mednafen を起動するのが目的なので、拡張子がpceであれば中身は何でもいいです。
      私は「物理CDから起動.pce」というコテコテの名前で格納しました。

    4.emulators.cfg , retarch.cfg
      この2つのファイルで mednafen の具体的な起動コマンドを定義します。
      ベースにするファイルはエミュレータが一つしかない psx あたりが良いかも。
      $ cd /opt/retropie/configs
      $ cp -pr psx mednafen
      $ cd mednafen

      そしてemulators.cfg , retarch.cfg を編集します。
      各ファイルの編集結果を cat コマンドで晒しておきます。

    S1704_retroarch.jpg

    これらの設定がうまく行っていれば emulationStation の再立ち上げで
    新たに mednafen 用の環境が出来ていると思います。
    ただし、見た目のロゴなどは nes のままですが(^^;
    S1704_emulationStation.jpg

    実行してゲームが起動すれば万々歳と!

    S1704_SplashLake.jpg

    後はロゴの類を nes から mednafen に変更すれば良いです。
    簡単に言えばロゴの画像ファイルを置き換えるだけ。

    ただ画像ファイルと言っても JPGや PNG ではなく、 SVG というテキストで記載された画像ファイルなので
    それ様のエディタで編集することになります。

    ってことでもうちょっと続きます。。。。





    スポンサーサイト

    もしこの記事が参考になったなら拍手をお願いします

    RetroPieと物理CDドライブ(その4)

    さて、mednafenのインストールも終わったのでこれからコマンドラインからの起動を確認をします。

    その前に1点、起動時に必要なBIOSを格納します。
    場所はホームディレクトリ配下の .mednafen/firmware というディレクトリです。
    PCエンジンは syscard3.pce 、PSは scph5000.bin という名前で格納してください。
    S1704_firmware.jpg

    ではEmulationStationを終了させターミナル画面に降ります。
    S1704_Quit_Menu.jpg


    CD-ROM2のディスクをドライブにセットしてターミナル画面から次のコマンドを実行します。
    "-physcd" オプションと物理CDのデバイス名(/dev/sr0) がミソです。

    $ mednafen -physcd /dev/sr0
    S1704_cmd.jpg

    うまく行けばmednafen がディスクの内容を解析しそれに応じたBIOSを立ち上げます。
    プレステのディスクならプレステのBIOS、CD-ROM2ディスクならシステムカードが起動します。
    S1704_cdbios.jpg

    CD-ROM2ならキーボードからリターンキーを押せば物理CDのゲームが起動します。
    mednafenのデフォルトのキー操作は、上下左右が"WSAD"、IボタンIIボタンはテンキー側の2と3、
    SelectボタンがTAB、Runボタンがリターンキーです。
    S1704_SplashLake.jpg

    とりあえずESCを押せばゲームが終了しターミナル画面に戻ります。
    ターミナル画面を終わらせてEmulationStationに戻るにはexitです。
    S1407_exit.jpg

    とりあえずmednafenの起動は確認できました。

    ただ実装の関係でいかんせん遅いです。(^^;

    ちなみに mednafenから起動するゲーム毎のモジュールには、
    CD-ROM2の場合だとpce、pce_fast と2種類のモジュールが用意されていて、
    デフォルトではpceの方が立ち上がります。

    pce_fast を起動すれば多少カクカクしますがそこそこ動くので
    物理CDを起動した際に pce_fastを起動するようなカスタマイズを、
    あとコントローラのカスタマイズを記載する予定です。 

    そのあと実際にEmulationStationへの組込みについてでしょうか。

    とりあえず今日はここまでです。

    ======== 続き ========
    mednafen のカスタマイズについて。 mednafen の設定を変更する場合
    /home/pi/.mednafen/mednafen-09x.cfg というファイルを編集します。

    1.pce_fast で起動する方法
      mednafenにはPCエンジン用に pce、pce_fast の2種類のモジュールが用意されていて、
      デフォルトでは pce の方が立ち上がります。ただ pce は重いので
      多少カクカクしますが pce_fast を起動するよう変更します。

      mednafen-09x.cfg の pce.enable の値を 1→0 にします。
    S1704_pce_enable.jpg
      
    2.コントローラのカスタマイズ
      CD-ROM2のソフトを光学ドライブに入れmednafenを起動します。
      CD-ROM2が起動後、ALT+SHIFT+1 を入力すると1Pコントローラの設定が出来ます。
      上下左右、各ボタンの設定をジョイスティックやキーボードから「2回ずつ」入力していきます。
      因みに設定項目に出てくる「MODE」は2ボタン6ボタンを切り替えるボタン、「RAPID」は連射ボタンを表します。
    S1704_KeyConfig.jpg

      設定終了後、 mednafen を終了させれば設定内容が mednafen-09x.cfg に書き込まれます。
      見ればわかるように mednafen-09x.cfg に書かれる内容は結構面倒くさい内容です。
    S1704_InputSetting.jpg

    3.そのほか
      これは好みですが、mednafen を終了させるキーがデフォルトではESCキーだけなので
      ジョイスティックからもmednafen を終了させられるようにしました。[command.exit]という項目です。

      設定したいボタンを一度コントローラに組み込んで設定値を mednafen-09x.cfg に書き込ませて、
      その内容を [command.exit]の項目に~(チルダ)で繋いで貼り付けました。
      これでキーボードからもジョイスティックからもmednafenを終了させられます。
    S1704_ExitKey.jpg

    とりあえず mednafen を使うための設定はこんな所でしょうか。
    次は emulationStation への mednafen の組込みです。





    もしこの記事が参考になったなら拍手をお願いします

    RetroPieと物理CDドライブ(その3)

    それでは具体的にレトロパイに一昔前のmednafenを組み込んでいく手順になります。

    因みに構成としては個人環境に左右されにくいよう、新規でレトロパイをインストールしたホヤホヤの環境に
    mednafen を組み込む形にしています。またsshの繋ぎ方、ファイルの編集方法とかファイル転送仕方とか
    基本的な操作について書き出すと大変な事になるのでそういう所は端折ります。
    詰まったところがあれば必要に応じてググって下さい。

    1.レトロパイ4.2のインストール

      新しく microSD を用意してレトロパイ4.2のイメージを流し込んでください。
      イメージの流し込み方は参考になるサイトが色々ありますので省略します。
      私はWin32DiskImagerを使用しています。
    S1704_DiskImager.jpg


    2.レトロパイ4.2のセットアップ

      セットアップ関係を紹介しているサイトも色々ありますので具体的な手順は省略します。
      最低限、ネットに繋がる、sshでログイン出来る、smbでファイル転送が出来るようにしてください。
      あとはお好みでタイムゾーンをTokyoにしたり、キーボードレイアウトを日本語キーボードにする程度です。

      因みにsmbでファイル共有を行う場合、無線(WiFi)だと繋がらないケースがあるので
      有線で繋がるようにすると確実です。

    3.日本語フォントのインストール
      セットアップ直後のレトロパイは日本語の表示に対応していません。
      emulationStationで日本語を表示するならフォントをインストールします。
      sshでログインして以下のコマンドを打って下さい。

      $ sudo apt-get install fonts-droid

      インストール後に追加で行う設定は不要で、emurationStationを再起動するだけで
      日本語の表示が出来るようになります。


    「参考」smb の共有フォルダについて

      デフォルトでsmbを有効にした場合、 bios、configs、roms、splashscreens という共有フォルダが出現します。
      このフォルダがレトロパイのどの部分と繋がっているか絵に描いておきます。
      (詳細は /etc/samba/smb.conf を参照) 
    S1704_smbFolder.jpg

    4.コンパイルの準備(gccの確認、必要なライブラリのインストール)

      mednafenをコンパイル・リンクするにあたりコンパイラの確認をします。
      RetroPieは標準で gcc が入っているのですが、もしなかったら入れてください。
      以下のコマンドを打った時に、/usr/bin/gcc と出ればOKです。

      $ which gcc

    S1704_gcc.jpg

      次にmednafen が必要とするライブラリをインストールします。必要なライブラリは3つです。
      以下のコマンドを順に叩いてインターネットからインストールします。

      $ sudo apt-get install libsndfile-dev
      $ sudo apt-get install libsdl-dev
      $ sudo apt-get install libcdio-dev

    インストールが終わったら、念のためちゃんと入ったか確認します。

      $ dpkg -l | grep sndfile
      $ dpkg -l | grep sdl
      $ dpkg -l | grep cdio

    下の画面のように "-dev"のパッケージが確認出来れば良いです。
    S1704_dpkg.jpg

    5.mednafen のコンパイル

      ホームディレクトリ(/home/pi)に mednafen のアーカイブを置いて展開します。

      $ tar jxvf mednafen-0.9.37.1.tar.bz2
    S1704_archive.jpg

      展開すると mednafen というディレクトリが出来るので中に移動します。

      $ cd mednafen
    S1704_make001.jpg

      具体的にコンパイル・リンクしていきます。
      まずは configure で環境を整え、make でmednafenを作ります。
      順にコマンドを打っていきます。
      ラズベリーパイ3で大体70分、ラズベリーパイ2だと90分位かかります。

      $ ./configure
      $ make

      正常に終われば src配下にmedafenが出来上がっています。ファイルサイズは50M位です。
    S1704_buildEnd.jpg

      仕上げに make install でレトロパイにmednafenをインストールします。

      $ sudo make install

      正常にいけば、 /usr/local/bin に mednafen 本体が、
      ホームディレクトリ配下に .mednafen という設定関連のディレクトリが生成されます。
    S1704_install.jpg

    お疲れ様でした。

    次は実際にコマンドラインから起動してみます。
    ってことで続きます。。。

    もしこの記事が参考になったなら拍手をお願いします

    RetroPieと物理CDドライブ(その2)

    まずは環境や材料など。

    1.使用するラズベリーパイ

      今回組み込むラズベリーパイには RaspberryPi 3 を使っています。

    2.使用するレトロパイについて

      今回リリースされたばかりの4.2、Raspberry2/3 用のイメージファイルを使いました。

    S1704_RetoPie.jpg

    3.接続するUSBの光学ドライブについて

    うちはLogitecのポータブルDVDドライブを使っていて、
    電源はACアダプタから取り、USBケーブルでラズベリーパイと接続しています。

    S1704_IMG_4772.jpg

    dmesg コマンドでOS起動時のログを確認すると、
    ドライブ自体は AD-7640A、デバイス名は /dev/sr0 として認識していますね。
    ですので今後光学ドライブを指定して何かをするときは /dev/dr0 で指定します。

    $ dmesg

    S1704_dmesg.jpg


    4.組み込む mednafen について
      組み込む mednafen は Ver0.9.37.1 という古いバージョンになります。
      以下の場所に置いてありますので入手してください。
      https://github.com/mednafen/mednafen.github.io/tree/master/releases/files

      mednafen-0.9.37.1.tar.bz2 をクリック。
    S1704_mednafen_src001.jpg
      Download をクリックしてPCなどに保存してください。
    S1704_mednafen_src002.jpg

      ちなみにRetroPieには wget も入っているので wgetで直接仕入れるなら直林は以下です。
      https://github.com/mednafen/mednafen.github.io/raw/master/releases/files/mednafen-0.9.37.1.tar.bz2  


    5.小道具など
     とりあえずRetroPieをいじる上で必要なのは
     (1)コマンドを叩いて操作するためのターミナルソフト
     (2)ファイルを転送するソフト

     (1)については私は TeraTermを使ってssh接続しています。
     (2)については私は単にsmbを起動して共有フォルダ経由でPCから流し込んでいます。

     人によっては別のターミナルソフトを使ったり、sftpでファイル転送するなど
     好みもありますので、そこはお任せします。

     sshやsmbを利用するにはOSをインストールした後、 ssh や smb を使えるようセットアップが必要。
     セットアップと言えど、RetroPieにセットアップ用のシェルが組み込まれているので
     単にメニューから設定するだけですので楽ちんです。


    もしこの記事が参考になったなら拍手をお願いします

    RetroPieと物理CDドライブ(その1)

    巷で流行っているRetroPie(RaspberryPi)ですが、CD-ROM2とかPS1とかディスクもののゲームを
    遊ぼうとするとリッピングしてディスクイメージに変換して遊ぶのが前提。

    これでも良いのですがディスクイメージだと容量も食うので
    USBのDVDドライブを繋いで、そこからゲームを起動できないかと探っていたら
    方法が見えたので記事にしようかと。

    mednafen.jpg

    まず前提として、(間違っていたらごめんなさい)
    1.RetroPieで用意されているエミュレータ(RetroArch)はディスクイメージからの起動しかサポートしてない。
      (RetroPie自体は物理光学ドライブに対応している)
    2.RetroArchに組み込まれているCD-ROM2やPS1のエミュレータはmednafen というマルチエミュレータがベース。
    3.RetroArchに組み込まれたmednafenの機能はライブラリ化されているため
      ディスクイメージを読み込ませるととRetroArchがmednafenのライブラリを用いてCD-ROM2やPS1のエミュレーションを行う。

    色々考えてみると
    ・RetroArchありきで色々方法を探ろうとすると結構大変。(ソースの改造・マージなんてしたくない)
    ・ライブラリ化してないmednafenならRetroArchに関係なく単体で動作可能。
    ・mednafenのリリースメモを見ると、2015年2月にリリースされた Ver0.9.38.1 で物理CDからの起動が廃止されたので
     そのひとつ手前の Ver0.9.37.1 なら物理CDからゲームを起動出来る(とのこと)。

    ってことで一昔前の Ver0.9.37.1 の mednafen をビルドして RetroPie(emulationStation) に別エミュレータとして
    組み込めば、物理CDからゲームが起動出来るんじゃ?という目論見です。。


    もしこの記事が参考になったなら拍手をお願いします

    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。