Kid Friendly RetroPie

I’ve ordered the parts I need for my project. I purchased both male and female USB jacks as well as some heat shrink tubing. Now the wait until my parts arrive.

In the mean time, I decided to prep RetroPie for my niece and nephews. There were two config menus that are very easy to access. I don’t want the kids to accidentally enter them and change any settings. Of course, I have the system backed up, but it’s best for things not to get set incorrectly in the first place.

One item I definitely wanted hidden is the run command menu displayed when ROMs are being loaded. It’s very easy to accidentally click into it and change things you shouldn’t. I found this page which mentions a menu used to deactivate it. After running RetroPie Setup, you will find the menu pictured on the page in Setup/Configuration > Configure the ‘runcommand’ – Launch Script.

The other item I wanted to hide was the RetroPie config menu displayed in EmulationStation. This one was super simple to remove. All you have to do is edit EmulationStation’s ES Systems file (in /home/pi/.emulationstation/es_systems.cfg) and delete the entry named retropie.

Teardown

I’v disassembled my console and removed the old Pi 2. I’m planning on handing it over to my nephews and niece once I prep the RetroPie software for them (hide config menus, etc.). I may write up a separate post about that later on.

Surprisingly, the existing powered USB hub in my console seems to be working for my Pi 3. When plugged in, the PI did not throw any low power warnings. That makes me wonder why my Pi 2 was throwing low power warnings when I used this same hub… Oh well, that’s something for another time.

The next step is planning; I’ll look work out what I need to assemble my upgraded console and make my purchases. I’ll need to get some USB jacks, if nothing else.

Upgrade

It’s upgrade time! I just got a Raspberry Pi 3, and I’m ready to put it into my console.

This upgrade won’t be as simple as opening the case and slapping in the new Pi though. I’m pretty sure the powered hub I’m currently using will need to be replaced. I recently put together a media computer using a Pi 2, and found that the Pi was throwing the low power warning when using the same model hub. These new model Pi’s just take more power than the original. I’ll test the hub to make sure, but I’m sure I’ll be replacing it. Of course that will probably mean reworking my current power supply.

While I have the case open, I’m going to make some improvements. When I first constructed this console, I had very limited soldering skills. I didn’t feel confident enough to shorten the cables I used. Even though I tried to pick cables that were as short as possible, most of them were longer than they needed to be, and that cost me a lot of space. I was surprised how much space cables can take up in a case. I’m going to try to fix this during my upgrade. With some help from this Ben Heck Show video, I think I can pull it off.

In addition to the above, I’m also going to add a new feature to the console. As cool as it feels using old-school controllers, they just aren’t always the most comfortable things to hold for long periods of time. That and the fact that they are not wireless made them not ideal. Over the past few months, I’ve moved on to using wireless XBox 360 controllers. During the upgrade, I’m going to take the controller dongle I’m using and embed it in the case. This may take a small amount of modding of the case itself since I want the dongle’s connecting LED to be visible when I connect a controller. I’m not completely sure where I’m going to put this. I’m thinking that I may embed it somewhere in the plastic beneath the CD lid. This will give me easy access without making any changes to the case that are visible when the lid is closed. But, I’ll decide on this later. First comes the reworking of the existing parts.

Powering Up

Here is the finished product hooked up to the TV.

IMG_0395

And it works!

IMG_0396

Here you can see my beautiful custom loading screen which I definitely did not put too much time into making.

And that finishes things up. I have some more software tweaks I want to make, such as setting up an automated system that backs things up to my Linux server, but the hardware portion is now done.

Installation

Now that I have all of the pieces ready it’s time to begin installation. I was originally planning on giving more details on how I fit things into the Dreamcast case but a couple of snags I ran into made the process a bit harder than I initially thought. Instead I’ve decided just show a view of the pieces in their final locations and give a high level description of how I fit them in.

IMG_0394

The panel mount HDMI cable has its jack in the upper, left-hand corner and snakes around to the Pi which is in the front. I put the USB hub on top of it and secured it to the back of the case. My modded AC adapter’s AC jack sits just above HDMI jack and the AC/DC converter box fits on the left-hand side of the case. I have all the other cables running between, over and under these main components.

You’ll see that I have a couple of items attached to the under side of the top section of the case. The black box is one end of that SD card extension cable. I attached it right next to the opening of the CD access lid. This will allow me to access my SD card simply by opening the lid. On the front of the upper section (bottom of the picture) I attached an LED which I connected to the Pi’s 3.3 volt GPIO pin. The LED is fixed to the under side of the Dreamcast’s power light conduit. Thanks to the fact that the Mausberry switch controls power flow into the Pi the LED acts just like a power light on a “real” video game console. As soon as I press the power switch to boot the console the LED with light up. When I shut down the console the light will remain on until shutdown is complete and the Mausberry switch pulls the power.

