<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>petRockBlog</title>
	<atom:link href="http://blog.petrockblock.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.petrockblock.com</link>
	<description>Fun stuff for technics enthusiasts</description>
	<lastBuildDate>Tue, 21 May 2013 20:32:51 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>New Splash Screen Section</title>
		<link>http://blog.petrockblock.com/2013/03/03/new-splash-screen-section/</link>
		<comments>http://blog.petrockblock.com/2013/03/03/new-splash-screen-section/#comments</comments>
		<pubDate>Sun, 03 Mar 2013 14:14:51 +0000</pubDate>
		<dc:creator>petrockblog</dc:creator>
				<category><![CDATA[RetroPie Project]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[RetroPie]]></category>

		<guid isPermaLink="false">http://blog.petrockblock.com/?p=1320</guid>
		<description><![CDATA[A new section in the forum was recently opened where you can browse and share your custom-made splash screens for your RetroPie installation. You can easily upload your own custom splash screen there, so I would like to encourage you to be creative and share your designs with us!]]></description>
				<content:encoded><![CDATA[<p>A <strong><a title="Splash screens" href="http://blog.petrockblock.com/forums/forum/retropie-project-forum/splashscreens/">new section</a></strong> in the forum was recently opened where you can <strong>browse and share your custom-made splash screens</strong> for your RetroPie installation. You can easily upload your own custom splash screen there, so I would like to encourage you to be creative and share your designs with us!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.petrockblock.com/2013/03/03/new-splash-screen-section/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating the RetroPie SD-card Image: A Recipe</title>
		<link>http://blog.petrockblock.com/2013/02/22/creating-the-retropie-sd-card-image-a-recipe/</link>
		<comments>http://blog.petrockblock.com/2013/02/22/creating-the-retropie-sd-card-image-a-recipe/#comments</comments>
		<pubDate>Fri, 22 Feb 2013 11:16:28 +0000</pubDate>
		<dc:creator>petrockblog</dc:creator>
				<category><![CDATA[Linux fun]]></category>
		<category><![CDATA[programming fun]]></category>
		<category><![CDATA[RetroPie Project]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[RetroPie]]></category>
		<category><![CDATA[RPi]]></category>

		<guid isPermaLink="false">http://blog.petrockblock.com/?p=1200</guid>
		<description><![CDATA[An SD-card image of a RetroPie installation was recently made available. This post describes the individual steps taken in order to create such an image. While it serves me to ensure that no steps are forgotten during future updates, this post provides also an insight into the individual steps for people with interest in this [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://blog.petrockblock.com/wp-content/uploads/2013/02/IMG_1447.jpg" rel="lightbox[1200]"><img class="size-medium wp-image-1216 alignleft" alt="RetroPie SD-card Image: A Recipe" src="http://blog.petrockblock.com/wp-content/uploads/2013/02/IMG_1447-300x300.jpg" width="300" height="300" /></a></p>
<p>An SD-card image of a RetroPie installation was recently made <a title="RetroPie Project Image Download" href="http://blog.petrockblock.com/download/retropie-project-image/">available</a>. This post describes the individual steps taken in order to create such an image. While it serves me to ensure that no steps are forgotten during future updates, this post provides also an insight into the individual steps for people with interest in this topic.</p>
<p><span id="more-1200"></span></p>
<p>As always, you are invited to make suggestions or comments to <strong>further improve the RetroPie Image</strong>! Especially the set of packages to be removed can still be optimized I think.</p>
<p>And here it is, the step-by-step recipe for creating the RetroPie Image:</p>
<ol>
<li><span style="line-height: 15px;">Download and copy the <a href="http://www.raspberrypi.org/downloads" target="_blank">Raspbian image</a> on SD card</span></li>
<li>The raspi-config script automatically starts on first boot. From here, expand the root file system</li>
<li>Then reboot</li>
<li>Login as user &#8220;pi&#8221; and run
<pre>sudo apt-get update
sudo apt-get install -y git dialog</pre>
</li>
<li>Fetch the latest version of the <a title="RetroPie-Setup: An initialization script for RetroArch on the Raspberry Pi" href="http://blog.petrockblock.com/2012/07/22/retropie-setup-an-initialization-script-for-retroarch-on-the-raspberry-pi/">RetroPie Setup Script</a> with
<pre>cd
git clone git://github.com/petrockblog/RetroPie-Setup</pre>
</li>
<li>Start the RetroPie Script
<pre>cd RetroPie-Setup
sudo ./retropie_setup.sh</pre>
</li>
<li>Select &#8220;binaries-based installation&#8221; in RetroPie Script and press ENTER</li>
<li>Check message dialogs at the end of binaries-based installation.</li>
<li>Select &#8220;Setup&#8221; in RetroPie Script and press ENTER</li>
<li>Set EmulationStation to start on boot.</li>
<li><del>Set SNESDev to start on boot and to poll the button and game pads.</del> (There are <a href="https://github.com/petrockblog/RetroPie-Setup/issues/133" target="_blank">reports</a> that game pad configurations override keyboard settings, so that the settings for game pads are not set as default anymore. If you want to use a joystick or game pad, you have to manually configure it.)</li>
<li>Enable splashscreen on boot.</li>
<li>Install and configure SAMBA.</li>
<li>Install USB-ROM-Copy service.</li>
<li>Install GPIO gamepad drivers (added 04.05.2013)</li>
<li>Exit the RetroPie Setup Script and run
<pre>sudo raspi-config</pre>
</li>
<li>Set overclock to preset &#8216;Medium&#8217;The following steps are only needed, if you want to create an SD card image yourself. I post them here to make the generation of the RetroPie image more transparent:</li>
<li>Reboot</li>
<li><del>Configure EmulationStation game pad input</del></li>
<li>Testing of all emulators with at least one ROM</li>
<li>Exit Emulation Station</li>
<li>Remove unnecessary packages via
<pre>cd
chmod +x ./RetroPie-Setup/tools/prepareSDCardimage.sh
sudo ./RetroPie-Setup/tools/prepareSDCardimage.sh</pre>
</li>
<li>Please note that the dd command, which is also used in the following, is a very powerful command that is able to break your system! If you are unsure about it, you can have a look at <a href="http://elinux.org/RPi_Easy_SD_Card_Setup#Copying_an_image_to_the_SD_card_in_Linux_.28command_line.29" target="_blank">this article</a>, that explains its use for RPi SD card handling. But now the explanation of the next step:<br />
Shutdown the RPi, use another computer to create an SD-card image, e.g., with</p>
<pre>dd if=/dev/disk3 bs=2m of=RetroPieImage_verX.img</pre>
</li>
<li>Compress the image into ZIP format with
<pre>zip -9 RetroPieImage_verX.zip RetroPieImage_verX.img</pre>
</li>
<li>Create SHA1 checksum with
<pre>shasum RetroPieImage_verX.zip</pre>
</li>
<li>(Upload the image.)</li>
</ol>
<p>And that&#8217;s it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.petrockblock.com/2013/02/22/creating-the-retropie-sd-card-image-a-recipe/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>RetroPie Project Image Download</title>
		<link>http://blog.petrockblock.com/2013/02/10/retropie-project-image-download/</link>
		<comments>http://blog.petrockblock.com/2013/02/10/retropie-project-image-download/#comments</comments>
		<pubDate>Sun, 10 Feb 2013 20:16:42 +0000</pubDate>
		<dc:creator>petrockblog</dc:creator>
				<category><![CDATA[Linux fun]]></category>
		<category><![CDATA[RetroPie Project]]></category>
		<category><![CDATA[emulator]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[RetroPie]]></category>
		<category><![CDATA[RPi]]></category>

		<guid isPermaLink="false">http://blog.petrockblock.com/?p=1049</guid>
		<description><![CDATA[With the migration of the blog to a new provider it is now possible to offer a whole SD-card image of a complete RetroPie installation. You can find the download in the new RetroPie Downloads section of the RetroPie Project. Why might this SD-card image be of interest for you? Doing a manual installation with [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://blog.petrockblock.com/wp-content/uploads/2012/10/retropieprojectlogofinish.jpg" rel="lightbox[1049]"><img class="alignleft size-medium wp-image-685" alt="RetroPieProjectLogoFinish" src="http://blog.petrockblock.com/wp-content/uploads/2012/10/retropieprojectlogofinish-300x199.jpg" width="300" height="199" /></a>With the migration of the blog to a new provider it is now possible to offer a whole <strong>SD-card image of a complete RetroPie installation</strong>. You can find the download in the new <a title="RetroPie Downloads" href="http://blog.petrockblock.com/retropie-downloads/">RetroPie Downloads section</a> of the RetroPie Project.</p>
<p><span id="more-1049"></span></p>
<p>Why might this SD-card image be of interest for you?<br />
Doing a manual installation with the RetroPie Setup Script is a better way for learning what actually gets installed. Also, you might already have installed something else that you do not want to re-install and configure again. Another cause for manually installing everything with the RetroPie script is that you can configure which components get installed and which not. However, if you are already familiar with the RetroPie Project, the setup script and the components it installs, or if you just would like to quickly turn your RPi into a retro console this SD-card image might definitely be useful for you!</p>
<p>The image was tested on an Raspberry Pi model B, revision 1 (256 MB). It is a ready-to-go installation that just needs to be filled up by your ROMs and, eventually, your BIOS files. SNESDev is also running so that controllers that are attached to the RPi, e.g., via the <a title="The RetroPie GPIO Adapter" href="http://blog.petrockblock.com/2012/10/21/the-retropie-gpio-adapter/">RetroPie GPIO Adapter</a>, can instantly be used.</p>
<p>The SD-card image comes with themes for <a title="Emulation Station" href="http://aloshi.com/emulationstation" target="_blank">Emulation Station</a> thanks to Xevin, Aloshi, and others around <a title="Emulation Station" href="http://aloshi.com/emulationstation" target="_blank">Emulation Station</a>. I am pretty sure, though, that many people would come up with quite different design and I invite you to submit your ideas <img src='http://blog.petrockblock.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>This is version 1 of the RetroPie Image and there is room for a lot of improvement! You are invited to contribute in any way, let it be themes, configuration, setup updated/comments etc. etc. !!!</p>
<p>You can get the image in the <a title="RetroPie Downloads" href="http://blog.petrockblock.com/retropie-downloads/">RetroPie Downloads section</a>.</p>
<p>Update: A detailed description about the steps for creating the image was posted <a title="Creating the RetroPie SD-card Image: A Recipe" href="http://blog.petrockblock.com/2013/02/22/creating-the-retropie-sd-card-image-a-recipe/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.petrockblock.com/2013/02/10/retropie-project-image-download/feed/</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
		<item>
		<title>A New Provider for the Blog</title>
		<link>http://blog.petrockblock.com/2013/02/02/a-new-provider-for-the-blog/</link>
		<comments>http://blog.petrockblock.com/2013/02/02/a-new-provider-for-the-blog/#comments</comments>
		<pubDate>Sat, 02 Feb 2013 04:35:19 +0000</pubDate>
		<dc:creator>petrockblog</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.petrockblock.com/?p=903</guid>
		<description><![CDATA[Another short side post: The blog has been migrated to a new provider!  This gives me the full control over every detail of the site and further enhances the possibilities for future developments of the site. I hope that all resources, links, pages, etc. are working &#8211; please tell me, if you find something that [...]]]></description>
				<content:encoded><![CDATA[<p>Another short side post: The blog has been <strong>migrated</strong> to a new provider!  This gives me the full control over every detail of the site and further enhances the possibilities for future developments of the site.</p>
<p>I hope that all resources, links, pages, etc. are working &#8211; please tell me, if you find something that is not working!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.petrockblock.com/2013/02/02/a-new-provider-for-the-blog/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Update for the OwncloudPie script</title>
		<link>http://blog.petrockblock.com/2013/02/02/update-for-the-owncloudpie-script/</link>
		<comments>http://blog.petrockblock.com/2013/02/02/update-for-the-owncloudpie-script/#comments</comments>
		<pubDate>Sat, 02 Feb 2013 03:52:10 +0000</pubDate>
		<dc:creator>petrockblog</dc:creator>
				<category><![CDATA[Linux fun]]></category>
		<category><![CDATA[Owncloud]]></category>
		<category><![CDATA[OwncloudPie]]></category>

		<guid isPermaLink="false">http://blog.petrockblock.com/?p=920</guid>
		<description><![CDATA[I just commited an update for the OwncloudPie script. The server URL is now dynamically obtained from the configuration files and can be changed from within the script for an existing Owncloud installation now. Furthermore, it is now possible to download the latest version of the OwncloudPie script with the script itself. If you have [...]]]></description>
				<content:encoded><![CDATA[<p>I just commited an <strong>update</strong> for the <a title="Your own cloud server with Owncloud on the Raspberry Pi" href="http://blog.petrockblock.com/2012/08/15/your-own-cloud-server-with-owncloud-on-the-raspberry-pi/">OwncloudPie script</a>. The server URL is now dynamically obtained from the configuration files and can be changed from within the script for an existing Owncloud installation now. Furthermore, it is now possible to download the latest version of the OwncloudPie script with the script itself.</p>
<p>If you have any comments or suggestions, tell me!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.petrockblock.com/2013/02/02/update-for-the-owncloudpie-script/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Video of RetroPie GPIO Adapter</title>
		<link>http://blog.petrockblock.com/2012/11/04/video-of-retropie-gpio-adapter/</link>
		<comments>http://blog.petrockblock.com/2012/11/04/video-of-retropie-gpio-adapter/#comments</comments>
		<pubDate>Sun, 04 Nov 2012 19:12:08 +0000</pubDate>
		<dc:creator>petrockblog</dc:creator>
				<category><![CDATA[microelectronics fun]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[retro]]></category>
		<category><![CDATA[RetroPie]]></category>
		<category><![CDATA[RPi]]></category>

		<guid isPermaLink="false">https://petrockblog.wordpress.com/?p=800</guid>
		<description><![CDATA[I have uploaded a short demonstration video that shows the RetroPie GPIO Adapter in action: The video shows the RetroPie GPIO adapter connected with two SNES controllers within a PetRockBlock PIE case. The current Raspbian distribution is running in the video with a RetroPie Setup Script installation. The controllers are polled by the gamecon GPIO [...]]]></description>
				<content:encoded><![CDATA[<p>I have uploaded a short demonstration video that shows the <strong><a title="The RetroPie GPIO Adapter" href="http://blog.petrockblock.com/?p=677">RetroPie GPIO Adapter</a></strong> in action:</p>
<div class="separator" style="text-align: center;"><!--YouTube Error: bad URL entered--></div>
<p>The video shows the <a title="The RetroPie GPIO Adapter" href="http://blog.petrockblock.com/?p=677">RetroPie GPIO adapter</a> connected with two SNES controllers within a <a title="PetRockBlock Pie – A (Gaming) Raspberry Pi Case" href="http://blog.petrockblock.com/?p=455">PetRockBlock PIE case</a>. The current <a href="http://www.raspbian.org/">Raspbian distribution</a> is running in the video with a <a title="RetroPie-Setup: An initialization script for RetroArch on the Raspberry Pi" href="http://blog.petrockblock.com/?p=397">RetroPie Setup Script</a> installation. The controllers are polled by the <a title="Gamecon driver module for NES, SNES, and N64 controllers Added to RetroPie Setup Script" href="http://blog.petrockblock.com/?p=539">gamecon GPIO module</a> that can be installed with the setup script. The button is polled with <a title="SNESDev-RPi: A SNES-Adapter for the Raspberry Pi" href="http://blog.petrockblock.com/?p=294">SNESDev</a>, which is also configured with the setup script.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.petrockblock.com/2012/11/04/video-of-retropie-gpio-adapter/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>The RetroPie GPIO Adapter</title>
		<link>http://blog.petrockblock.com/2012/10/21/the-retropie-gpio-adapter/</link>
		<comments>http://blog.petrockblock.com/2012/10/21/the-retropie-gpio-adapter/#comments</comments>
		<pubDate>Sun, 21 Oct 2012 11:37:01 +0000</pubDate>
		<dc:creator>petrockblog</dc:creator>
				<category><![CDATA[microelectronics fun]]></category>
		<category><![CDATA[RetroPie Project]]></category>
		<category><![CDATA[EAGLE]]></category>
		<category><![CDATA[PCB]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[retro]]></category>
		<category><![CDATA[RetroPie]]></category>
		<category><![CDATA[RPi]]></category>
		<category><![CDATA[SNES]]></category>

		<guid isPermaLink="false">http://petrockblog.wordpress.com/?p=677</guid>
		<description><![CDATA[If you want to use your Raspberry Pi for gaming you certainly want to attach some sort of controller(s) to it. Since the Raspberry comes with two USB ports one way would be to simply attach any sort of USB gamepad or joystick via these ports to it. Besides the configuration this approach has the [...]]]></description>
				<content:encoded><![CDATA[<p class="separator" style="clear: both; text-align: left;"><img class="alignleft" id="blogsy-1353844371496.0728" alt="" src="http://petrockblog.files.wordpress.com/2012/10/wpid-photo-19-10-2012-19551.jpg?w=300" width="300" height="300" /><span style="text-align: left;">If you want to use your Raspberry Pi for gaming you certainly want to attach some sort of controller(s) to it. Since the Raspberry comes with two USB ports one way would be to simply attach any sort of USB gamepad or joystick via these ports to it. Besides the configuration this approach has the disadvantages that one or both USB ports become occupied and, what I think is even more disturbing, that an active USB hub might become necessary to provide enough energy to the controller(s). Also, if you want to get the real retro feeling you certainly want to use original controllers. The </span><a style="text-align: left;" href="http://elinux.org/RPi_Low-level_peripherals#General_Purpose_Input.2FOutput_.28GPIO.29" target="_blank">GPIO pins</a><span style="text-align: left;"> of the Raspberry allow the communication with all sorts of hardware and attaching, for example, SNES controllers can be done </span><a style="text-align: left;" title="Connecting SNES sockets to the Raspberry Pi: An assembly guide" href="http://blog.petrockblock.com/?p=371" target="_blank">in quite a few steps</a><span style="text-align: left;">. A user-space program that polls the controller(s) in the background was presented </span><a style="text-align: left;" title="SNESDev-RPi: A SNES-Adapter for the Raspberry Pi" href="http://blog.petrockblock.com/?p=294" target="_blank">here</a><span style="text-align: left;">. In the following I am presenting a dedicated GPIO adapter for the Raspberry Pi that allows an easy and safe connection of up to two NES or SNES controllers.</span></p>
<p><span id="more-677"></span></p>
<h2>The RetroPie GPIO adapter</h2>
<p>Based on the experiences with a previously presented adapter PCB I designed a new SNES adapter PCB specifically for the use with the Raspberry Pi.</p>
<h3>Hardware</h3>
<p>This GPIO adapter aims at</p>
<ul>
<li>an<strong> easy and practical installation</strong></li>
<li>as well as providing <strong>circuitry protection</strong></li>
<li>and <strong>a button</strong> that can be used arbitrarily by software.</li>
</ul>
<p>An <strong>easy and practical installation</strong> of the adapter board is achieved by using a 2&#215;13 pins female header for a connection to the GPIO pins and 2&#215;5 pins male header for the connection to, for example, (S)NES controller sockets. The only tinkering needed for a connection to (S)NES connectors is the soldering of the ribbon cable to the connectors. The <strong>size</strong> of the adapter PCB is only 0.91 in x 1.32 in (23 mm x 33.5 mm). This size does not increase the needed overall volume of the Pi much and allows the usage of most existing cases.</p>
<p>For a practical application the adapter is provided with a <strong>circuitry protection</strong> as it was proposed in <a href="http://www.raspberrypi.org/phpBB3/viewtopic.php?p=163800#p163800" target="_blank">a thread</a> of the official Raspberry Pi forum. To handle over currents a <a href="http://en.wikipedia.org/wiki/Resettable_fuse" target="_blank">resettable fuse</a> is put on the supply rail. Possible transients are taken care for by a buffer IC 74HC125. As stated by <a href="http://elinux.org/RPi_Tutorial_EGHS:GPIO_Protection_Circuits#Buffer.2FLine_Driver_IC" target="_blank">RPi wiki site about circuitry protection </a></p>
<blockquote><p>these ICs provide an in-line connection which is buffered via an internal transistor switch to isolate the input from the output.</p></blockquote>
<p>Four GPIO pins, which would correspond to two data lines, the clock, and the latch in case of (S)NES controllers, are buffered by the adapter.</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://petrockblog.files.wordpress.com/2012/10/wpid-photo-19-10-2012-1955.jpg" target="_blank" rel="lightbox[677]"><img class="aligncenter" id="blogsy-1353844371448.9387" alt="" src="http://petrockblog.files.wordpress.com/2012/10/wpid-photo-19-10-2012-1955.jpg?w=359" width="359" height="359" /></a></div>
<p>A <strong>momentary on push button</strong> is also part of the adapter board. The button is also connected to one of the GPIO pins and, thus, the status of the button can be polled with any suitable software. This allows, for example, to add a reset/back button that is needed <a href="http://www.raspberrypi.org/phpBB3/viewtopic.php?p=183662#p183662" target="_blank">with a keyboard-less setup</a> and controllers with no redundant buttons like the SNES or NES controllers.</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://petrockblog.files.wordpress.com/2012/10/wpid-photo-19-10-2012-19553.jpg" target="_blank" rel="lightbox[677]"><img class="aligncenter" id="blogsy-1353844371435.827" alt="" src="http://petrockblog.files.wordpress.com/2012/10/wpid-photo-19-10-2012-19553.jpg?w=349" width="349" height="349" /></a></div>
<h3>Pin Out</h3>
<p><strong>GPIO pin out:</strong> The pin out of the board to the female 2&#215;13 pins header is matched to the <a href="http://www.raspberrypi.org/phpBB3/viewtopic.php?f=78&amp;t=15787" target="_blank">gamecon GPIO driver</a> that can also be <a title="Gamecon driver module for NES, SNES, and N64 controllers Added to RetroPie Setup Script" href="http://blog.petrockblock.com/?p=539" target="_blank">installed and configured</a> from within the RetroPie Setup Script. The exact pin out together with the according pins on the SNES connector are listed in the following and shown in the diagram (for revision 1 of the Raspberry Board):</p>
<ul>
<li>VCC (3.3V): pin 1</li>
<li>Ground: pin 6</li>
<li>Clock: pin 19 (out)</li>
<li>Button: pin 11 (in)</li>
<li>Latch: pin 23 (out)</li>
<li>Data 1: pin 7 (in)</li>
<li>Data 2: pin 5 (in)</li>
</ul>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://petrockblog.files.wordpress.com/2012/10/wpid-photo-19-10-2012-2001.jpg" target="_blank" rel="lightbox[677]"><img class="aligncenter" id="blogsy-1353844371458.5508" alt="" src="http://petrockblog.files.wordpress.com/2012/10/wpid-photo-19-10-2012-2001.jpg?w=500" width="273" height="404" /></a></div>
<p><strong>Connectors pin out for (S)NES connectors:</strong> The (S)NES connectors are soldered to a 10-wire ribbon cable that has a 2&#215;5 pins female ribbon crimp connector at the other end. The pin out together with the according pins on the SNES connector are shown in the diagram:</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://petrockblog.files.wordpress.com/2012/10/wpid-photo-19-10-2012-20011.jpg" target="_blank" rel="lightbox[677]"><img class="aligncenter" id="blogsy-1353844371451.919" alt="" src="http://petrockblog.files.wordpress.com/2012/10/wpid-photo-19-10-2012-20011.jpg?w=500" width="307" height="374" /></a></div>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://petrockblog.files.wordpress.com/2012/10/wpid-photo-19-10-2012-19552.jpg" target="_blank" rel="lightbox[677]"><img class="aligncenter" id="blogsy-1353844371430.3086" alt="" src="http://petrockblog.files.wordpress.com/2012/10/wpid-photo-19-10-2012-19552.jpg?w=359" width="359" height="359" /></a></div>
<h3></h3>
<p>Here is an image of two SNES connectors soldered to the ten-wire ribbon cable and connected to the adapter board:</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://petrockblog.files.wordpress.com/2012/10/wpid-photo-21-10-2012-1831.jpg" target="_blank" rel="lightbox[677]"><img class="aligncenter" id="blogsy-1353844371502.2012" alt="" src="http://petrockblog.files.wordpress.com/2012/10/wpid-photo-21-10-2012-1831.jpg?w=359" width="359" height="269" /></a></div>
<p>For those of you that are interested in the components details, here are the manufacturer part  numbers:</p>
<ul>
<li><span style="line-height: 14px;">Tri-state buffer: SGS-Thompson Microelectronics M74HC125M1R</span></li>
<li><span style="line-height: 14px;">PTC resettable fuse: ESKA LP60-010</span></li>
<li><span style="line-height: 14px;">Momentary switch: APEM PHAP3305D<br />
</span></li>
</ul>
<p><strong>Schematics and assembly Guide:</strong> You can find the schematics of the RetroPie GPIO Adapter here <div class='wpdm-pro'><!-- WPDM Link Template: Default Template w/Icon -->
<div class="media">
    <a class="pull-left" href="http://blog.petrockblock.com/download/retropie-gpio-adapter-schematics/">
    <img class="wpdm_icon"   src="http://blog.petrockblock.com/wp-content/plugins/download-manager/file-type-icons/box_download.png" />
    </a>
    <div class="media-body">
    <h4 class="media-heading" style="padding-top: 0px;border:0px;margin: 0px;"><a href='http://blog.petrockblock.com/download/retropie-gpio-adapter-schematics/'>RetroPie GPIO Adapter Schematics</a></h4>
    <a class='wpdm-download-link wpdm-download-locked [btnclass]' rel='noindex nofollow' href='http://blog.petrockblock.com/?wpdmdl=7'><i class=''></i>Download</a> <i style="margin: 2px 0 0 5px;opacity:0.5" class="icon icon-th-large"></i> 55.08 KB <i style="margin: 2px 0 0 5px;opacity:0.5" class="icon icon-download-alt"></i> 798 downloads
    </div>
</div></div> and an <strong>assembly guide</strong> can be found here <div class='wpdm-pro'><!-- WPDM Link Template: Default Template w/Icon -->
<div class="media">
    <a class="pull-left" href="http://blog.petrockblock.com/download/retropie-gpio-adapter-assembly-guide/">
    <img class="wpdm_icon"   src="http://blog.petrockblock.com/wp-content/plugins/download-manager/file-type-icons/box_download.png" />
    </a>
    <div class="media-body">
    <h4 class="media-heading" style="padding-top: 0px;border:0px;margin: 0px;"><a href='http://blog.petrockblock.com/download/retropie-gpio-adapter-assembly-guide/'>RetroPie GPIO Adapter Assembly Guide</a></h4>
    <a class='wpdm-download-link wpdm-download-locked [btnclass]' rel='noindex nofollow' href='http://blog.petrockblock.com/?wpdmdl=6'><i class=''></i>Download</a> <i style="margin: 2px 0 0 5px;opacity:0.5" class="icon icon-th-large"></i> 256.31 KB <i style="margin: 2px 0 0 5px;opacity:0.5" class="icon icon-download-alt"></i> 769 downloads
    </div>
</div></div></p>
<p><strong>Additional GPIOs:</strong> It can also be seen from the schematics that revision 1.1 of the adapter breaks out four additional GPIO pins (GPIO pins 0, 14, 21, 22) together with ground and the 3.3V pin. This provides the possibility to attach additional hardware to the GPIO and use the RetroPie GPIO adapter at the same time. Note, however, that these additional pins do not provide any circuitry protection.</p>
<p><strong>The dimensions of this adapter matches the ones of the <a title="PetRockBlock Pie – A (Gaming) Raspberry Pi Case" href="http://blog.petrockblock.com/2012/08/07/petrockblock-pie-a-gaming-raspberry-pi-case/">PetRockBlock PIE case</a>.</strong> This means that  both can be combined with each other to build a keyboardless gaming console with the RPi at its center.</p>
<h3>Software</h3>
<p>In order to use the RetroPie GPIO adapter a driver is needed that reads the states of the controllers and the button and maps these to the input system of the operating system. This can either be done in<a href="http://www.linfo.org/kernel_space.html" target="_blank"> kernel- or in user-space</a>. The <a title="SNESDev-RPi: A SNES-Adapter for the Raspberry Pi" href="http://blog.petrockblock.com/?p=294" target="_blank">SNESDev</a> software is an example of an user-space application that interfaces with the controllers. The mentioned <a href="http://www.raspberrypi.org/phpBB3/viewtopic.php?f=78&amp;t=15787" target="_blank">gamecon driver</a> is an example that runs in the kernel-space. I have <a href="https://github.com/petrockblog/SNESDev-RPi">modified the sources of SNESDev</a> such that it can be used with the RetroPie adapter.</p>
<p>With respect to the slightly changed GPIO pin out of revision 2 of the Raspberry, the software has to be matched to the actual revision of each board. In the recent version of the <a href="https://github.com/petrockblog/RetroPie-Setup" target="_blank">RetroPie Setup Script</a>, the installation and update routines for the gamecon GPIO driver <a href="https://github.com/petrockblog/RetroPie-Setup/blob/master/retropie_setup.sh#L949" target="_blank">automatically determine</a> the board revision and adapt the configuration of the driver accordingly. <strong>Many thanks go to &#8220;<a href="http://www.raspberrypi.org/phpBB3/viewtopic.php?p=197320#p197320" target="_blank">Marqs</a>&#8221; for this!</strong></p>
<p>During the design of the board I was not aware of the &#8220;<strong><a href="http://www.raspberrypi.org/phpBB3/viewtopic.php?p=129413" target="_blank">safe mode</a></strong>&#8221; of the Raspberry Pi: Adding a jumper between pins 5 and 6 of P1 results in /boot/config.txt being ignored (except for avoid_safe_mode) and a default cmdline.txt is applied, followed by loading kernel_emergency.img. As <a href="http://www.raspberrypi.org/phpBB3/viewtopic.php?p=129587#p129587" target="_blank">stated</a> in the official forum</p>
<blockquote><p>if you connect external hardware to that pin, the worst that will happen is it falsely triggers safe mode.</p></blockquote>
<p>To avoid this safe mode when the adapter is attached a setting has to be made in /boot/config.txt. This could be done, for example, by opening the config.txt with</p>
<pre>sudo nano /boot/config.txt</pre>
<p>adding</p>
<pre>avoid_safe_mode=1</pre>
<p>and saving the changes with &#8220;Ctrl-X&#8221;, which has to be confirmed with &#8220;Y&#8221;.</p>
<h2>Demo video</h2>
<p>A video of the adapter in action can be found <a title="Video of RetroPie GPIO Adapter" href="http://blog.petrockblock.com/?p=800" target="_blank">in this post</a>.</p>
<h2>Installation and Troubleshooting</h2>
<p>First of all make sure that you do not have any short bridges or any other possibly problematic parts you soldered. A multimeter could be very handy here. Also, check, if you soldered the tri-state buffer with the correct orientation on the PCB. As stated in the assembly guide: &#8220;Pin 1 must be directed towards the fuse holes.&#8221;</p>
<p>The software part: Make sure that you are using the latest revision of the sources. If you are going to use the gamecon driver for polling the game pads (which I also prefer, because it is more resource efficient) you need to use the &#8220;poll only the button&#8221; option for SNESDev. Otherwise the gamecon driver and SNESDev might interfere and lead to some strange behavior.</p>
<p>With the gamecon driver enabled you can test for working connections between the game pads and the RPi with the jstest command (Ctrl+C exits the tool):</p>
<pre>jstest /dev/input/js0</pre>
<p>and</p>
<pre>jstest /dev/input/js1</pre>
<p>will test the first and the second game pad.</p>
<p>If you are using SNESDev for polling the game pads you need to use the option &#8220;poll game pads and button&#8221; in the menu of the RetroPie Script. If everything ism assembled and set up correctly button presses on the game pads will act as keyboard input and you will see according outputs on the console.</p>
<p>A long press (more than 1 second) on the button will lead to a key press of &#8220;r&#8221; which, again, can be checked on the console.</p>
<h3></h3>
<h2>Conclusion &amp; Getting it</h2>
<p>The RetroPie GPIO adapter allows an easy and practical connection of NES and SNES controllers via the GPIO pins of the Raspberry Pi. The size of the adapter is kept as small as possible and should fit into most existing cases. It contains circuitry protection against over currents and transients. Furthermore, a momentary push button is installed on the adapter that can be used, for example, as a back or reset button. The pin out of the GPIO male header is matched to the already existing gamecon RPi GPIO driver, which can easily be installed and updated with the RetroPie Setup script.</p>
<p>I have some of the RetroPie GPIO adapters on hand. If you would like to buy one (only the components and the board for self-assembly or fully assembled and tested) please have a look <a title="Order" href="http://blog.petrockblock.com/?page_id=586" target="_blank"><strong>here</strong></a>. Besides the adapter itself, it comes together with a ribbon cable (about 10 cm long) and a ribbon crimp connector.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.petrockblock.com/2012/10/21/the-retropie-gpio-adapter/feed/</wfw:commentRss>
		<slash:comments>116</slash:comments>
		</item>
		<item>
		<title>The RetroPie Project: An Interim Report</title>
		<link>http://blog.petrockblock.com/2012/10/18/the-retropie-project-an-interim-report/</link>
		<comments>http://blog.petrockblock.com/2012/10/18/the-retropie-project-an-interim-report/#comments</comments>
		<pubDate>Thu, 18 Oct 2012 05:28:14 +0000</pubDate>
		<dc:creator>petrockblog</dc:creator>
				<category><![CDATA[Linux fun]]></category>
		<category><![CDATA[microelectronics fun]]></category>
		<category><![CDATA[programming fun]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[retro]]></category>
		<category><![CDATA[RetroPie]]></category>
		<category><![CDATA[RPi]]></category>

		<guid isPermaLink="false">https://petrockblog.wordpress.com/?p=662</guid>
		<description><![CDATA[It has been some weeks ago since my last post, but things regarding the Raspberry Pi and the idea of the universal console did not stand still. Actually, there has been a lot of progress in many aspects of (what I will call from now on) the &#8220;RetroPie Project&#8220;. I prepared a logo for that [...]]]></description>
				<content:encoded><![CDATA[<div class="separator" style="clear: both; text-align: left;"><img class="alignleft wp-image-685" id="blogsy-1350537897642.2717" alt="" src="http://petrockblog.files.wordpress.com/2012/10/retropieprojectlogofinish.jpg" width="354" height="236" /></div>
<p>It has been some weeks ago since my last post, but things regarding the Raspberry Pi and the<a title="SNESDev-RPi: A SNES-Adapter for the Raspberry Pi" href="http://blog.petrockblock.com/?p=294" target="_blank"> idea of the universal console</a> did not stand still. Actually, there has been a lot of progress in many aspects of (what I will call from now on) the &#8220;<strong>RetroPie Project</strong>&#8220;.</p>
<p><span id="more-662"></span> I prepared a logo for that as shown on top of this post. What do you think?</p>
<h2>What is achieved in the meantime</h2>
<p>In a previous post, I have pointed out several aspects that have (at least) to be considered for turning the Raspberry into a retro-gaming machine. Several people actively work on solutions for the individual aspects and, currently, there is a lot of drive in the development. Te vivid usage of <a href="http://www.raspberrypi.org/phpBB3/viewtopic.php?f=78&amp;t=13600">the official forum</a> is an essential part of that. Let me give you a brief overview about what has happened within the last few weeks:</p>
<ul>
<li><strong>Emulation Station: </strong>In order to browse and run your game collections on the Raspberry <a href="https://github.com/Aloshi/EmulationStation" target="_blank">Emulation Station</a> provides a graphical front-end that is specifically designed for the Raspberry Pi platform. Comments, suggestions, or <a href="https://github.com/Aloshi/EmulationStation/issues?state=open" target="_blank">bug reports</a> are welcome and constructively discussed for the further development of the front end.</li>
<li><strong>Emulators: </strong>A wide variety of emulators that are running on the Raspberry exists in the meantime and people are still working on <a href="http://www.raspberrypi.org/phpBB3/viewtopic.php?f=78&amp;t=6813" target="_blank">additional emulator ports</a> or exploring <a href="http://www.raspberrypi.org/phpBB3/viewtopic.php?f=78&amp;t=9934" target="_blank">which emulators are running on the RPi</a>. Currently, emulators for 18 systems can be installed with the RetroPie Setup script.</li>
<li><strong>Raspberry Pi Firmware: </strong>The <a href="https://github.com/raspberrypi/firmware" target="_blank">official firmware</a> of the Raspberry Pi is constantly developing. Among others, outstanding updates in the last weeks were the improvements with the analog audio output and the introduction of the &#8220;turbo mode&#8221; without voiding the guaranty.</li>
<li><strong>RetroPie Setup Script: </strong><a title="RetroPie-Setup: An initialization script for RetroArch on the Raspberry Pi" href="http://blog.petrockblock.com/?p=397" target="_blank">RetroPie Setup Scrip</a>t intends to ease the installation of various emulators as well as the configuration and setup of controllers, drivers, and the front-end. With the feedback from this blog and the <a href="http://www.raspberrypi.org/phpBB3/viewtopic.php?f=78&amp;t=13600" target="_blank">thread</a> in the official forum the script is permanently enhanced.</li>
<li><strong>Gaming case with slots for SNES connectors: </strong>The acrylic case <a title="PetRockBlock Pie – A (Gaming) Raspberry Pi Case" href="http://blog.petrockblock.com/?p=455" target="_blank">that I wrote about </a>has proved to be useful and robust in practice. I will revise the design of the case to account for the RetroPie GPIO adapter that I will present soon<strong>.</strong></li>
<li><strong>(S)NES-controller GPIO adapter: </strong>The PCBs of the revised version of the SNES-controller GPIO adapter board have recently arrived! I will post an article about it in the next days. Let me just tell me for now that they are great!</li>
<li><strong>Gamecon driver for GPIO interface: </strong>A <a href="http://www.raspberrypi.org/phpBB3/viewtopic.php?f=78&amp;t=15787" target="_blank">gamecon driver</a> has become part of the RetroPie Setup script and provides the possibility to use the GPIO pins for connecting various Nintendo controllers. The GPIO adapter board mentioned above can be used with this driver out-of-the-box. The latest version of the driver makes use of <a title="" href="http://linux.dell.com/dkms/manpage.html" target="_blank">Dynamic Kernel Module Support (DKMS)</a> which &#8220;enables kernel device drivers to be automatically rebuilt when a new kernel is installed&#8221; [<a title="" href="http://en.wikipedia.org/wiki/Dynamic_Kernel_Module_Support" target="_blank">Wikipedia</a>].</li>
</ul>
<p style="text-align: center;"><strong>To everyone involved in this so far I have to say &#8220;well done and thank you for all the work and what was achieved in the meantime&#8221;! </strong></p>
<h2 style="text-align: center;"><img class="wp-image-721" id="blogsy-1350537897554.1318" alt="" src="http://petrockblog.files.wordpress.com/2012/10/retropie3.jpg" width="384" height="384" /></h2>
<h2>Open issues</h2>
<p>There are still open issues:</p>
<ul>
<li><strong>Better Sound Quality: </strong>The ALSA drivers are still leading to cracking noise<strong> </strong>when running a RetroArch based emulation core.<strong> </strong>Even though <a href="https://github.com/petrockblog/RetroPie-Setup/wiki/Sound-Issues" target="_blank">the use of SDL audio drivers</a> leads to good improvements a more stable implementation of the ALSA drivers would decrease the computational load and, thus, increase the performance of the emulator.</li>
<li><strong>Controller configuration: </strong>Currently, most of the configuration of gamepads and joysticks has to be done from the command line and <a href="http://www.raspberrypi.org/phpBB3/viewtopic.php?f=78&amp;t=9558" target="_blank">can be a</a> <a href="http://www.raspberrypi.org/phpBB3/viewtopic.php?p=192501#p192501" target="_blank">challenge</a>.</li>
<li><strong>Keyboard-less setup: </strong>If the Raspberry should be used as a dedicated console the interface must be controllable without a keyboard. Since the RPi does not have an on-off button or a reset switch or any other programmable buttons, this can only be solved by adding additional hardware. The GPIO adapter that I mentioned above will solve this problem and allow for a keyboard-less setup. Right now, however, <a title="SNESDev-RPi: A SNES-Adapter for the Raspberry Pi" href="http://petrockblog.wordpress.com/2012/07/03/snesdev-rpi-a-snes-adapter-for-the-raspberry-pi/" target="_blank">SNESDev</a> and/or the gamecon driver still need to be adapted for that piece of hardware.</li>
<li><strong>Improved Stability: </strong>The <a href="http://www.raspberrypi.org/phpBB3/viewtopic.php?p=189026#p189026" target="_blank">ongoing enhancement</a> of the various components leads to instabilities from time to time. As long as there is an active development I am sure that the overall stability will reach a point where the system is experienced to work reliable in (gaming-)practice.</li>
<li><strong>Themes for all systems: </strong>Currently, not all systems that can be installed by the RetroPie Script have a theme for Emulation Station. There is, however, <a href="https://github.com/Aloshi/EmulationStation/issues/8" target="_blank">ongoing work </a>and any suggestions or help is appreciated.</li>
<li><strong>RetroPie image: </strong>Having a working image with a ready-to-go installation that people can simply download and copy to their SD card would significantly <a href="http://www.raspberrypi.org/phpBB3/viewtopic.php?p=195738#p195738" target="_blank">simplify</a> things for many people. This will become a hot topic as soon as the individual components of the system (firmware, front-end, scraper(s), emulators, drivers etc.) are mature enough.</li>
</ul>
<p>This concludes my brief interim report about the RetroPie Project. Thank you again to everyone who has contributed to this so far! Everyone who has not yet put his hands on this, but has interest I would like to encourage to have a look and to <strong>contribute</strong> in whatever way!</p>
<p>As always, if you have any comments, suggestions, or questions feel free to get in contact with me.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.petrockblock.com/2012/10/18/the-retropie-project-an-interim-report/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Gamecon driver module for NES, SNES, and N64 controllers Added to RetroPie Setup Script</title>
		<link>http://blog.petrockblock.com/2012/08/26/gamecon-driver-module-for-nes-snes-and-n64-controllers-added-to-retropie-setup-script/</link>
		<comments>http://blog.petrockblock.com/2012/08/26/gamecon-driver-module-for-nes-snes-and-n64-controllers-added-to-retropie-setup-script/#comments</comments>
		<pubDate>Sun, 26 Aug 2012 08:27:29 +0000</pubDate>
		<dc:creator>petrockblog</dc:creator>
				<category><![CDATA[Linux fun]]></category>
		<category><![CDATA[microelectronics fun]]></category>
		<category><![CDATA[programming fun]]></category>
		<category><![CDATA[RetroPie Project]]></category>
		<category><![CDATA[emulator]]></category>
		<category><![CDATA[Gamecon]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[retro]]></category>
		<category><![CDATA[RetroPie]]></category>
		<category><![CDATA[RPi]]></category>
		<category><![CDATA[SNES]]></category>
		<category><![CDATA[uinput]]></category>

		<guid isPermaLink="false">http://petrockblog.wordpress.com/?p=539</guid>
		<description><![CDATA[If you want to use original NES or SNES controllers with your Raspberry Pi, you could use SNESDev, which I have written about some weeks ago. SNESDev makes use of the user-space input module and simulates a virtual keyboard. This means that button presses on the controllers are mapped to key presses on the Raspberry. [...]]]></description>
				<content:encoded><![CDATA[<div class="separator" style="clear: both; text-align: left;"><a style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;" href="http://petrockblog.wordpress.com/2012/08/26/gamecon-driver-module-for-nes-snes-and-n64-controllers-added-to-retropie-setup-script/" target="_self"><img class="alignleft" alt="Drawn by http://www.home.unix-ag.org/simon/penguin/" src="http://petrockblog.files.wordpress.com/2012/08/wpid-photo-26-08-2012-0749.jpg?w=120" width="120" height="141" /></a></div>
<p>If you want to use original NES or SNES controllers with your Raspberry Pi, you could use <a title="SNESDev-RPi: A SNES-Adapter for the Raspberry Pi" href="http://blog.petrockblock.com/?p=294">SNESDev</a>, which I have written about some weeks ago. SNESDev makes use of the user-space input module and simulates a virtual keyboard. This means that button presses on the controllers are mapped to key presses on the Raspberry. Another approach for interfacing a controller with the Raspberry from the software side is to use a specific <a title="" href="http://linuxconsole.sourceforge.net/input/input.html#introduction" target="_blank">Linux input driver</a>. Marqs has adapted such a driver to the Raspberry Pi hardware and <a title="" href="http://www.raspberrypi.org/phpBB3/viewtopic.php?p=144187#p144187" target="_blank">made it available to the public</a>.</p>
<p><span id="more-539"></span></p>
<p>Compared to SNESDev using that driver has the advantage that the whole device handling is done in <a title="" href="http://en.wikipedia.org/wiki/User_space" target="_blank">kernel space</a>. This decreases the performance overhead and allows for lower latencies. The <a title="PCB for SNES-iCade-Adapter" href="http://blog.petrockblock.com/?p=70" target="_blank">SNES adapter board</a> can be used in combination with this driver. I used this wiring:</p>
<div class="separator" style="clear: both; text-align: none;"><a href="http://petrockblog.files.wordpress.com/2012/08/snesadapterassemblygpiomodule.png" target="_blank" rel="lightbox[539]"><img class="alignnone" alt="" src="http://petrockblog.files.wordpress.com/2012/08/snesadapterassemblygpiomodule.png?w=500" width="500" height="410" /></a></div>
<p>These are images of the adapter board soldered to the connectors and the the ribbon cable connector ready for assembly:</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://petrockblog.files.wordpress.com/2012/08/wpid-photo-13-08-2012-1504.jpg" target="_blank" rel="lightbox[539]"><img class="aligncenter" alt="" src="http://petrockblog.files.wordpress.com/2012/08/wpid-photo-13-08-2012-1504.jpg?w=500" width="500" height="375" /></a></div>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://petrockblog.files.wordpress.com/2012/08/wpid-photo-13-08-2012-15041.jpg" target="_blank" rel="lightbox[539]"><img class="aligncenter" alt="" src="http://petrockblog.files.wordpress.com/2012/08/wpid-photo-13-08-2012-15041.jpg?w=500" width="500" height="375" /></a></div>
<p>Besides the source code Marqs provides a pre-compiled module for firmware 3.1.9+. He generously allows to provide a zipped archive for download at the <a href="https://github.com/petrockblog/RetroPie-Setup/downloads">Github site of the RetroPie Setup</a>. You can either use the <a title="RetroPie-Setup: An initialization script for RetroArch on the Raspberry Pi" href="http://blog.petrockblock.com/?p=397" target="_blank">RetroPie setup script</a> for installing the driver automatically or manually put everything in place. The README that is contained in the download explains the necessary steps for that. Note that root privileges are needed to follow these steps:</p>
<script src="https://gist.github.com/3476134.js"></script><noscript><pre><code class="language- ">Copy the driver to module path
# mkdir /lib/modules/`uname -r`/kernel/drivers/input/joystick
# cp gamecon_gpio_rpi.ko /lib/modules/`uname -r`/kernel/drivers/input/joystick/
# depmod -a

4.2 Configure pads
# modprobe gamecon_gpio_rpi map=&lt;pad1/GPIO0&gt;,&lt;pad2/GPIO1&gt;,&lt;pad3/GPIO4&gt;,&lt;pad4/GPIO7&gt;
        where &lt;pad...&gt; is a number defining the pad type:
        0 = no connection
        1 = SNES pad
        2 = NES pad
        6 = N64 pad
        9 = SNES mouse

For example, if a snes pad is connected to GPIO0 and a N64 pad to GPIO7, the command would be &quot;modprobe gamecon_gpio_rpi map=1,0,0,6&quot;

Use &quot;tail /var/log/kern.log&quot; to verify that module loading was successful

4.3 Testing the pads
# apt-get install joystick
# jstest /dev/input/jsX
        where X corresponds to the pad id (0-3)

4.4 Calibrating the axis of N64 analog pad
# jscal -s 4,1,0,0,0,6972137,6972137,1,0,0,0,6547006,6468127,1,0,0,0,536854528,536854528,1,0,0,0,536854528,536854528 /dev/input/jsX
</code></pre></noscript>
<p>For future firmware version the module needs to be re-compiled (at least as long as it is not part of the official Raspbian kernel tree). This involves compiling the kernel sources on your own and takes some time. Marqs puts it like this: &#8220;Basically you have to download kernel sources and copy the driver and configs to the kernel tree. Then you&#8217;ll need to rebuild the kernel after selecting the module in menuconfig (see http://elinux.org/RPi_Kernel_Compilation). Once the kernel is built, the module can be rebuilt separately (kernel compile is needed just for creation of Module.symvers).&#8221;</p>
<p>So far, the driver is working without any problems for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.petrockblock.com/2012/08/26/gamecon-driver-module-for-nes-snes-and-n64-controllers-added-to-retropie-setup-script/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>A Wiki for the RetroPie setup script script and a debug log</title>
		<link>http://blog.petrockblock.com/2012/08/23/a-wiki-for-the-retropie-setup-script-script-and-a-debug-log/</link>
		<comments>http://blog.petrockblock.com/2012/08/23/a-wiki-for-the-retropie-setup-script-script-and-a-debug-log/#comments</comments>
		<pubDate>Thu, 23 Aug 2012 20:15:09 +0000</pubDate>
		<dc:creator>petrockblog</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[RetroPie]]></category>
		<category><![CDATA[RPi]]></category>

		<guid isPermaLink="false">http://petrockblog.wordpress.com/?p=530</guid>
		<description><![CDATA[From now on, there is a wiki for the RetroPie script. Furthermore, tackling problems related to the setup script might become a little bit easier from now on. I have created a wiki for the RetroPie setup script. That wiki could serve as a source of all kinds of collected information around the components that [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://petrockblog.wordpress.com/2012/08/23/a-wiki-for-the-retropie-setup-script-script-and-a-debug-log/"><img class="alignleft size-full wp-image-535" title="RPiWiki" alt="" src="http://petrockblog.files.wordpress.com/2012/08/rpiwiki.png" width="251" height="79" /></a>From now on, there is a wiki for the RetroPie script. Furthermore, tackling problems related to the setup script might become a little bit easier from now on.<span id="more-530"></span></p>
<p>I have created a wiki for the <a title="RetroPie-Setup: An initialization script for RetroArch on the Raspberry Pi" href="http://blog.petrockblock.com/?p=397">RetroPie setup script</a>. That wiki could serve as a source of all kinds of collected information around the components that are installed with the RetroPie setup script and can be enhanced by all users! You can find the wiki at <a href="https://github.com/petrockblog/RetroPie-Setup/wiki" target="_blank">https://github.com/petrockblog/RetroPie-Setup/wiki</a>. If you find some useful information  in a forum or another blog post or comment that was helpful for you then this might be a good candidate for an entry in the wiki. You are invited to fill the wiki with content!</p>
<p>As a step towards an increased usability I have just committed an update for &gt;&gt;<a href="https://github.com/petrockblog/RetroPie-Setup">the script</a>&lt;&lt; that implements the generation of a debug log. That log includes all relevant information about files and settings that are important for the RetroPie installation.</p>
<p>I hope that this will be useful in the future &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.petrockblock.com/2012/08/23/a-wiki-for-the-retropie-setup-script-script-and-a-debug-log/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced

 Served from: blog.petrockblock.com @ 2013-05-21 22:39:25 by W3 Total Cache -->