・2018/09/24
Raspberry Pi 3でミニスーファミのエミュレータ canoe-shvcを動かす方法の夢を見た
(ラズパイ3で任天同 クラシックミニのスーパーファミコンのエミュレータを動かしてみた夢)
Tags: [Raspberry Pi], [電子工作]
●ミニスーファミをラズパイで動かす方法
Raspberry Pi 3でミニスーファミのエミュレータ canoe-shvcを動かします。
ラズパイで SNES Classic Miniをエミュレートする方法。
Running SNES Classic Mini Emulator on Raspberry Pi
●必要なもの
・Raspberry Pi 3本体
・canoe-shvcファイル(エミュレータ本体)
・.sfrom形式の ROMファイル
sudo apt-get update
sudo apt-get install libsdl2-dev
sudo ln -s /opt/vc/lib/libbrcmGLESv2.so /usr/lib/libMali.so
sudo ln -s /opt/vc/lib/libbrcmGLESv2.so /usr/lib/libGLESv1_CM.so
sudo nano /boot/config.txt
hdmi_group=2
hdmi_mode=85
run.sh
#!/bin/bash
fbset -vyres 1440
./canoe-shvc -filter 3 -rom "$1"
fbset -vyres 720
xrefresh
chmod +x canoe-shvc
chmod +x run.sh
./run.sh game.sfrom
X Window上で動かすとミニスーファミのエミュレータ canoe-shvcが全画面で起動します。と言う夢を見た。
・Raspberry Pi 3でミニスーファミのエミュレータを動かす方法。と言う夢を見た。

・Raspberry Pi 3でミニスーファミのエミュレータを動かす方法。と言う夢を見た。

・Raspberry Pi 3でミニスーファミのエミュレータを動かす方法。と言う夢を見た。

・Raspberry Pi 3でミニスーファミのエミュレータを動かす方法。と言う夢を見た。