As you can see I had to do some creative arraignment of the pieces to get them all to fit in but I got the final result I wanted. The only remaining steps is to close the case and turn it on.

Raspberry Pi 2

I think I’ve already found a future upgrade for my emulator. The Raspberry Pi 2 was recently announced. It contains a more powerful CPU and ups the cores from one to four. I’m pretty excited to find out what this new Pi might be able to do with video game emulation. If I’m correct the emulators that the RetroPie Project uses don’t support multiple cores but the fact that the speed of the CPU has been increased should help out. I’ve already seen videos of people using the Pi 2 to play SNES games which use the Super FX Chip as well as N64 games without the video and audio stutter you would see when playing them on the Pi B. I couldn’t tell if the games were running at full speed or not (the videos I saw weren’t exactly professionally filmed) but I still have hope that they might be able to. In the videos I watched the recorders did not claim to have over clocked the CPU. If there is any delay over clocking the Pi 2 might fix the issue.

Even if full N64 emulation isn’t possible I do hope that the Pi 2 will at least be able to handle Super FX SNES games. I was a bit disappointed that I wasn’t able to play some of those games particularly Super Mario RPG.

Another good thing about the Pi 2 is that is has the same layout as the B+. Since the mounting points are in the same place the upgrade should be very simple. I should be able to just crack open the case and slap the new Pi in place.

On a project related note I’ve ordered what I hope to be the last set of cables that I need for my emulator. Once they arrive I should be able to install all the elements in the case. Hopefully I’ll be updating this blog soon.

USB Controller Ports

After a break for the holidays I’m back to work on my project. The next step is installing the USB controller ports.

I mentioned earlier that I’m trying to keep the Dreamcast case as natural looking as possible. With the power and HDMI inputs I feel I was able to pull this off well. On the power side I was able to use the existing AC cord jack and mod it from the inside to connect it to my USB hub. For the HDMI port I was able to use an existing port in the back of the case to install a panel mount HDMI cable. I’d like to go the same direction with the USB ports by fixing them to the inside of the controller port panel.

IMG_0386

If I can pull this off right it will really help to make the emulator feel like a legitimate video game console. I’ll be able to plug in my controllers by inserting them into the case’s original controller ports.

Before I get started on this though I had to find the right USB cables. Since I am ordering them online and am unable to see them in person I decided to start by purchasing just one cable to make sure the brand/model I ordered would work for me. The USB hub I am using already takes up quite a lot of space in the case. In order to cut down on the extra space taken up by the cords running into it I purchased a right angle USB cable.

IMG_0385

My initial plan was to cut back the rubber guard from the female end of the cable and expose the metal area surrounding the USB jack. I would then insert the exposed jack through the controller port. As part of this plan I would have to widen the controller port horizontally in order to fit the jack into the port. I went on and cut back the rubber guard on the cable. Before installing it grabbed a couple of USB cords and tried plugging them into the jack through the controller port just to see how close to the front of the panel the jack would need to sit. When I did this I realized that I had enough slack to leave the jack on the inner side of the panel. I didn’t actually need to widen the port and install the jack inside of it. I was happy with that outcome. I ruined a USB cable in the process but found out that I did not need to do any case modifications for this step. This would be another way I would be able to preserve the original look of the case.

I was happy with the type of USB cable I found so I ordered four more like it (one for each controller port). Before installing the cables I needed to make sure that everything would fit into the case. When I first purchased the Dreamcast case it seemed like I had more than enough space. However, after buying all the parts and trying different ways of inserting them into the case I quickly realized that space was going to be a very precious commodity. Unfortunately after plugging all four controllers into the hub I found that I just didn’t have enough room for all of them. I was going to have to cut it back to two. By using two cables I would be able to use only the USB ports on one side of the hub which would allow me to put the other side flush against the back wall of the case. Without doing this I simply wouldn’t have enough room for the other elements. The good thing is that this isn’t too big a loss. I seriously doubt I’ll be using any more than two controllers anyway. It is a shame to not use all four controller ports though…

For my second installation attempt I decided to cut the cable’s rubber guard back and make it flush with the front of the USB jack.

IMG_0389

Next I would need to attach the cable to the back of the panel. I found that the controller port panel was made of ABS plastic. I did some research on how to glue a non-ABS material to ABS but didn’t find anything other than suggestions to use super glue. I decided I’d give it a try. Fortunately it seems to have worked. I attached just one to start off with. It seemed solid enough even when plugging and unplugging USB cables into it so I went on and attached the second one.

IMG_0392

This step took some trial and error but I think it came out well in the end. The final step will be inserting all of the elements in the case and fixing them into place.