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.
Some users encounter problem with recent firmware and TV in full HD. This was not the case with the 20140106 firmware and 3.10.y kernels. So I created 2 branches : 3.12.y with last firmware and 3.10.y with 20140106 firmware. IF YOU DON'T HAVE PROBLEMS, PLEASE USE THE 3.12.y RELEASE.
raspicade-samba-gamepads-keyboard-pikeyd_ready-20140531.img.gz : Ultra Quiet boot for raspicade. Needed to compile a new kernel with some options. To activate ultra quiet boot, you need to edit the /boot/cmdline.txt file and uncomment the first and comment the second one. After that, you need to type Alt-F2 to see boot messages
raspicade-samba-gamepads-keyboard-pikeyd_ready-20140530.img.gz : Raspicade is now upgraded to the last firmware and kernel (3.12.20+ with Xin-Mo support). Pimenu has been modified. Selected icon is now zoomed, and there is a zoomin/zoom out on selection/deselection : see http://youtu.be/4ZgWPW_eohs.
raspicade-samba-xinmo-keyboard-pikeyd_ready-20140523.img.gz : Raspicade is now fully supporting keyboard or keyboard encoder (like IPAC, Kade http://kadevice.com/ ou pikeydx32 http://atmjoy.com/pikeyd-pi-gpio-keyboard-daemon-i2c-mcp3017/ with pikeyd daemon). Keys are the same for all emulators and are based on the Mame default keymapping :
P1 Up (KEY_UP or JOY_1_UP)
P1 Down (KEY_DOWN or JOY_1_DOWN)
P1 Left (KEY_LEFT or JOY_1_LEFT)
P1 Right (KEY_RIGHT or JOY_1_RIGHT)
P1 Button 1 (KEY_LCONTROL or JOY_1_BUTTON1 or MOUSE_1_BUTTON1)
P1 Button 2 (KEY_LALT or JOY_1_BUTTON2 or MOUSE_1_BUTTON3)
P1 Button 3 (KEY_SPACE or JOY_1_BUTTON3 or MOUSE_1_BUTTON2)
P1 Button 4 (KEY_LSHIFT or JOY_1_BUTTON4)
P1 Button 5 (KEY_Z or JOY_1_BUTTON5)
P1 Button 6 (KEY_X or JOY_1_BUTTON6)
P1 Button 7 (KEY_C or JOY_1_BUTTON7)
P1 Button 8 (KEY_V or JOY_1_BUTTON8)
P1 Button 9 (KEY_BACKSPACE or JOY_1_BUTTON9)
P1 Button 10 (KEY_ESC or JOY_1_BUTTON10)
P1 Start (KEY_1 or JOY_1_START)
P1 Select (KEY_5 or JOY_1_SELECT)
P2 Up (KEY_R or JOY_2_UP)
P2 Down (KEY_F or JOY_2_DOWN)
P2 Left (KEY_D or JOY_2_LEFT)
P2 Right (KEY_G or JOY_2_RIGHT)
P2 Button 1 (KEY_A or JOY_2_BUTTON1)
P2 Button 2 (KEY_S or JOY_2_BUTTON2)
P2 Button 3 (KEY_Q or JOY_2_BUTTON3)
P2 Button 4 (KEY_W or JOY_2_BUTTON4)
P2 Button 5 (KEY_E or JOY_2_BUTTON5)
P2 Button 6 (KEY_T or JOY_2_BUTTON6)
P2 Button 7 (KEY_O or JOY_2_BUTTON7)
P2 Button 8 (KEY_L or JOY_2_BUTTON8)
P2 Button 9 (KEY_TAB or JOY_2_BUTTON9)
P2 Button 10 (KEY_ESC or JOY_2_BUTTON10)
P2 Start (KEY_2 or JOY_2_START)
P2 Select (KEY_6 or JOY_2_SELECT)
Escape (KEY_ESC)
The swap partition has been removed from the SD card and unused stuff has been deleted to save space.
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
security = user
replaced by :
security = user
map to guest = Bad User
Adding the following directive in all share :
read only = no
In event.c at line 527 we replace :
case SDLK_ESCAPE:
joy_state[0][GN_A]=1;
//last=GN_A;
//return GN_A;
break;
case SDLK_RETURN:
case SDLK_KP_ENTER:
joy_state[0][GN_B]=1;
//last=GN_B;
//return GN_B;
break;
with
case SDLK_ESCAPE:
joy_state[0][GN_B]=1;
//last=GN_A;
//return GN_A;
break;
case SDLK_RETURN:
case SDLK_KP_ENTER:
joy_state[0][GN_A]=1;
//last=GN_B;
//return GN_B;
break;
And in menu.c at line 1038 we replace :
case GN_A:
return MENU_CLOSE;
break;
case GN_B:
case GN_C:
by
case GN_B:
case GN_C:
return MENU_CLOSE;
break;
case GN_A:
// case GN_C:
And here we are... let's compile and run... Wonderful.
if (joy_state[0][GN_START] && joy_state[0][GN_SELECT_COIN])
return 1;
Update of the /home/pi/.gngeo/gngeorc file to avoid menu with the player 1 button 6 (MENU=J0B5) :
p1control A=J0B0,B=J0B1,C=J0B2,D=J0B3,START=J0B6,UP=J0a1,DOWN=J0a1,LEFT=J0A0,RIGHT=J0A0,COIN=J0B7
p2control A=J0B10,B=J0B11,C=J0B12,D=J1B13,START=J0B16,UP=J0a3,DOWN=J0a3,LEFT=J0A2,RIGHT=J0A2
gngeorc
fullscreen true
blitter soft
effect scanline50
mame
display_smooth_stretch=no
display_border=0
display_effect=1
pifba
[Graphics]
DisplaySmoothStretch=0
DisplayEffect=1
pisnes
[Graphics]
DisplaySmoothStretch=0
DisplayEffect=1
raspicade-20140502.img.gz : Support of wifi (see french manual for configuration = just need to put SSID and Key in wpa_supplicant.conf) with WPA/WPA2 mode. Adding the ralink-firmare to support the pihut wifi key.
raspicade-samba-xinmo-20140425.img.gz : The distribution contains 2 series of emulators executables and config files : one for standard gamepads (same as previous versions), and one for specific xin-mo module (I integrated severals patches to allow 2 players support for this module. The last one is here http://pimame.org/forum/discussion/comment/2367#Comment_2367. By default the standard gamepads settings are running. To get raspicade working with your Xin-Mo module, you only need to copy executables and config file over the standard one : cp snesx-xinmo-2players snesx; cp snesx.cfg-xinmo-2players snesx.cfg... and so on.
raspicade-samba-xinmo-20140416.img.gz : Some bug fixes for gngeorc file. Integration of the 2 players version of pisnes from https://code.google.com/r/holgatemark1-pisnes-2-player/. Works well with 2 gamepads. Integration of my own mame4all-pi patch which allows to configure the 22 buttons of the xin-mo modules (see https://github.com/petrockblog/RetroPie-Setup/wiki/Troubles-with-the-Xin-Mo-Controller).

Proof of concept :
pi@raspberrypi ~ $ uname -a
Linux raspberrypi 3.10.34 #1 PREEMPT Sun Mar 30 05:08:49 UTC 2014 armv6l GNU/Linux
pi@raspberrypi ~ $
[ 285.035573] usb 1-1.3.2: new low-speed USB device number 8 using dwc_otg
[ 285.145233] usb 1-1.3.2: New USB device found, idVendor=16c0, idProduct=05e1
[ 285.145298] usb 1-1.3.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 285.145320] usb 1-1.3.2: Product: THT Arcade console 2P USB Player
[ 285.145336] usb 1-1.3.2: Manufacturer: THT
[ 285.214536] input: THT THT Arcade console 2P USB Player as /devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3.2/1-1.3.2:1.0/input/input3
[ 285.216642] xinmo 0003:16C0:05E1.0004: input,hidraw3: USB HID v1.01 Joystick [THT THT Arcade console 2P USB Player] on usb-bcm2708_usb-1.3.2/input0
Properties:
Testing ... (interrupt to exit)
Event: time 1396163394.891907, type 3 (EV_ABS), code 0 (ABS_X), value 1
Event: time 1396163394.891907, -------------- SYN_REPORT ------------
Event: time 1396163395.035925, type 3 (EV_ABS), code 0 (ABS_X), value 0
Event: time 1396163395.035925, -------------- SYN_REPORT ------------
Event: time 1396163401.148755, type 3 (EV_ABS), code 0 (ABS_X), value -1
Event: time 1396163401.148755, -------------- SYN_REPORT ------------
Event: time 1396163401.340781, type 3 (EV_ABS), code 0 (ABS_X), value 0
Event: time 1396163401.340781, -------------- SYN_REPORT ------------
Event: time 1396163431.008814, type 3 (EV_ABS), code 1 (ABS_Y), value 1
Event: time 1396163431.008814, -------------- SYN_REPORT ------------
Event: time 1396163431.152831, type 3 (EV_ABS), code 1 (ABS_Y), value 0
Event: time 1396163431.152831, -------------- SYN_REPORT ------------
Event: time 1396163436.033493, type 3 (EV_ABS), code 1 (ABS_Y), value -1
Event: time 1396163436.033493, -------------- SYN_REPORT ------------
Event: time 1396163436.193522, type 3 (EV_ABS), code 1 (ABS_Y), value 0
Event: time 1396163436.193522, -------------- SYN_REPORT ------------
raspicade-samba-20140325.img.gz : Scripting of the selection of audio output at the very first boot : It may be interesting if you use a hdmi-vga converter (instead of hdmi alone). If the HDMI port is connected, the sound is routed by default through it. The script allows to configure the Jack 3"5 output. The script is running in this way :
raspicade-samba-20140324.img.gz : Scripting of IP static configuration for eth0 for the very first boot : It may be interesting to fix the eth0 IP adress for raspicade during the first boot. You don't need to serach for the dhcp delivered IP adress. It becomes more easy to connect via SSH or upload roms by ftp. The script is running in this way :
iface eth0 inet static
address 192.168.1.50
netmask 255.255.255.0
gateway 192.168.1.1
by
iface eth0 inet dhcp
raspicade-samba-20140321.img.gz : Samba/CIFS added to allow Windows users to uploads easily roms on raspicade. If you don't need samba (ssh and ftp is enough for you) you can use raspicade-2014-03-03.img.gz.
raspicade-2014-03-03.img.gz : New splash video with sound. Music from jamendo : Artist Ozzed http://www.jamendo.com/fr/track/361552/i-like-jump-rope. Add a splash out picture when raspicade halts.
raspicade-20140228.img.gz : add a splash video a screen during boot up. Use of omxplayer. Add de "quiet" mode in cmdline.txt
raspicade-20140216.img.gz : add a splash screen during boot up. Use of fbi package which is quick and simple.
raspicade-20140206.img.gz : add the piFBA emulator. It can replace AdvMame and GnGeo.
raspicade-20140124.img.gz : Halt system properly by pressing button 6 in pimenu
raspicade-20140121.img.gz : console-data package added to allow "loadkeys" utility. Minor change in mame.cfg (mam4allpi)
raspicade-20140110.img.gz : update the retrogame program (small bugs fixed)
raspicade-20140103.img.gz : Advancemame and GnGeo emulators added
raspicade-20131223.img.gz : initial version : contains Mame4all-pi, pi-SNES9x and pcsx_rearmed. It starts automatically on Pimenu allowing the choice of the emulator.