Tuesday 26 August 2014

RetroPi on the Raspberry Pi, a Retro Based Dedicated Computer

I have been fascinated by Raspberry Pi, the world tiniest and cheapest computer ever since it was announced about three years ago. Despite its barebones fragile appearance, the Pi without a proper case looks like a delicate circuit board, I knew I wanted one. But as is typical with me I was unsure what I would do with it once I'd bought one.
 
Well that question was answered for me by PetRockBlack who wrote Emulation Station, a front end for emulators designed for Linux/Raspberry Pi. It ran ROMs from pretty much every retro console there was from 1996 and older, with the notable exception of the Saturn.
I knew I had a spare month coming up, and after reading a Lifehacker guide (that I later discovered was woefully inadequate) I began planning to build my own Raspberry Pi retro computer.

I ordered a Raspberry Pi B+, the new Plus model has 2 extra USB ports, is tidier all round. I also ordered a power cable and a pair of SNES controllers and an Nintendo 64 controller all through Amazon.
I bought a 32gb MicroSD card in a shop and waited for the packages to arrive. The first two items that came through the letterbox was the Raspberry Pi and the power lead. The computer was as tiny as I thought it would be, but the motherboard was much stronger than I expected. It was neater, only accepted MicroSD cards, whereas the previous Pi computers only accepted the SD Card. I realised that the machine would work but I had no way of connecting it to my PC monitor, so had to wait until the next day to buy a lead HDMI to DVI.
I bought the HDMI to DVI lead and connected it up from the Pi to the monitor. With 4 USB ports it mean I could add multiple devices, all of which were self powered through the Pi. I pluged in a keyboard and existing Xbox360 type USB (the Logitech Chillstream) controller to the Pi. I began to download the disk image from PetRockBlock, all the while trying to work out how I was going to get the ROMs from my laptop to the Pi. Lifehacker, and several of the other guides, recommended any router, I found two old routers, but no power lead.
I installed the disk imaging program and turned the MicroSD card into a bootable RetroPi operating system on the laptop, and plugged it into the Pi and waited for everything to light up. I was amazed it came to life instantly. Everything was automated, in the meantime I carried on with my feverish hunt for router power leads.

Eventually I found a BT Home Hub lead, but it wouldnt fire up, so I connected the power lead to an old Sky router and the lights on the router all woke up. The Pi wired connection was perfect, but I got nothing out of my laptop. Strange.
By this time RetroPi was installed and I followed the Lifehacker guide and changed a few settings. It suggested several that had no documentation to explain what they were doing. Once I realised they had given you false, incomplete and totally inadequate instructions, I Googled for better information.
I configured the controller for Emulation Station working, but it didnt work ingame. I tested Doom, CaveStory and Duke Nukem 3D all worked well, and plug in a set of speakers.
After Googling for controller set up, I set up the controller to work ingame perfectly.
I then installed CyberDuck and got it working, but couldn't get a link to the Pi. I had no idea of the IP address. I noticed no light from my laptop, and realised there was no network driver as I did a system restore about 6 months ago, and only installed the wireless driver. I had to hunt the internet and after about ten minutes I installed network driver for wired connection.
All while this was happening I was using the Pi IP address on the Pi - made a note, and had a bit of fun checking out the simple Windows front end for the the OS, I was impressed
I got Cyberduck to make the connection, and copied across 2 test ROMs across, Super Mario World and Secret of Mana

I configured the in-game controllers (fiddly) and was played Super Mario World in minutes.

It seems to run okay but does suffer from slowdown so I intend to see if I can get the Pi to run faster by overclocking and let it have access to more memory. It struggled with StarFox.