is a distribution full configured for retrogaming on Raspberry (256, 512B and the latest 512B+ models are supported). It is based on Moebius Linux and uses 4 emulators optimized for Raspberry Pi : Mame4all-pi, piFBA, pi-SNES9x, Dgen and Picodrive. It starts automatically on EmulationStation allowing the choice of the emulator and games. It fully supports the XinMo 2 players arcade module in all installed emulators. They have been patched to fully support 2 players/Xin-Mo arcade module. Raspicade is fully supporting keyboard or keyboard encoder (like IPAC, Kade http://kadevice.com/ or pikeydx32 http://atmjoy.com/pikeyd-pi-gpio-keyboard-daemon-i2c-mcp3017/ with pikeyd daemon). Last B+ GPIO is supported too (see wiki for details). Keys are the same for all emulators and are based on the Mame default key mapping.
Raspicade users, please, post links of the pictures of your working cab in the forum https://sourceforge.net/p/raspicade/discussion/halloffame/. Best works will be put on this page https://sourceforge.net/p/raspicade/wiki/Projects%20using%20Raspicade
I stop the development of Raspicade to contribute to Recalbox. This distro is much better than mine, and managed by a team. Thanks to all users who help to make raspicade better. See you on RecalBox Community.
All modified sources (for xin-mo support) are available on my GitHub : https://github.com/raspicade
All config files are located on GiHub too : https://github.com/raspicade/Raspicade-configuration-files
New version : 0.4
Here is the user's manual in english (software translated, sorry not enough time to do it manually) :
New user manual : 0.4
French printable booklet A5 Manual here : booklet_manuel_raspicade_v0.4.pdf
French web page here http://www.morere.eu/spip.php?article176 and here http://www.gamoover.net/Forums/index.php?topic=29428.0
Hi there,
I wish a happy new year 2016 to all Raspicade users. I had a lot of work the last 6 months which prevent me to work on the next release of Raspicade.
I started to work again on it. I hope a new release will be soon available.
Stay tuned.
I made some test on a Pi 512 rev B. There is problem with the libretro snes9x emulator which is selected by default. Rpi1 is not enough powerfull for libretro and sound is crackling !
All is working fine with the standalone pisnes (need some key configuration modification on xin-mo, because start is not working : get the new config file here https://raw.githubusercontent.com/ian57/Raspicade-configuration-files/master/pisnes/snes9x.cfg-xinmo-2players).
So for RPi1 you need to use pisnes instead of libretro snes9x.
it is easy to configure :
the new config file is here https://sourceforge.net/p/raspicade/discussion/general/thread/7aafc063/6d6b/attachment/es_systems.cfg
Thanks to all of you for the feedback
Please DL the 20150513 release.
Major revision of raspicade. Now there is 2 specific releases of raspicade : one for Pi1 B512 B+ and another optimized for Pi2. BE SURE TO DOWNLOAD THE RIGHT ONE!!!. This last one includes in addition advancemame emulator which supports more recent roms pack (0.106). In this release, all power consuming emulators have been compiled with armv7 optimization. EmulationStation has been enhanced and includes background music for each emulator, a quick access to Ip adress from the menu. Due to the integration of advmame, the xinmo wiring has been modified. See below for the new wiring (only 5 wires have to be moved). Xbox controllers (wired and wireless) are now supported by default thanks to the xboxdrv driver, but emulators are not yet configured fot them. You'll need to do that ;).
Some users encounter problem when booting the yesterday release : "Superblock last mount time is in the future".
It comes from a date problem. Here on the picture, the current pi date is 8 of april, and my distro was made on 9 of april... the system can't boot in the future ;)
to fix that easily just plug a keyboard and type the password "pi". after that run the following command
# fsck.ext4 /dev/mmcblk0p2
# reboot
this will fix the problem.
The fixed SD image is already uploaded.
There are permissions problem on 4 directories : mupen64 and scummvm roms, retroarch bios and videos folders.
To correct that do the following :
$ mkdir /home/pi/retro/roms_scummvm
$ chmod 777 /home/pi/retro/roms_scummvm
$ chmod 777 mupen64plus/roms/
$ mkdir /home/pi/retro/bios
$ chmod 777 /home/pi/retro/bios
$ chmod 777 videos/
$ sudo /etc/init.d/samba restart
The roms should be uploadable.
The fixed SD image is already uploaded. .
I updated the input selector script to include GPIO (retrogame) and MCP module (pikeyd) selection. See https://github.com/ian57/Raspicade-configuration-files/commit/8d03b843f38d36e2379516ff02c789d2a6f183cc#diff-b04cf1e875a950a775567cba87fbebc5
You can update the 20150408 release with these commands :
$ cd temp/Raspicade-configuration-files/
$ git pull
$ sudo cp etc/rc.local* /etc/
$ cp piinputconf.sh ~/
$ sudo reboot
The fixed SD image is already uploaded.
I discovered lately that the startup scripts had no effect on configuration!!! The recent updates keep the file system in Read Only mode during the boot preventing the configuration scri
pts to write in files. I delayed the configuration script to make them work. The release of Raspicade has numerous novelties :
Corrects the retrogame bug for GPIO support.
made a mistake in the retrogame 2 players for Pi2. I modified the ioTFT array instead of the ioStabdard array. As a consequence, no key is sent to the emulators or frontend. This is corrected in the github repository https://github.com/ian57/Raspicade-configuration-files/commit/45cfe6c33127755c31b51aec8b51d82adf8de783 and https://github.com/ian57/Raspicade-Retrogame-2Player-Pi2. Will upload an update soon. Stay tuned.
If you don't want to wait the next release, just git clone https://github.com/ian57/Raspicade-Retrogame-2Player-Pi2.git and copy the files in the ~/Raspicade-Retrogame-2Player-Pi2/ directory. It should work.
raspicade-samba-gamepads-keyboard-pikeyd_ready-B+-Pi2-GPIOready-ES-20150302.img.gz : Support of the Pi2 (quad core). Modification of the SDL 1.2 libs ( http://malus.exotica.org.uk/~buzz/pi/sdl/sdl1/deb/rpi1/), xin-mo bug corrected thanks to http://blog.petrockblock.com/forums/topic/autofire-on-the-axis/#post-87758 and https://learn.adafruit.com/raspberry-pi-kernel-o-matic/. Retrogame program with GPIO now supports Pi 1 and Pi2 devices (https://github.com/ian57/Raspicade-Retrogame-2Player-Pi2). New scripts to switch easily from gamepads to xinmo, or from xin-mo to gamepads (ConfigToXinmo.sh and ConfigToGamepads.sh).
It is compatible Pi A A+ Brev2 B+ and Pi2.
Adam Turner, a australian journalist has made a good article which explain how to update Raspicade to make it work on the new Pi2. He's using the GPIO wiring.
Great thanks to him for the job made.
If you are brave, you can use it to make your own upgrade.
I discouraged XinMo users to do that, because it does not fix the new xinmo bug in the kernel. They need to wait for my release of use the fix at http://blog.petrockblock.com/forums/topic/autofire-on-the-axis/#post-87758
DO NOT UPGRADE FIRMWARE OR KERNEL
I bricks gngeo Dgen for me. see http://pimame.org/forum/discussion/1584/solved-waiting-for-dbus-address-to-appear-after-dist-upgrade#Item_6 or http://pimame.org/forum/discussion/1585/black-screens-after-apt-get-dist-upgrade#Item_1
it bricks scummvm and stella for this user too.
I think that the Pi 2 is the reason. They made strong modifications to support this new hardware and broke something.
I tried to recompile the emus on this new firmware without success.
Kernel went from 3.14 to 3.18! a huge step no?
Raspicade has been downloaded more than 5000 times since it was created. Thanks to all of you users ;)
In the es_systems.cfg file for ES1. Dgen command line is wrong and prevents roms to launch :
edit the file and replace the line
COMMAND=clear;home/pi/dgen/bin/dgen %ROM% > /dev/null 2>&1
with
COMMAND=clear;/home/pi/dgen/bin/dgen %ROM% > /dev/null 2>&1
and reload ES1, that's all.
raspicade-samba-gamepads-keyboard-pikeyd_ready-B+GPIOready-ES-20141211.img.gz : Christmas release of Raspicade ;). This release has huge modifications : integration of libretro for new emulators : NES (fceu), GB/GBC (gambatte), GBA (meteor), PlayStation 1 (PSX), Atari2600 (stella), Vectrex (vecx). ES2 is the default frontend. New boot up video (with or without sound). Some tuning in emulators command to avoid text in the console.
Video not available
A bug appeared when you use The retrograme program to use GPIO as panel input with EmulationStation2 see http://blog.petrockblock.com/forums/topic/emulationstation-2-gpio-input-problem/#post-17082. In fact, GPIO Input are not recognize by ES2. The basic idea is to create the file /etc/udev/rules.d/10-retrogame.rules and add this line to it:
SUBSYSTEM=="input", ATTRS{name}=="retrogame", ENV{ID_INPUT_KEYBOARD}="1". This workaround is integrated in this release of raspicade.
Retrogames programs have been modified. A shutdown button management
on GPIO15 (for B+) and GPIO 24 on (revB) has been added. See https://github.com/ian57/Raspicade-Retrogame-2Player-BPlus. This allow you to
connect a button to shutdown properly the system.
The Upgrade script is normally stable and can be used to upgrade a previous release of raspiade. In the home of Pi just run ./raspicade_update.sh. This will do the git pull and all the stuff thanks to the Upgrade.sh script located in ~/temp/Raspicade-configuration-files.
According to http://blog.petrockblock.com/forums/topic/emulationstation-2-gpio-input-problem/#post-17082 a bug from SDL2 prevents Retrogame program (panel control using Raspberry GPIO) to work with ES2. None of the control have action in ES2.
A 1st solution consists in patching the SDL sources (https://github.com/CrazySpence/Adafruit-Retrogame) : copied the new SDL_udev.c to /opt/retropie/supplementary/SDL-2.0.1/src/core/linux/ and recompile SDL2 and ES2 with the new SDL libs. But Modifying the sources is not really good!
So another non source invasive solution is given here : https://github.com/adafruit/Adafruit-Retrogame/issues/5#issuecomment-50083508 from tdicola :
I took a look and think I have a udev rule that's easier to setup than compiling SDL2 with a custom patch. This rule should find the retrogame keyboard device and assign the ID_INPUT_KEYBOARD=1 property that SDL2 seems to require (and what the patch posted earlier changes). I tested it out with buttons wired up according to the guide (at https://learn.adafruit.com/retro-gaming-with-raspberry-pi/buttons ) and it seems to work with emulation station and the latest retro pie v2.3. When I press up/down/left/right etc the frontend navigation works as expected. Can folks here give the udev rule a shot to see if it helps and confirm it works?
To apply the rule, connect to your pi in a terminal/SSH session and create a new file /etc/udev/rules.d/10-retrogame.rules by running the nano text editor. Execute:
sudo nano /etc/udev/rules.d/10-retrogame.rules
Nano should open to a blank file, then copy in this line exactly:
SUBSYSTEM=="input", ATTRS{name}=="retrogame", ENV{ID_INPUT_KEYBOARD}="1"
Press Ctrl-O and then enter to save the file, then press Ctrl-X to exit. Restart your raspberry pi, then make sure retrogame is running (either explicitly run it, or let it run automatically if configured to do so in your rc.local file). Load up emulation station or other frontends that use SDL2 and try pressing the buttons that retrogame is listening to, hopefully you'll see the key presses occur as expected. Let me know if this works for folks here.
This workaround has been tested successfully bu Adma Turner. Great thanks to him. It will be integrated in the next release of raspicade. Stay tuned.
This new release let you choose among PImenu, EmulationStation1 and EmulationStation2 frontends. Dgen in release 1.33 is also integrated. Correction of buttons 2-3 inversion on pifba. Button 5-6 for player 2 in mame4all are configured.
Adding a frontend selector at boot time : Choose among Pimenu, EmulationStation1 and EmulationStation2. As for audio and net, rename in avoid_config directory the file no_frontendconf_at_boot.remove_extention_to_deactivate_question to no_frontendconf_at_boot.
Update to latest kernel and firmware : Linux raspicade 3.12.30+ + Oct 17 2014 18:00:02 Copyright (c) 2012 Broadcom version 845092531e360acd37f2f1964157f8079c77edfb (clean) (release).
Scraper has been modified to record the name of the game instead of the rom filename even if the image is not found in database.
PiFBA XinMo management was good but not for gamepads. Without xin-mo support (gamepads), 1st player controls the player 2 either!! Bug is corrected see : https://github.com/ian57/Raspicade-pibfa-xinmo/commit/2db6b2d67b7c67aec2e6591544d4d8f3b8168332. To install the new binary, just download it from https://github.com/ian57/Raspicade-configuration-files/raw/0bb2cb720481a03370f2e794e979e201dad96cea/pifba and overwrire the olf one. Don't forget to give it exe rights (chmod 755 fba2x). if you use gamepads overwrite the config file too : cp fba2x.cfg-gamepads fba2x.cfg.
Added omxplayer in ES as video player for avi and mp4. Use of joy2key to emulate keyboard keys durong playing. 6 buttons of the gamepads are mapped : pause/play, quit, 30s forward, 30s backward, 300s forward and 300s backward.
A bug in emulationstation config files prevent it from working (can't move in menu, no selection possible).
If you can connect your Pi with SSH, delete the file .emulationstation/es_input.cfg file and reboot. You'll be ask to configure your pad/joystick/keyboard.
If not, get the last release 20140901.
If you use composite output use Picodrive instead of Dgen as genesis/megadrive emulator. Dgen is not working with the composite output.
Some Homebrew roms have been added to Dgen to test it. They come from http://www.airwalkstudios.com/downloads.php
Here is a preview of the next release of raspicade
Video not available
These two emulators can be switched to standard (gamepads) and xinmo version with a variable in the config file :
I've patched Picodrive notaz's sources to enabled native xinmo support with picodrive and hide menu (for use with EmulationStation). See https://github.com/ian57/Raspicade-pisnes-xinmo.
Update to last firmware and kernel 3.12.26+. The last Raspberry Pi B+ is fully supported. Adding music to pimenu. Activated by default, to mute music, change the playbackgroundgsong variable to 0 in pimenu/pimenu.cfg. The song is loop played and can be changed by replacing the song.mp3 file by yours (mp3 format only) in pimenu directory. Adding the support of the last GPIO of B+, see https://github.com/ian57/Raspicade-Retrogame-2Player-BPlus and https://github.com/ian57/Raspicade-Retrogame-1Player.
The raspicade image is working with the latest 512 B+ Raspberry Pi. But il will produce soon an new version of Raspicade with the latest firmware which fully support this new device.
Good news for xin-mo users, the latest rpi update use 3.12.25 kernel and the xin-mo module is natively present and fonctionnal. No more need to compile kernel ;) (except for the quiet boot).
Testing vertical and cocktail mode for raspicade :
Video not available
To activate vertical mode on the raspberry pi display, just add the following line to the /boot/config.txt
display_rotate=1
For the cocktail mode, only mame4all-pi supports it. You can activate it in the configuration of mame (tab key during a game)
Video not available
This distribution will support natively the 2 players Xim-Mo arcade module with Mame, PiFBA, GnGeo and piSnes. It required lots of source code patches and compilation ;-) : kernel, mame, pifba and pisnes.
Next : SmallCade, A distribution, based on raspicade, especially developped to support the 2 players Xin-Mo arcade module (http://www.xin-mo.com/?page_id=34). It will be soon released. Stay Tuned.
Video not available
All steps of the construction of an arcade panel using a Xin-Mo module.
For Raspicade configuration please see Installation Page -> Xin-Mo 2 players Howto
Last one
Dgen and picodrive genesis emulator have been added to Raspicade. Only Dgen is activated by default. To activate Picodrive, please edit .emulationstation/es_systems.cfg and uncomment :
NAME=felix
DESCNAME=Fix It Felix
PATH=/home/pi/PicoDrive/romfelix
EXTENSION=.zip .ZIP .smd .bin
COMMAND=/home/pi/PicoDrive/PicoDriveOneRom %ROM%
#COMMAND=/home/pi/PicoDrive/PicoDrive %ROM%
PLATFORMID=36
WARNING : Snes9x, Pifba, Mame4all and gngeo are still present but won't be showed in the EmulatioStation interface until roms will be present in their respective roms directory.
All emulators support the Xin-Mo module. Picodrive notaz's sources have been patched to enabled native xinmo support with picodrive and hide menu (for use with EmulationStation). See https://github.com/ian57/Raspicade-PicoDrive/commit/7177879a50d3e4ec84a9041e645c3152a5932eb0.
Pifba and Pisnes can be switched to standard (gamepads) and xinmo version with a variable in the config file :
- pifba : see https://github.com/ian57/Raspicade-pibfa-xinmo/commit/c0d9091fee5982fba00212fec17997e8d40e0905
- pisnes : see https://github.com/ian57/Raspicade-pisnes-xinmo/commit/e652aee7f11e9d794e19166da5250302b41369f8
More information will be provided in the next release of the documentation.
The wiki uses Markdown syntax.