<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>Founder of VIA Apps Inc</description><title>mtholking</title><generator>Tumblr (3.0; @mtholking)</generator><link>http://mtholking.tumblr.com/</link><item><title>Make your own iPad SNES controller</title><description>&lt;p&gt;&lt;iframe frameborder="0" height="360" src="http://www.youtube.com/embed/6leah18O1wQ" width="640"&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;iPad SNES controller is my first hardware side project. It isn&amp;#8217;t the cheapest or the most polished solution, but it feels great to play games on my iPad with an SNES controller.&lt;/p&gt;
&lt;p&gt;It works by using the &lt;a href="http://www.pjrc.com/teensy/" target="_blank"&gt;teensy&lt;/a&gt; as a USB keyboard to send key events when buttons are pressed on the SNES gamepad. No jailbreaking is required, and without bluetooth pairing if you need to use the iOS keyboard you simply unplug the controller.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;This project uses the iCade control scheme because there are already over&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;a href="http://www.ionaudio.com/products/icade-games" target="_blank"&gt;100 games&lt;/a&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;on the App Store that support it, including classic games like &lt;a href="https://itunes.apple.com/app/pac-man/id281656475" target="_blank"&gt;PAC-MAN&lt;/a&gt;, &lt;a href="https://itunes.apple.com/us/app/ataris-greatest-hits/id422966028?mt=8" target="_blank"&gt;Atari&amp;#8217;s Greatest Hits&lt;/a&gt;, and one of my favorites from my Amiga gaming days, &lt;/span&gt;&lt;a href="http://itunes.apple.com/us/app/emerald-mine/id448002032?mt=8" target="_blank"&gt;Emerald Mine&lt;/a&gt;. &lt;span&gt;The iCade control scheme uses keystrokes to determine the current state with this key mapping &lt;/span&gt;&lt;span&gt;(via &lt;/span&gt;&lt;a href="http://www.thinkgeek.com/files/iCADE/iCade_Dev_Resource_v1_3.pdf" target="_blank"&gt;iCade developer’s PDF&lt;/a&gt;&lt;span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt="image" src="http://media.tumblr.com/b187a17447ea5dd15a0fcfdcbc00c3df/tumblr_inline_miwekpxNFB1qz4rgp.png"/&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Modifying the SNES Controller&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Components:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.ebay.com/sch/i.html?_trksid=p2050601.m570.l1313&amp;amp;_nkw=original+snes+controller&amp;amp;_sacat=0&amp;amp;_from=R40" target="_blank"&gt;Original SNES Controller&lt;/a&gt; ($10-$20) or &lt;a href="http://www.amazon.com/gp/product/B00000K4KO/" target="_blank"&gt;Generic&lt;/a&gt; ($5)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.pjrc.com/store/teensy.html" target="_blank"&gt;Teensy 2.0&lt;/a&gt; ($16)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.amazon.com/gp/product/B003K1EYM6/" target="_blank"&gt;Apple iPad Camera Connection Kit&lt;/a&gt; ($29) or &lt;a href="http://www.amazon.com/gp/product/B0085ADSFG/" target="_blank"&gt;Generic&lt;/a&gt; ($6)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.amazon.com/gp/product/B001TH7GUK" target="_blank"&gt;USB Cable with mini-b connector&lt;/a&gt; ($3)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Open the SNES controller and detach the wire harness from the board.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt="image" src="http://media.tumblr.com/d01f2796c09a44836fe62f81d26e5269/tumblr_inline_miwoemCXLJ1qz4rgp.jpg"/&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Cut the SNES cable and strip the wire harness so it looks like the picture below.&lt;/p&gt;
&lt;p&gt;Download and install the &lt;a href="http://arduino.cc/en/main/software" target="_blank"&gt;Arduino IDE&lt;/a&gt;, &lt;a href="http://www.pjrc.com/teensy/teensyduino.html" target="_blank"&gt;Teensyduino&lt;/a&gt;, and &lt;a href="http://www.pjrc.com/teensy/loader.html" target="_blank"&gt;Teensy Loader&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Connect the Teensy to your computer and open Arduino IDE&lt;/li&gt;
&lt;li&gt;Choose &amp;#8220;Teensy 2.0&amp;#8221; as the board&lt;/li&gt;
&lt;li&gt;Set the USB Device Type to Keyboard&lt;/li&gt;
&lt;li&gt;Compile and upload this sketch to the Teensy: https://github.com/mtholking/ipad-snes-controller (recommendations for improvements would be greatly appreciated)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;span&gt;&lt;img alt="image" src="http://media.tumblr.com/9bd88be4450cd14bf9476d5f879df224/tumblr_inline_miwogoUCOK1qz4rgp.jpg"/&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Solder each wire into the Teensy as follows:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Brown (GND)       &amp;#8212;&amp;#8212;&amp;gt; Teensy GND&lt;br/&gt;White (VCC)         &amp;#8212;&amp;#8212;&amp;gt; Teensy VCC&lt;br/&gt;Yellow (CLOCK)   &amp;#8212;&amp;#8212;&amp;gt; Teensy PB0&lt;br/&gt;Orange (LATCH)  &amp;#8212;&amp;#8212;&amp;gt; Teensy PB1&lt;br/&gt;Red (DATA)          &amp;#8212;&amp;#8212;&amp;gt; Teensy PB2&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt="image" src="http://media.tumblr.com/6a68d3828cdad6feacb665e19039a74b/tumblr_inline_miwojmVVNB1qz4rgp.jpg"/&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Before reassembling the controller, &lt;a href="http://www.instructables.com/id/SNES-Teensy-USBPS3-Gamepad/step6/Put-the-USB-cable-on-a-diet/" target="_blank"&gt;trim the USB connector&lt;/a&gt; for a better fit, and &lt;a href="http://www.instructables.com/id/SNES-Teensy-USBPS3-Gamepad/step5/Making-room-for-the-Teensy/" target="_blank"&gt;clip off some of the plastic supports&lt;/a&gt; on the back of the case to make room for the Teensy.&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" src="http://media.tumblr.com/3b0a4217b7dc89b48663908e6bdc1189/tumblr_inline_miwoq02xeU1qz4rgp.jpg"/&gt;&lt;/p&gt;

