Sunday, July 7, 2013

Raspbian + MAME4ALL + XBMC

So as to not loose what I posted to Facebook, I'll recopy below for posterity...

OK - I'll bite...picked one up from Amazon, installed a 32GB SD with (Raspbian) Linux and MAME4ALL and was able to play Galaga (and Time Pilot '84, and...) as if it were the Windows port so "well done" to the Raspberry Pi folks. Had to tweak some of the UK/GB wheezy configs, but that's just normal Linux stuff. Amazing what can be done with a little $35 "computer" (albeit a tad "slow" compared to the typical multi-core/GHz monsters we have these days).

I took the total high road approach (install/tweak Linux, use the Pi Store app to download/install MAME4ALL and SFTP'd the ROMS from my Windoze PC via WinSFTP and "voila", insta-game machine, including sound). Ideally I would think you'd want to configure X11 to autostart the MAME app which wouldn't be that hard (throw it in the .xinitrc startup script?), but would need to test that out. This was literally an hours worth of tinkering . I haven't tried the NOOBS/multi-OS approach yet, but would think that would be the route you'd want to go rather than have multiple SD cards - just configure both OS images to do what you want and then pick one from the boot menu.

...hmm, since I started with Raspbian, I'll see if I can just add XBMC via http://www.raspbian.org/RaspbianXBMC (didn't go so well).

Building XBMC from scratch was a non-starter (would require installing too many dependencies, which I tried doing, but ran into a bunch of walls). Fortunately someone built it already for Raspbian, so I just followed the few steps on http://michael.gorven.za.net/raspberrypi/xbmc and XBMC is now working as well (though I haven't tried playing any DVDs or ripped media with it just yet, nor is there a "boot menu" to pick XBMC vs. MAME yet).

So steps thus far:
  1. install http://downloads.raspberrypi.org/images/raspbian/2013-05-25-wheezy-raspbian/2013-05-25-wheezy-raspbian.zip image via Win32DiskImager (from http://www.raspberrypi.org/downloads) 
  2. boot Raspbian and update locale and keyboard from UK/GB to US (rebooting as necessary) so all the keys on my cheapo Nynex keyboard would work (re: sudo raspi-config) 
  3. install MAME4ALL via the built-in Pi Store app (from the X11 GUI which I also enabled by default) 
  4. copy game ROMs to /usr/local/bin/indiecity/InstalledApps/mame4all_pi/Full/roms/ (per MAME4ALL docs) 
  5. play a few games (via keyboard); may be able to get joystick working at some point but I'll need a USB hub since both USBs are being used for keyboard/mouse at the moment 
  6. install pre-built XBMC binaries via instructions @ http://michael.gorven.za.net/raspberrypi/xbmc 
  7. boot XBMC and tinker around with that a bit; seems to work, but haven't tried any ripped DVDs yet 
  8. need to play with Raspbian boot menu configs a bit yet - the X11 login/boot screen now offers "Default Xsession" (LXDE), LXDE, Openbox (just shows a gray screen since it's probably not configured to start an Openbox session or something) and XBMC as options so all I technically need to do is login with pi/raspberry and pick whichever GUI I want. 
To make this a "consumer box" with just a "Media Center" and "Arcade" boot menu (sans any login) is still on the TODO (http://www.opentechguides.com/how-to/article/raspberry-pi/5/raspberry-pi-auto-start.html mentions some of this).

The raspi-config command/script is what runs the first time you boot Raspbian to set things up, but you can run it again whenever to tweak things (or just hand edit the Linux flat files manually, but that's the "hard way" ). There's also "dpkg-reconfigure keyboard-configuration", "dpkg-reconfigure locales" and "dpkg-reconfigure tzdata" that basically do the same thing (albeit individually). I'd recommend rebooting between changes, but that's just me being paranoid.  Tips on this also @ http://rohankapoor.com/2012/04/americanizing-the-raspberry-pi/.

Other cool H/W toys (GPS comes to mind, in addition to adding Arduino compatibility/connectivity) @ http://www.cooking-hacks.com/index.php/shop/raspberry-pi.html though there's probably others (I've just begun to scratch the surface).

Haven't tried SNES emulation yet, but found a good write-up on that @ http://supernintendopi.wordpress.com/.