Menu

HowTo

Ian57
Attachments
20140805_170958tiny.jpg (55436 bytes)
bug_raspicade_fs.png (781996 bytes)
gamelist.txt (76681 bytes)
logoraspicade-medium.png (43814 bytes)
mame-xinmo.jpg (81156 bytes)
new_wiring.png (355064 bytes)
pimenu_before_after.jpg (33788 bytes)
raspib+.jpg (29843 bytes)
raspicade.jpg (50700 bytes)
raspicade_5000.png (138857 bytes)
raspicade_samba.png (43984 bytes)
raspicade_santa.png (55538 bytes)
raspicade_splash.jpg (50224 bytes)

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

Development of Raspicade is Stopped

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.

GitHub Sources

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

Documentation

User's Manual in English

New version : 0.4
Here is the user's manual in english (software translated, sorry not enough time to do it manually) :

User's Manual in French

New user manual : 0.4

News

Happy New Year 2016

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.

Problem with Snes emulator with Rpi1 (Rpi2 is fine)

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 :

  • edit the /home/pi/.emulationstation/es_systems.cfg file
  • comment the path key for libretro snes9x section and uncomment it in the pisnes section.

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

Numerous bugs in 20150512 -> Be sure to DL the 20150513 :)

Please DL the 20150513 release.

raspicade-samba-gamepads-keyboard-pikeyd_ready-B-B+-GPIOready-ES-20150512.img.gz and raspicade-samba-gamepads-keyboard-pikeyd_ready-Pi2Optimized-GPIOready-ES-20150512.img.gz

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 ;).

raspicade-samba-gamepads-keyboard-pikeyd_ready-B+-Pi2-GPIOready-ES-20150423.img.gz : All previous bug are fixed. The next release will have huge modifications. stay tuned.

Problem at boot

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.

Permissions problem

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. .

Input selector script updated

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.

raspicade-samba-gamepads-keyboard-pikeyd_ready-B+-Pi2-GPIOready-ES-20150408.img.gz

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 :

  • new 3.18.11+ kernel with Xin-Mo patch : Linux raspicade 3.18.11-v7+ #5 SMP PREEMPT Tue Apr 7 14:37:34 UTC 2015 armv7l GNU/Linux;
  • Last start.elf and fixup.dat files for a better support of large SD cards see https://sourceforge.net/p/raspicade/discussion/bugs/thread/1351e8ec/;
  • Update of Mame4all-pi with the last release from https://sourceforge.net/projects/mame4allpi/. My XinMo patch has been applied to it;
  • Updates of all libretro emulators
  • Integration of the fixed SDL 1.2 libs to avoid the "black screen" on emulators like Dgen, ScummVm or Stella
  • PIsnes has been recompiled, because it became slow in the last release
  • Adding the Scummvm emulator
  • Adding the mupen64 N64 emulator
  • A new start configuration script to select the type of input : Keyboard or Gamepads or XinMo
  • Upgrade.sh script has been updated too (but use at your own risk!!! not fully tested)
  • Severals bugs has been fixed (ex : pimenu startup bug)

raspicade-samba-gamepads-keyboard-pikeyd_ready-B+-Pi2-GPIOready-ES-20150309.img.gz is out

Corrects the retrogame bug for GPIO support.

Bug in my retrogame GPIO 2 players for Pi2

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 for Pi2 is out

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.

Raspicade on Pi2 with GPIO

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.

http://www.pcauthority.com.au/News/400932,update-raspicade-retro-arcade-project-for-raspberry-pi.aspx?utm_source=twitterfeed&utm_medium=twitter

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

Important

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?

Download

Raspicade has been downloaded more than 5000 times since it was created. Thanks to all of you users ;)

Small bug

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.

New release

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

New release : raspicade-samba-gamepads-keyboard-pikeyd_ready-B+GPIOready-Pimenu-ES1-ES2-2014112.img

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.

Retrogame and ES2 Bug : a SDL2 problem (thanks to Adam Turner for the feedback)):

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.

20141021 : Emulsation Station2 + Dgen 1.33

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 Bug in 20140827 and 20140901 releases corrected in 20140908

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.

Bug in 20140827 release (emulationstation) corrected in 20140901.

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.

New Release

  • raspicade-samba-gamepads-keyboard-pikeyd_ready-B+GPIOready-ES-20140827.img.gz : Big update of the project. By default pimenu is replaced by the amazing EmulatioStation program in its stable release (https://github.com/Aloshi/EmulationStation) used in retropie. It allows an unified way to select roms. Pimenu is still present but not run by default. Edit /home/pi/.profile to activate it instead of emulation station.

Some Homebrew roms have been added to Dgen to test it. They come from http://www.airwalkstudios.com/downloads.php

What's next

Here is a preview of the next release of raspicade

Video not available

pifba, pisnes : Xinmo and gamepad executables unified

These two emulators can be switched to standard (gamepads) and xinmo version with a variable in the config file :

Picodrive supports xinmo

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.

raspicade-quietboot-samba-gamepads-pikeyd-Bplus-20140813.img.gz

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.

What about the new 512 B+

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).

Recent stuff (not yet released and no need to)

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)

Presentation of Raspicade

Firstly designed for gamepads

Video not available

Designed for arcade panel

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

What is Raspicade

Some arcade projects using raspicade

Xin-Mo 2 player based panel

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

Controlling the emulators

Release Notes

Last one

  • raspicade-samba-gamepads-keyboard-pikeyd_ready-B+GPIOready-ES-20140827.img.gz : Big update of the project. By default pimenu is replaced by the amazing EmulatioStation program in its stable release (https://github.com/Aloshi/EmulationStation) used in retropie. It allows an unified way to select roms. Pimenu is still present but not run by default. Edit /home/pi/.profile to activate it instead of emulation station. :

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.

Installation

About Roms...

Using Raspicade

Specific configurations

Logo/Goodies

Todo list

About

The wiki uses Markdown syntax.

Project Members:


Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.