Here is my second update: Software configuration and initial set-up! I have not yet done the finishing on my 3D printed parts, but I did go ahead with all the software related stuff.
Download: http://blog.petrockblock.com/retropie/retropie-downloads/
Instructions: https://github.com/RetroPie/RetroPie-Setup/wiki/First-Installation
OR http://emulationstation.org/gettingstarted.html
To install the necessary software on the Pi, I need a microSD card. The SD card was not recognized, though I have a port for it; I had to reinstall the driver for it. Worked immediately. Yet the next day, Windows made over 15,000 registry edits as part of an update, which is probably why I couldn’t read the SD card anymore the next day. I bought an SD card reader, which is very convenient.
After being repeatedly warned of buying SD cards online (lots of fake products!), I decided to verify the SD card using h2test2.exe, which writes data to the SD card, then reads it back as verification. Any unexplained losses in capacity/ writing speeds, or defective regions are to be identified. The real product has no issues passing this test. H2testw was downloaded from (http://www.softpedia.com/get/System/System-Miscellaneous/H2testw.shtml). Results are good.
Warning: Only 14751 of 14752 MByte tested.
Test finished without errors.
You can now delete the test files *.h2w or verify them again.
Writing speed: 7.48 MByte/s
Reading speed: 14.0 MByte/s
The retropie was downloaded as a .gz file (Version 3.2.1), which is compressed. WinRAR was used to unzip the .img file, used for installation. Next, the software Win32 Disk Imager was downloaded to burn the image to the SD card (http://sourceforge.net/projects/win32diskimager/). The instructions include the following note, which is entirely true and correct:
In Windows, the SD card will appear only to have a fairly small size once written - about 55 to 75 MB. This is because most of the card has a partition that is formatted for the Linux operating system that the Raspberry Pi uses which is not visible in Windows. If you don't see this small directory with files such as kernel.img then the copy may not have worked correctly.
The last part of the SD setup was a minor edit to the config.txt file, which formats the operating system to match the resolution of our display. The file is found in ~/boot/config.txt.
Setup of the Pi
In this step, the software configuration is completed while operating the Raspberry Pi. As such, all the basic components for this setup must be connected and tested. An effort was made to make the workspace dust-free (using alcohol wipes) and to lower the chance of an ESD (electrostatic discharge), by working on a hard flat surface. The basic setup is shown as:
After hooking up all the connections, the Pi booted up succesfully, started EmulationStation, after which I played Doom for 5 minutes. Success! Next, the software was to be configured for use within the SGP. Here comes the Linux programming. First, we set up the Wifi module for internet. This is done by editing the WPA_supplicant. WPA stands for Wi-Fi protected access. With the command ifconfig, we can determine the IP address of the Pi and other things. As a note, the Pi did not recognize my keyboard keys as I see them. Notably, the “ was switched with the @. This nuisance may stem from a language setting I am not aware of?
With the IP address of the Pi known, it is now possible to configure the Pi with remote access. The program “Putty” is used to create an SSH (Secure Shell) connection with the Linux-driven machine. The login is standard: pi, raspberry. Now we have complete control of the Pi, so we can do anything from our laptop. First, we install Adafruit Retrogame. It is not very big, and seems to mostly be an edit to have retropie work with some Adafruit projects, including the Cupcade and PiGrrl. By editing the retrogame.c code, we can specify the inputs for out SGP! We denote specific button values to a specific GPIO # connection of the Pi. The next step is to make it so that this file is run every time we start the SGP. The rc.local (run-control for local objects) will specify which programs to start after startup is complete. Here, we add the command to run retrogame. The last step, (10-retrogrames.rules), appears to specify some input controls. This is beyond my current understanding, but is described as:
“Note that by default retrogame won't work with SDL2 applications that depend on evdev for input events. Specifically this means applications like the latest version of RetroPie and EmulationStation won't be able to see key events generated by retrogame. However you can fix this issue by adding a small custom udev rule to make retrogame keyboard events visible to SDL2.”
So, what about the time feature? If I want to play Pokemon, I would love to use time. The Pi gets his time information from the internet connection, so all I need to do is change the timezone to US/Central time. I do not know if this will work, because this is not a hardware clock. I will find out after I finish the project...
$ date
$ sudo ln –sf /usr/share/zoneinfo/US/Central /etc/localtime
So far my progress on this project. I mapped all teh SGP keys for the software, and cannot do any more software configuration until I install the actual hardware. Next step: finishing the 3D printed parts. I would add more pictures, but I cannot. I am exceeding the memory limit for my account. Would somebody please advice on a good alternative way to show pictures on this thread?