&lt;p&gt;Then, close up the controller and plug the USB connector into the USB Camera Connection kit. Finally plug it into your iPad and start playing.&lt;/p&gt;

&lt;p&gt;&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Making Compatible Apps&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you want to add iCade support to your own apps, check out this &lt;a href="http://www.raywenderlich.com/8618/adding-icade-support-to-your-game" target="_blank"&gt;great tutorial from raywenderlich.com&lt;/a&gt;, which uses &lt;a href="https://github.com/scarnie/iCade-iOS" target="_blank"&gt;this github project&lt;/a&gt;. My first test app for the controller was this iOS app wrapper for Infinite Mario in HTML/JS.&lt;/p&gt;
&lt;p&gt;&lt;iframe frameborder="0" height="360" src="http://www.youtube.com/embed/k_EFq8dsgeg" width="640"&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Notes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;- Occasional error will appear warning that the device is not supported, just dismiss it and keep playing.&lt;/p&gt;
&lt;p&gt;- iPad only, does not work for iPhone/iPod Touch&lt;/p&gt;
&lt;p&gt;- Android compatible through USB connection including apps like &lt;a href="http://blog.supergnes.com/?p=339" target="_blank"&gt;Super GNES&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Credits/Thanks&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/johnburkert/YeOldeJoystick" target="_blank"&gt;https://github.com/johnburkert/YeOldeJoystick&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://pinouts.ru/Game/snescontroller_pinout.shtml" target="_blank"&gt;http://pinouts.ru/Game/snescontroller_pinout.shtml&lt;/a&gt;&lt;/p&gt;</description><link>http://mtholking.tumblr.com/post/45019008849</link><guid>http://mtholking.tumblr.com/post/45019008849</guid><pubDate>Sun, 10 Mar 2013 05:32:00 -0700</pubDate><category>iPad</category><category>SNES</category><category>iOS</category><category>Arduino</category><category>Teensy</category></item><item><title>hometown bengals @ chargers 12-2-12</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_mejvmdH8fW1qz9ezeo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;hometown bengals @ chargers 12-2-12&lt;/p&gt;</description><link>http://mtholking.tumblr.com/post/37252022159</link><guid>http://mtholking.tumblr.com/post/37252022159</guid><pubDate>Wed, 05 Dec 2012 00:59:00 -0800</pubDate></item><item><title>back in cincy for a long weekend</title><description>&lt;iframe class="spotify_audio_player" src="https://embed.spotify.com/?uri=spotify%3Atrack%3A6smJr4cmKlPE7EQrN8XItq&amp;view=coverart" frameborder="0" allowtransparency="true" width="500" height="580"&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;back in cincy for a long weekend&lt;/p&gt;</description><link>http://mtholking.tumblr.com/post/30185918513</link><guid>http://mtholking.tumblr.com/post/30185918513</guid><pubDate>Sat, 25 Aug 2012 12:01:00 -0700</pubDate></item><item><title>SlideWriter iPad Demo</title><description>&lt;p&gt;&lt;iframe frameborder="0" height="480" src="http://www.youtube.com/embed/OhRgrP7Lyqk?rel=0" width="640"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;SlideWriter for iOS lets you quickly move the cursor or select text by sliding your finger above the keyboard.  It makes editing text faster and much easier than tapping and holding for every edit.&lt;/p&gt;
&lt;p&gt;It does not require a jailbreak, all functions of the built-in keyboard stay intact including splitting the keyboard.&lt;/p&gt;
&lt;p&gt;If you want it, let us know - &lt;a href="http://twitter.com/SlideWriter" target="_blank"&gt;@SlideWriter&lt;/a&gt;&lt;/p&gt;</description><link>http://mtholking.tumblr.com/post/22539065261</link><guid>http://mtholking.tumblr.com/post/22539065261</guid><pubDate>Sun, 06 May 2012 13:31:00 -0700</pubDate><category>iOS</category><category>demo</category><category>SlideWriter</category></item></channel></rss>