●ミニスーファミをラズパイで動かして、USBゲームパッドを使用する方法
色々試したけど USB接続のゲームパッドが使えない。
SDL_GameControllerDB/gamecontrollerdb.txt
sudo mkdir /etc/sdl2
wget https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt
sudo cp gamecontrollerdb.txt /etc/sdl2/
nano sdl2-joystick.c
#include <SDL.h>
int main()
{
SDL_Init(SDL_INIT_JOYSTICK);
atexit(SDL_Quit);
int num_joysticks = SDL_NumJoysticks();
int i;
for(i = 0; i < num_joysticks; ++i)
{
SDL_Joystick* js = SDL_JoystickOpen(i);
if (js)
{
SDL_JoystickGUID guid = SDL_JoystickGetGUID(js);
char guid_str[1024];
SDL_JoystickGetGUIDString(guid, guid_str, sizeof(guid_str));
const char* name = SDL_JoystickName(js);
int num_axes = SDL_JoystickNumAxes(js);
int num_buttons = SDL_JoystickNumButtons(js);
int num_hats = SDL_JoystickNumHats(js);
int num_balls = SDL_JoystickNumBalls(js);
printf("%s \"%s\" axes:%d buttons:%d hats:%d balls:%d\n",
guid_str, name,
num_axes, num_buttons, num_hats, num_balls);
SDL_JoystickClose(js);
}
}
return 0;
}
gcc -o sdl2-joystick sdl2-joystick.c `sdl2-config --libs --cflags`
./sdl2-joystick
pi@raspberrypi:~ $ ./sdl2-joystick
03000000450c00000151000001010000 "2.4G 2.4G Wireless Device" axes:9 buttons:15 hats:1 balls:0
03000000830500006020000010010000 "USB,2-axis 8-button gamepad " axes:2 buttons:8 hats:0 balls:0
gamepad-tool.exe
GUID:
03000000830500006020000000000000
SDL2 Gamepad Tool v1.2 by General Arcade (compiled with SDL version 2.0.7, DLL version 2.0.7)
Website: http://generealarcade.com/gamepadtool/
Searching gamepads...
Found 1 gamepad(s):
"iBuffalo SNES Controller", 03000000830500006020000000000000 (mapping available)
Environment variable "SDL_GAMECONTROLLERCONFIG" is not defined
Checking if new mappings available from github: https://github.com/gabomdq/SDL_GameControllerDB
The GUID for "iBuffalo SNES Controller" is "03000000830500006020000000000000"
Mapping string: '03000000830500006020000000000000,iBuffalo SNES Controller,platform:Windows,a:b1,b:b0,x:b3,y:b2,back:b6,start:b7,leftshoulder:b4,rightshoulder:b5,dpup:-a1,dpdown:+a1,dpleft:-a0,dpright:+a0,'
Searching gamepads...
Found 1 gamepad(s):
"iBuffalo SNES Controller", 03000000830500006020000000000000 (mapping available)
Mapping stringを書き換える必要が有る。
Mapping string: '03000000830500006020000000000000,iBuffalo SNES Controller,platform:Windows,a:b1,b:b0,x:b3,y:b2,back:b6,start:b7,leftshoulder:b4,rightshoulder:b5,dpup:-a1,dpdown:+a1,dpleft:-a0,dpright:+a0,'
03000000830500006020000000000000,iBuffalo SNES Controller,platform:Windows,a:b1,b:b0,x:b3,y:b2,back:b6,start:b7,leftshoulder:b4,rightshoulder:b5,dpup:-a1,dpdown:+a1,dpleft:-a0,dpright:+a0,
を抜き出して、
platform:Windows
を
platform:Linux
03000000830500006020000000000000
を
03000000830500006020000010010000
に書き換える。
最終的に下記になる。
03000000830500006020000010010000,iBuffalo SNES Controller,platform:Linux,a:b1,b:b0,x:b3,y:b2,back:b6,start:b7,leftshoulder:b4,rightshoulder:b5,dpup:-a1,dpdown:+a1,dpleft:-a0,dpright:+a0,
gamecontrollerdb.txt
に追記する。
SDL_JOYSTICK_DEVICE環境変数を設定する。
export SDL_JOYSTICK_DEVICE=/dev/input/js0
pi@raspberrypi:~/sdl-jstest/build $ ls -l /dev/input/js0
crw-rw----+ 1 root input 13, 0 Sep 24 11:09 /dev/input/js0
ゲームパッドを操作すると文字が表示される。
pi@raspberrypi:~/snesmini $ cat /dev/input/js0
%U%U%U%U%U%U%U%U%U%UPuTTY[[\\]^___`
dvde%eBffggghh%hhiiRjjjjjC
pi@raspberrypi:~/snesmini $ cat run.sh
#!/bin/bash
export SDL_JOYSTICK_DEVICE=/dev/input/js0
fbset -vyres 1440
./canoe-shvc -filter 3 -rom "$1"
fbset -vyres 720
xrefresh
色々試したけど USB接続のゲームパッドが使えない。
● sdl-jstest --list
Grumbel/sdl-jstest
sudo apt-get install cmake
cd
git clone https://github.com/Grumbel/sdl-jstest.git
cd sdl-jstest
mkdir build
cd build
cmake ..
make
sudo make install
CMake Error at /usr/share/cmake-3.7/Modules/FindPackageHandleStandardArgs.cmake:138 (message):
Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
Call Stack (most recent call first):
/usr/share/cmake-3.7/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.7/Modules/FindCurses.cmake:196 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:23 (find_package)
Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
sudo apt-get install libncurses5-dev
# -- Found Curses: /usr/lib/arm-linux-gnueabihf/libncurses.so
CMake Error at /usr/share/cmake-3.7/Modules/FindPackageHandleStandardArgs.cmake:138 (message):
Could NOT find SDL (missing: SDL_LIBRARY SDL_INCLUDE_DIR)
Call Stack (most recent call first):
/usr/share/cmake-3.7/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.7/Modules/FindSDL.cmake:188 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:24 (find_package)
Could NOT find SDL (missing: SDL_LIBRARY SDL_INCLUDE_DIR)
sudo apt-get install libsdl-dev
# -- Found SDL: /usr/lib/arm-linux-gnueabihf/libSDLmain.a;/usr/lib/arm-linux-gnueabihf/libSDL.so;-lpthread (found version "1.2.15")
sdl-jstest --list
Unable to init SDL: Unable to open a console terminal
Need KEYBOARD device . X Window .
● Raspberry Piの音声を HDMIから出力する。
Raspberry Pi AUDIO CONFIGURATION
amixer cset numid=3 2
● USBゲームパッド iBUFFALO USBゲームパッド スーパーファミコン風

【新モデル】iBUFFALO USBゲームパッド 8ボタン スーパーファミコン風 グレー BSGP815GY
ASIN: B06XWD8QQJ
中華物が 280円から有りますが、敢えて iBUFFALO製品を購入しました。
●中華製 USBゲームパッド

HotGame ゲームコントローラー USBゲームパッド PCパソコン 有線接続 8ボタン グレー XP、WIN7.8.10、VISTA、MACに対応可能
ASIN: B07BV22HD1
● USBゲームパッド iBUFFALO USBゲームパッド スーパーファミコン風の写真
任天堂から文句言われないのかな?
何らかの許諾を取っているのかな?
※その昔、S社の「遊ぶ駅」のゲームコントローラの形状を無許可で模倣した製品を仕入れて販売をしていた「販売店」が裁判で訴えられた事があったそうです。
・USBゲームパッド iBUFFALO USBゲームパッド スーパーファミコン風の写真

・USBゲームパッド iBUFFALO USBゲームパッド スーパーファミコン風の写真

・USBゲームパッド iBUFFALO USBゲームパッド スーパーファミコン風の写真

・USBゲームパッド iBUFFALO USBゲームパッド スーパーファミコン風の写真

・USBゲームパッド iBUFFALO USBゲームパッド スーパーファミコン風の写真
アマゾンのレビューにも有りますが、煙草のヤニで焼けた様な色をしています。
・USBゲームパッド iBUFFALO USBゲームパッド スーパーファミコン風の写真
ネジ穴の位置も同じ。
・USBゲームパッド iBUFFALO USBゲームパッド スーパーファミコン風の写真
金型からの「抜き」でしょうか?外形の切り欠きの形状も本物と似ています。
・USBゲームパッド iBUFFALO USBゲームパッド スーパーファミコン風の写真

・USBゲームパッド iBUFFALO USBゲームパッド スーパーファミコン風の写真

・USBゲームパッド iBUFFALO USBゲームパッド スーパーファミコン風の写真

・USBゲームパッド iBUFFALO USBゲームパッド スーパーファミコン風の写真

・USBゲームパッド iBUFFALO USBゲームパッド スーパーファミコン風の写真

Tags: [Raspberry Pi], [電子工作]
●関連するコンテンツ(この記事を読んだ人は、次の記事も読んでいます)
FWinSdCardImager SDカード イメージ書き込みアプリ、ラズパイの Raspbian OS、Jetson Nanoの Ubuntuの書き込みに便利
ラズパイや Jetson Nano等のワンボードマイコン等への OSイメージの書き込みが簡単にできる
FWinPiFinder ラズベリーパイ IPアドレス発見アプリ。ARPコマンドでラズパイの IPアドレスを探索発見する
Raspberry Piや NVIDIA Jetson Nano等の IPアドレスを MACアドレスの OUI部分を使用して発見する
Raspberry Pi 3系のトラブルであるある第一位の電源トラブル、低電圧警報に関する情報のまとめ
ラズパイ3B系での低電圧警報に関する情報まとめ、コマンドラインやログファイルから低電圧を検知する方法
Raspberry Piで CPUの脆弱性 Spectreと Meltdownの脆弱性をチェックする方法
ラズパイで 2018年初頭に大騒ぎになったスペクターとメルトダウンの CPUの脆弱性をチェックする方法
Raspberry Pi Zero Wを海外通販の Pimoroni等での購入方法、購入できる通販ショップ一覧まとめ
ラズパイゼロW ワイヤレスモデルを海外通販でサクッと簡単に個人輸入で入手。技適通過でも国内販売は常に品切れ
Raspberry Pi 3で安定して使える相性の無い最適な microSDカードの種類のまとめ
ラズパイ3で安定して使える microSDカードを購入する Teamと SanDiskは絶対に買わない
Raspberry Pi 3 Model Bに専用カメラモジュール RaspiCamを接続する方法
ラズパイに専用カメラモジュールを接続して Raspbianで写真の静止画撮影や動画を録画する方法
Raspberry Pi 3の Linuxコンソール上で使用する各種コマンドまとめ
ラズパイの Raspbian OSのコマンドラインで使用する便利コマンド、負荷試験や CPUシリアル番号の確認方法等も
Raspberry Pi 3公式フォーラムの FAQの内容の日本語訳
ラズパイ公式フォーラムの「The Raspberry Pi 3 Model B Q&A thread」の日本語訳
Raspberry Pi 3で GPIO端子の I2C機能を有効化する方法
ラズパイ3の GPIO端子の I2C機能を有効にして各種センサーを繋げる方法まとめ
大人気の CPUボード、Raspberry Pi 3 Model Bで作ってみよう
Raspberry Piの開発環境の構築やタッチパネル付き液晶ディスプレイや各種センサーの使い方まとめ
Raspberry Pi関連はこちらへまとめました
下記以外にも多数のラズパイ関係の記事が有ります。
(I2C制御、GPIO制御、1-Wire制御、シリアル通信、日本語音声合成、日本語音声認識、中国語音声合成、MeCab 形態素解析エンジン、赤外線リモコン制御、秋月 I2C液晶モジュール、KeDei 3.5インチ液晶、HDMI 5インチ液晶、NFCカードリーダ、コマンドライン操作方法等)
Espressif ESP8266 Arduino互換でスケッチが使える ESP-12Eモジュール基板
Espressif ESP8266 ESP-12-E NodeMCU V1 ESP12 CP2102
BangGood通販はドローン以外にも面白い商品がまだまだ有った(電子工作編)
レーザー彫刻機、カラー液晶の DIYオシロ、Arduinoや Raspberry Pi用の小型カラー液晶
[HOME]
|
[BACK]
リンクフリー(連絡不要、ただしトップページ以外は Web構成の変更で移動する場合があります)
Copyright (c)
2018 FREE WING,Y.Sakamoto
Powered by 猫屋敷工房 & HTML Generator
http://www.neko.ne.jp/~freewing/raspberry_pi/raspberry_pi_3_snes_emulator_csnes_canoe_shvc/