<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>133MHz&#039;s Junk Box</title>
	<atom:link href="http://133fsb.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://133fsb.wordpress.com</link>
	<description>Random electronics and gaming crap</description>
	<lastBuildDate>Mon, 23 Jan 2012 15:27:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='133fsb.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>133MHz&#039;s Junk Box</title>
		<link>http://133fsb.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://133fsb.wordpress.com/osd.xml" title="133MHz&#039;s Junk Box" />
	<atom:link rel='hub' href='http://133fsb.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Adding an RGB input to a cheap generic NTSC TV</title>
		<link>http://133fsb.wordpress.com/2010/05/22/adding-an-rgb-input-to-a-cheap-generic-ntsc-tv/</link>
		<comments>http://133fsb.wordpress.com/2010/05/22/adding-an-rgb-input-to-a-cheap-generic-ntsc-tv/#comments</comments>
		<pubDate>Sun, 23 May 2010 03:40:07 +0000</pubDate>
		<dc:creator>133MHz</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://133fsb.wordpress.com/?p=123</guid>
		<description><![CDATA[Featured on Hack A Day! Amazing! never thought a project of mine would make it there! 133MHz’s Junk Box proudly presents a way to convert an inexpensive generic chassis Chinese NTSC CRT TV set into a high quality RGB SCART monitor, for use with arcade game boards and home video game consoles with RGB output. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=133fsb.wordpress.com&amp;blog=9249573&amp;post=123&amp;subd=133fsb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://hackaday.com/2010/05/27/adding-scart-to-a-cheap-crt-television">Featured on Hack A Day!</a> Amazing! never thought a project of mine would make it there!</p>
<p>133MHz’s Junk Box proudly presents a way to convert an inexpensive generic chassis Chinese NTSC CRT TV set into a high quality RGB SCART monitor, for use with arcade game boards and home video game consoles with RGB output. Be warned that this requires non-trivial modifications to your TV set’s circuitry. <strong>CRT TV sets work with lethally high voltages, which can be present even if the set is off and unplugged, presenting a high electrocution hazard to the inexperienced. This is no puny 5-volt digital electronic project. If you don’t have any experience in TV repair, don’t attempt this modification. 133MHz’s Junk Box assumes no responsibility for your actions.</strong></p>
<p>Ready to delve into the fascinating world of television circuitry? <span id="more-123"></span></p>
<h2><strong>Introduction</strong></h2>
<p>Ah, RGB. The additive color model in which red, green and blue light are added together in order to reproduce every color that can be seen with the human eye. It is primarily used in electronic devices as a way to capture, store and display color information in graphics, pictures, video, etc.</p>
<p>RGB signaling provides the cleanest, purest form of analog video you can get from any video device. No wonder why computer monitors have used analog RGB since the introduction of VGA in 1987. But television is another story. Since the dawn of color TV, we’ve been stuck with lossy encoding methods in order to cram a full-color picture in the limited bandwidth of a monochrome transmission. It really bit us in the rear when the home computer and video game system revolution started in the late 70s, clever machines that used an inexpensive home television set as a video display. The lack of a direct RGB input on TV sets meant that the signal from the computer or game device had to be encoded in a suitable broadcast TV format, only to be decoded back to RGB inside the TV set, leading to considerable losses in picture quality.</p>
<p>The French did it right with the introduction of the <a href="http://en.wikipedia.org/wiki/SCART">SCART connector</a> in the late 70s. It is a 21 pin connector that provides direct RGB signaling between a TV and external video devices, among other nice additions like automatic input switching and video overlays. It was made compulsory for new TV sets sold in France starting in 1980 and then it spread throughout Europe, becoming a de-facto standard for European TVs and video devices. Having a direct RGB input offers the highest possible video quality for your DVD player or video game console, and it also simplifies internal video circuits by a great margin. Almost every video game system sold in Europe comes with an RGB SCART cable as a pack-in or as an option, for a stunning monitor-quality video display.</p>
<h2>We got the short end of the stick</h2>
<p>Unfortunately, RGB SCART never took off outside of Europe. Here in America it is totally unheard of, which means that we’ve been stuck with crappy composite video and S-Video inputs in our TVs for decades, while Europe has enjoyed pure, glorious RGB since pretty much forever.</p>
<p>Just like European gamers got the short end of the stick with their video games having horizontal black bars, crappy frame rates and in the worst case a ~16.67% slowdown in music and gameplay speed, here we had to put up with prehistoric video connections and their horrid picture quality until Component video came and saved our eyes, but that was pretty late in the game, wasn’t it? You can&#8217;t have everything, they keep saying.</p>
<h2>RGB is Godlike</h2>
<p>Ever noticed how crisp and clear arcade games are in comparison to your home video games? That&#8217;s because they use RGB signaling. It is the purest analog video signal you can get from the video output chip of your favorite game system directly into the electron guns of your TV set. Zero distortion, zero artifacts, blurriness and all those nasties introduced by NTSC/PAL color encoding, low quality TV decoding circuits and so on.</p>
<p>Don&#8217;t take my word for it. Please, <a href="http://www.disgruntleddesigner.com/chrisc/gotRGB/screenshots.html">see it for yourself</a>. Especially in consoles like the Sega Genesis which have a craptastic composite video out, the difference is like night and day.</p>
<p>I grew up playing the SNES through the RF modulator connection, and since I discovered the SCART connector I&#8217;ve been pissed off at the complete lack of a direct RGB input on American TVs.</p>
<h2>RGB modding a TV: Not as easy as it might seem</h2>
<p>Over the years I&#8217;ve been trying to found a way to add a direct RGB input to a CRT TV set that wasn&#8217;t designed with such a thing in mind, without much success. From a technical and economical standpoint, it makes much more sense to pump RGB directly into the CRT electron guns, instead of implementing loads of complex and expensive circuitry to encode RGB video into a 50 year old format only to devote similar circuitry in order to decode it back to separate RGB, a few inches of wire away. It&#8217;s utterly pointless, to say the least.</p>
<p>In theory, it should be pretty easy to add RGB to an American TV, just feed your own RGB into the Chroma processor IC (disconnecting the original RGB output from the TV tuner stage) or directly into the CRT video board, and injecting your own synchronization signal into the TV&#8217;s sync separation stage. After all, you&#8217;re doing away with the convoluted conversion steps and going straight where it&#8217;s at. But in practice, it&#8217;s nowhere as easy as it sounds. Here are some of the major hurdles that have prevented me from succeeding in my <em>Quest for Glorious RGB</em> in the past:</p>
<ul>
<li>Some TVs, especially old ones, don&#8217;t use RGB <em>at all</em>. They work in what it&#8217;s called Color Difference signaling, basically providing Y (the sum of the R, G and B components), R-Y and B-Y (the red and blue components with the luminance signal subtracted from them). These color difference signals reach all the way to the CRT video board, where by algebraic manipulation, the original R, G and B components are reconstructed to drive the electron guns. In other words, there&#8217;s no RGB to be found, and if you&#8217;re faced with one of these, you&#8217;re out of luck.</li>
<li>Highly Integrated Chroma Processors. It&#8217;s not uncommon to find TVs where a single chip does most of the work, taking the IF signal directly from the TV tuner and outputting RGB + separate sync signals, basically combining several separate stages into one. Although you can still try to inject your RGB signal between the IC output and the CRT video board input, you&#8217;d end up having to do extensive modifications to the TV set since the chip runs practically everything and you&#8217;re effectively bypassing it, not to mention that you&#8217;ll have to build a video amplifier to get your RGB signals to adequate levels for the electron gun driving stage, and the need for a full featured sync separator circuit in order to drive the horizontal and vertical deflection stages properly. You might as well toss the TV and build your own video display from scratch.</li>
<li>The infamous &#8220;Hot Chassis&#8221;. Most if not all CRT TVs until recently use what is called a &#8220;hot&#8221; or &#8220;live&#8221; power supply design, in which there&#8217;s no galvanic isolation between the secondary (output) side and the primary (household voltage input) side. This simplifies a great deal of the power supply’s design, but presents a nasty electrocution hazard if you happen to get your hands inside the TV. Basically the whole negative return side of the TV’s circuitry is directly connected to one side of the household AC line. Something so insignificant as touching any part of the circuitry could be the equivalent of sticking your finger in a wall outlet. This is the main reason why TV sets don’t have a third grounding prong and all those High Voltage warnings on the back. Hacking a direct RGB input into one of these will destroy every piece of equipment that you connect to it and also electrocute you should you ever touch the wires or connectors. The only safe way to work on such a TV would be to plug it into a cumbersome and expensive isolation transformer at all times. As a sidenote, since in a live chassis TV there must be no way for the user to come in contact with the TV’s inner workings, the antenna connection has to be isolated from the inside with small ceramic capacitors. Due to the characteristic reactance of the capacitors, they’ll block the 50/60 Hz household current from coming out the antenna terminal but they’ll allow the several hundred MHz broadcast TV signals to get in easily. Even with the caps in place, a small amount of current will always leak to the outside. If you’ve ever felt a tingle when adjusting the antenna on an old TV, now you know why.</li>
</ul>
<p>Every single one of my several past attempts to add an RGB input to a CRT TV (especially old ones) has failed because of one or several of the above reasons, ultimately making me abandon the project for a long time.</p>
<h2>Crappy Chinese Generic CRT TVs: A Blessing In Disguise</h2>
<p>Recently I&#8217;ve attended a local retro gaming event, in there I saw an Atari ST computer connected to an RGB monitor and I was totally blown away by the vibrant colors and the razor sharp pixels on those low resolution graphics. Seeing that got me motivated enough to try my luck at the <em>Quest For Glorious RGB</em> once again.</p>
<p>Back in Christmas 2005 I got a 14” CRT TV + DVD player bundle from a big box store at a really good price. Both the TV and the DVD player are from Chinese origin and they’re as generic as they can possibly be. Cheap no-name brand stuff comes out of China and gets re-branded and sold as budget equipment in stores and supermarkets all around the world. Things like build quality and interface design aren’t nothing worth writing home about, but if you take well care of them they’re surprisingly good performers for their low price.</p>
<div id="attachment_180" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2010/05/nex_14nt01.jpg"><img class="size-full wp-image-180" title="nex_14nt01" src="http://133fsb.files.wordpress.com/2010/05/nex_14nt01.jpg?w=450&#038;h=438" alt="" width="450" height="438" /></a><p class="wp-caption-text">NEX 14NT01. Also found under a billion different names.</p></div>
<p>The TV in question is a NEX 14NT01, which doesn’t really mean anything. You won’t find a bit of information on the web by that model number. My first thought is that there must be a plain brand-name motherboard inside, or at least some kind of chassis identification I could use to find more information about it. Turns out I was partially right.</p>
<p>Something that has always bugged me about this TV is that it only works with its original remote control. It won’t work at all with a universal remote. No amount of name-brand codes will allow you to control any remote function. That always struck me as odd. Could such a craptastic TV have a completely generic chassis that doesn’t conform to any brand-name TV remote standards?</p>
<p>Taking that sucker apart confirmed my suspicions. This is the only bit of information I could find:</p>
<div id="attachment_146" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2010/05/3y03_chassis_id.jpg"><img class="size-full wp-image-146" title="3y03_chassis_id" src="http://133fsb.files.wordpress.com/2010/05/3y03_chassis_id.jpg?w=450&#038;h=182" alt="" width="450" height="182" /></a><p class="wp-caption-text">The only bit of identification: 3Y03.</p></div>
<p>It is indeed a completely generic Chinese chassis manufactured solely for ultra-budget TV sets, and it goes by the name 3Y03. There is no manufacturer identification to be found, these are probably churned out by several sweatshop type factories by the millions. It uses no custom parts and offers a great deal of flexibility for the chassis builders, with optional components like multiple AV inputs or Stereo/MTS selectable via software. It even allows for driving of picture tubes from 14” to 21”. Basically you can fit this anywhere and have a working TV with as little or as many options as you’d like, for pennies on the dollar. No wonder why China is taking over the world!</p>
<p>Googling for 3Y03 reveals a bunch of schematic diagrams and service procedures from several different manufacturers. It also reveals that 3Y03 chassis TVs go for a great number of different “brands” and “models”, complete with different case designs, but the same no-name insides. Here are some of them:</p>
<ul>
<li>NEX 14NT01</li>
<li>Sanyo TVS2132A</li>
<li>IRT CTK-2182</li>
<li>Groven 21TN</li>
<li>Simtron TV-2122</li>
<li>Akira CT-21LS9M</li>
<li>Fisher PC-R20R2</li>
<li>Emerson ETV-2091</li>
<li>Emerson ETV21F1</li>
<li>Bluesky 14&#8243;</li>
</ul>
<p>And I wouldn’t doubt for a second that there might be tons more. This is the kind of TV you find at a K-Mart special, no wonder it’s been sold all over the world under a zillion names and designs.</p>
<p>Back to our <em>Quest for Glorious RGB</em>, what’s so special about a no-name generic Chinese TV? Well, being a generic and highly modular design, the potential for hacking is enormous. Unlike a rigidly and well designed TV, a generic piece of crap with lots of empty board space (for the features you didn’t pay for) and plenty of cheap, fully documented ICs is a hardware hacker’s dream. It might be possible to RGB mod a TV after all! Let’s tackle the advantages that are relevant to our interests:</p>
<ul>
<li>Being a generic design intended to be sold all over the world, where only small changes are made to accommodate for different international markets, such as varying domestic voltages, local TV standards and antenna/video connectors, there’s a great probability that the chassis already has provisions for a direct RGB input that simply wasn’t fitted for the American market, and adding the missing components (and possibly enabling them via software) would accomplish our goal. In my case, this turned out to be partially correct.</li>
<li>Because it is a microprocessor driven TV with 100% off-the-shelf parts for the microprocessor, memory and Jungle ICs and with fully digital on-screen controls, the built-in On Screen Display (OSD) character generator provides a great opportunity for hacking our own RGB input. The video signal for the On Screen Display is generated inside the microprocessor and it’s encoded into digital or analog RGB, this is fed into the chroma processor, which then mixes it with the RGB signal from the video sources in order to produce a video overlay, superimposing the on screen menus on top of the TV display. If we can inject our own RGB signal into the lines used for the On Screen Display and the overlay processing, then we might get our <em>Glorious RGB</em>! In my case, this turned out to be the key to success.</li>
<li>Finally, since the chassis is intended for a global market with several voltage, frequency and plug standards, a “universal” or “auto-sensing” power supply design is used. Such a power supply automatically adjusts itself to work on a wide variety of power conditions, even compensating for voltage transients during operation. It’s the greatest thing that has come of modern switching power supply design. Modern power supplies are galvanically isolated by design, so that they comply with all sorts of safety regulations imposed around the world. In this modern age of intelligent and safe appliances, live chassis designs have gone the way of the dodo, and with good reason. 3Y03 based TVs come with a universal type power supply, so we can safely tinker with them to our heart’s content.</li>
</ul>
<p>Naturally I took my 3Y03 based TV apart in order to look for signs that would lead me to my goal, looking for missing components, looking up the datasheets for the ICs in order to see what kind of inputs they have, and of course, studying the schematic diagram of the TV itself.</p>
<p>I found a bunch of missing components, mainly from stereo audio and MTS support, but nothing related to RGB SCART input. However, I did find a sign of RGB SCART – on the back panel!</p>
<p>This is the innocent looking back panel, sporting basic composite video input and output and mono audio:</p>
<div id="attachment_147" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2010/05/dscn0090.jpg"><img class="size-full wp-image-147" title="DSCN0090" src="http://133fsb.files.wordpress.com/2010/05/dscn0090.jpg?w=450&#038;h=187" alt="" width="450" height="187" /></a><p class="wp-caption-text">Plain TV back panel</p></div>
<p>They look kind of lonely don’t they? When I removed it and looked at the back, the large amount of pre-made holes for various connectors caught my attention, especially that large-ish hole in the bottom left corner. That one’s for a SCART plug!</p>
<div id="attachment_148" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2010/05/dscn0091.jpg"><img class="size-full wp-image-148" title="DSCN0091" src="http://133fsb.files.wordpress.com/2010/05/dscn0091.jpg?w=450&#038;h=187" alt="" width="450" height="187" /></a><p class="wp-caption-text">Reminds me of Swiss cheese, but with a SCART input.</p></div>
<p>So this was meant to have an RGB SCART input, at least in some way or another.</p>
<p>That back panel cover is a perfect example of the great modularity of these Chinese designs. Manufacture one universal board and fill up as little or as many holes as features you want. One design to rule them all, and nothing goes to waste. Also great for us hard hackers, so we can fill up with the features we didn’t pay for, or with our own creations. Want more AV inputs? Install them yourself!</p>
<p>So there are no electrical provisions for a direct RGB input, however there is a perfectly good On Screen Display system I could experiment with. Studying the schematics and datasheets, I found that it would be perfect for my needs.</p>
<h2><strong>Hacking the On Screen Display</strong></h2>
<p>First let’s expand on the basic notions on how the On Screen Display system works. Here’s a simplified diagram I made for the purpose:</p>
<div id="attachment_149" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2010/05/rgb_path.png"><img class="size-full wp-image-149" title="rgb_path" src="http://133fsb.files.wordpress.com/2010/05/rgb_path.png?w=450&#038;h=258" alt="" width="450" height="258" /></a><p class="wp-caption-text">Something.</p></div>
<p>The microprocessor controls the TV in its entirety. It’s got a Serial EEPROM in which system and user settings are stored, and by means of a bunch of analog and digital inputs and outputs, it talks to the rest of the devices such as the TV tuner, Jungle IC, deflection systems, etc. Microcontrollers in modern TVs are pretty powerful, rivaling early 8-bit home computers in terms of processing power and graphic capabilities.</p>
<p>Among the countless other functions, the microprocessor contains an integrated video display generator for the On Screen Display function, usually being able to generate low resolution text and rudimentary graphics in monochrome or basic colors. This system also generates the Closed Caption subtitles in the TV sets fitted with a Closed Caption decoder.</p>
<p>The 3Y03 chassis uses the Sanyo LC8633224C microcontroller. Its OSD circuitry generates a 36 x 16 character display and it has the ability of drawing simple graphics with 16 simultaneous colors. The software running on it ultimately decides the looks of the on-screen menus.</p>
<div id="attachment_150" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2010/05/osd_plain.jpg"><img class="size-full wp-image-150" title="osd_plain" src="http://133fsb.files.wordpress.com/2010/05/osd_plain.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></a><p class="wp-caption-text">Plain Vanilla TV On Screen Display (OSD)</p></div>
<p>The framebuffer for the on screen display is encoded as a digital or analog RGB signal in order to leave the microcontroller and it is also synchronized to the TV’s horizontal and vertical deflection timings. The Jungle IC, which handles all of the chroma processing and conversion stages, takes the input signal either from the TV tuner or the AV inputs, extracts the horizontal and vertical sync information, decodes the video information back into RGB signaling and feeds the individual R, G and B components into the CRT’s electron guns, to create a full color video display. As stated before, it also contains a dedicated RGB input for the On Screen Display video coming from the microprocessor. When instructed to do so, the Jungle IC mixes the OSD video with the regular video coming from the tuner or AV input, seamlessly superimposing the on-screen menus on top of the regular TV material.</p>
<p>Since the Jungle IC needs to know when to display the OSD video instead of the regular video, an input called the <strong>Fast Blanking </strong>Input is provided. Depending on the voltage level applied to this input, the Jungle IC selects between the OSD and the regular video to be displayed. A corresponding Fast Blanking Output is provided on the microcontroller, in order to drive the Jungle IC and display the menus at the correct time.</p>
<p>Since the microcontroller’s OSD generator is synchronized to the TV’s deflection timings in order to generate a correct and steady on screen display, by carefully manipulating the status of the Fast Blanking pin it is possible to draw boxes of various sizes or “floating” text/graphics without disturbing the original TV picture as a whole, by activating the Fast Blanking during the exact sweep period when something is to be overlaid, and quickly disabling it when it’s not needed. As you can see, the Fast Blanking acts pretty much like an Enable pin of a digital device like a ROM chip or a tri-state buffer. This is why the Fast Blanking input is represented as controlling a two-way switch, selecting between regular and OSD video.</p>
<p>According to the microcontroller&#8217;s datasheet, the OSD RGB output can be either analog or digital, depending on the status of a specific bit. Digital would be of no use to me, unless I wanted to emulate a CGA monitor or something. Fortunately it was set to analog, which means it’s a potential candidate for our hacking purposes.</p>
<h2><strong>Theory of Operation</strong></h2>
<p>In theory, by disconnecting the OSD RGB output of the microcontroller from the OSD RGB input of the Jungle IC and injecting our own RGB signal directly into the OSD input the TV can be used to display RGB video. In practice this turns out to be correct but there are some hurdles to overcome.</p>
<p>As you may already have guessed, by doing this you lose the on-screen display when in RGB mode. I think it’s a small price to pay for <em>Glorious RGB</em>, and frankly, I couldn’t care less. A switch will have to be fitted in order to select between normal TV and RGB mode.</p>
<p>The impedance of the RGB inputs might need to be matched or adjusted in some way in order to get a correct video display. This is easily done using resistors.</p>
<p>Getting our picture to sync would be an issue. There is a SYNC pin on the Jungle IC but further analysis reveals that it is an output instead of an input – the OSD syncs to the TV’s deflection, not the other way around. My elegant way of solving this problem is by using a composite video input as the sync input for the RGB signal, and selecting said AV input on the TV so that it syncs up correctly. SCART uses the same approach of extracting the sync information from the composite video signal, after all.</p>
<p>Last but not least, the Fast Blanking input will need to be manually controlled. If it’s left connected to the microcontroller, our RGB video would only “show through” the dialogs and boxes of the on-screen menus! I’m going to assume that the Fast Blanking pin is a TTL compatible digital input, and thus pulling it permanently to +5V would blank the entire screen. Pulling it to ground would disable the OSD entirely.</p>
<p>With these constraints in mind, I designed a simple way to switch between regular TV with on-screen menus to an external RGB input using a four pole double throw switch. This will be the basis for the full RGB modification.</p>
<div id="attachment_151" class="wp-caption aligncenter" style="width: 425px"><a href="http://133fsb.files.wordpress.com/2010/05/rgb_switch_basic.png"><img class="size-full wp-image-151" title="rgb_switch_basic" src="http://133fsb.files.wordpress.com/2010/05/rgb_switch_basic.png?w=450" alt=""   /></a><p class="wp-caption-text">Basic RGB switching device</p></div>
<p>When the OSD RGB output is connected to the OSD RGB input, the Fast Blanking pin is connected as usual. When the switch is flipped to the Aux. RGB input, the Fast Blanking pin is pulled high in order to blank the entire display.</p>
<p>Before going full swing with modifying the TV set, let’s mess around with the on screen display to see these concepts in action.</p>
<h2><strong>Messing with the On Screen Display for Fun and Profit</strong></h2>
<p>Now that we understand the inner workings of the On Screen Display system, let’s have some fun with it by trying all those crazy theories that were derived from my assumptions.</p>
<p>Here’s the plain vanilla OSD in case you forgot how it looks like:</p>
<div id="attachment_150" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2010/05/osd_plain.jpg"><img class="size-full wp-image-150" title="osd_plain" src="http://133fsb.files.wordpress.com/2010/05/osd_plain.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></a><p class="wp-caption-text">Plain Vanilla TV On Screen Display (OSD)</p></div>
<p>First, if we disconnect the Fast Blanking input and connect it to ground (according to my digital input hypothesis), the on screen display would be disabled entirely, making it invisible, since the Jungle IC would never switch to it.</p>
<p>Now, what if we disconnect the OSD RGB output from the microcontroller and connect the OSD RGB inputs of the Jungle IC to ground (forcing a permanent zero volts in all three inputs), without messing with the Fast Blanking pin? The OSD will still get drawn on the screen, but there would be no RGB information to display. Since the RGB pins are tied to zero volts, the menus should be completely black!</p>
<div id="attachment_152" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2010/05/osd_experiment0d.jpg"><img class="size-full wp-image-152" title="osd_experiment0d" src="http://133fsb.files.wordpress.com/2010/05/osd_experiment0d.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></a><p class="wp-caption-text">Black holes sucking up information!</p></div>
<p>Black voids appear where the OSD information should’ve been. If you didn’t quite grasp the concept with my earlier explanations, these pictures should allow you to visualize it quite clearly.</p>
<p>Now let’s get some RGB video signal into those pins, say from a Sega Genesis video game console with its convenient RGB output, and like before, not touching the Fast Blanking pin. The composite sync signal from the Genesis is being fed into one of the composite video inputs of the TV, and the TV is set up to display said composite video input. The composite sync signal of the Genesis is simply a composite video signal but without any video information at all, just the sync pulses, so by feeding it into a composite video input, you should get a solid black screen. Now I’ll press the MENU button on the remote control to bring up the On Screen Display…</p>
<div id="attachment_153" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2010/05/osd_experiment1.jpg"><img class="size-full wp-image-153" title="osd_experiment1" src="http://133fsb.files.wordpress.com/2010/05/osd_experiment1.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></a><p class="wp-caption-text">ZOMG On Screen Sonic!</p></div>
<p>Now that’s awesome sauce! The TV’s microcontroller is still under control of the Fast Blanking signal, so that the text boxes still get drawn in their respective places, but instead of the usual TV settings, <em>Sonic the Hedgehog 2</em> shows up through them.</p>
<div id="attachment_154" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2010/05/osd_experiment2.jpg"><img class="size-full wp-image-154" title="osd_experiment2" src="http://133fsb.files.wordpress.com/2010/05/osd_experiment2.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></a><p class="wp-caption-text">How cool is that?</p></div>
<p>If you zoom in on those pictures you’ll notice that some of the original OSD text is readable on top of the <em>Sonic 2</em> video. This is most likely because the Fast Blanking pin is not a strict digital input as I supposed, but actually an analog input that allows to vary the amount of “mixing” between the OSD video and regular video, probably to control the amount of intensity of the OSD colors, or to create some sort of transparency effect.</p>
<p>This also means I cheated a bit – the OSD boxes are never completely black when tying the RGB inputs to ground because of this. It actually looks like this:</p>
<div id="attachment_155" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2010/05/osd_experiment0.jpg"><img class="size-full wp-image-155" title="osd_experiment0" src="http://133fsb.files.wordpress.com/2010/05/osd_experiment0.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></a><p class="wp-caption-text">At least I didn&#039;t hide the truth. Oh well.</p></div>
<p>Black indeed, but the text is still readable due to the different “shades” of black created by the variable amount of “blanking” used.</p>
<p>Now it should be pretty clear to see why forcing the Fast Blanking pin to enabled at all times would wipe out the entire screen and basically provide us with a free RGB input to tinker with.</p>
<h2><strong>Modifying the 3Y03 Chassis for Direct RGB Input</strong></h2>
<p>Let’s start by analyzing the relevant portion of the circuit, in this case the OSD RGB lines between the microcontroller and the Jungle IC.</p>
<div id="attachment_156" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2010/05/3y03_osd_schematic.png"><img class="size-full wp-image-156" title="3y03_osd_schematic" src="http://133fsb.files.wordpress.com/2010/05/3y03_osd_schematic.png?w=450&#038;h=257" alt="" width="450" height="257" /></a><p class="wp-caption-text">Clipping from the 3Y03 Schematic Diagram. Click to zoom in.</p></div>
<p>Bingo! There we have our OSD RGB and blanking signals, complete with conveniently placed resistors, waiting to be hacked. There’s a nifty little array of diodes and resistors on the RGB outputs of the microcontroller, probably to bring the output signal to adequate levels suitable for the Jungle IC’s inputs.</p>
<div id="attachment_159" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2010/05/rgb_impedance_3y03.png"><img class="size-full wp-image-159" title="rgb_impedance_3y03" src="http://133fsb.files.wordpress.com/2010/05/rgb_impedance_3y03.png?w=450&#038;h=226" alt="" width="450" height="226" /></a><p class="wp-caption-text">Impedance matching used in the 3Y03 Chassis</p></div>
<p>I might have to build something similar in nature for my external RGB input, or do some other impedance matching sorcery to get the color levels right.</p>
<p>By removing resistors R029, R030, R031 and soldering wires to their pad holes, I can conveniently place my RGB switching device without cutting any tracks or desoldering chips off the board. As for the Fast Blanking pin, it seems that I can solder a resistor connected to +5V directly to it without having to break its path from the circuit, because there’s a diode in series with the microcontroller output preventing current from flowing back into it.</p>
<p>I found out that the composite sync voltage level is a bit too high for a standard composite video input, so by putting a 1.8kΩ resistor in series between the composite sync output and the composite video input I was able to lower its voltage enough to make the TV happy.</p>
<p>As for the particular RGB levels, since my oscilloscope is broken I had to resort to trial and error in order to find the combination of resistors that would give me a correct picture, taking some hints from the original OSD circuitry. Something quirky I found about the Jungle’s OSD RGB inputs is that they seem to have internal pull-up resistors. If left floating, displayed video will be white instead of black. If an RGB video source is directly connected to the OSD RGB inputs, a color picture will appear but the dark areas will be white instead of black, leading me to believe that these are some fairly strong pull-ups. That certainly explains the presence of those 5.1kΩ resistors from each of the video lines to ground, without them you get no black level.</p>
<p>After lots of experimentation using a pair of Human Eyes™ as a measuring device, I managed to find the right resistance combination to get the RGB signals to the correct levels, and therefore correct, vibrant colors on screen. Here it is:</p>
<div id="attachment_160" class="wp-caption aligncenter" style="width: 310px"><a href="http://133fsb.files.wordpress.com/2010/05/rgb_impedance_matching.png"><img class="size-full wp-image-160" title="rgb_impedance_matching" src="http://133fsb.files.wordpress.com/2010/05/rgb_impedance_matching.png?w=450" alt=""   /></a><p class="wp-caption-text">My own impedance matching for Aux. RGB Input</p></div>
<p>Now that I got it all sorted out, it was a matter of putting it to the test. I took a spare Sega Genesis system that I have lying around (not using my main one in case I blow it up because of a dumb mistake), stripped it to the bare motherboard, soldered wires to the RGB &amp; CSYNC outputs and hooked those up to the TV following every single one of my previous guidelines. <em> </em></p>
<div id="attachment_161" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2010/05/dscn0079.jpg"><img class="size-full wp-image-161" title="DSCN0079" src="http://133fsb.files.wordpress.com/2010/05/dscn0079.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></a><p class="wp-caption-text">What an ungodly mess of wires and dangerously high voltages. I love it!</p></div>
<p>The result? <em>Glorious, Glorious <span style="color:#ff0000;">R</span><span style="color:#00ff00;">G</span><span style="color:#0000ff;">B</span>!</em></p>
<div id="attachment_162" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2010/05/dscn0081.jpg"><img class="size-full wp-image-162" title="DSCN0081" src="http://133fsb.files.wordpress.com/2010/05/dscn0081.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></a><p class="wp-caption-text">Sonic has never looked so amazing on an American TV</p></div>
<p>Finally I got to experience pure RGB from a video game console, something that you Europeans take for granted, but for us is quite an experience. Now that it works, it’s time to make it into something presentable, with the hope that I still end up with a functional TV at the end of it.</p>
<h2><strong>Hiding the ugly mess</strong></h2>
<p>While I could just wire in a four pole double throw switch as a quick &amp; dirty way to switch between regular TV with OSD and SCART RGB mode, the difficulty of finding such a large switch and <em>the desire to do things the right way</em> (I can’t believe I’m saying this), besides having to manually select the proper AV input in order to get the picture to sync up correctly, and also because I’ve already studied the TV’s schematic in great detail, I decided to modify the TV’s circuitry in such a way that one of the AV channels would be permanently converted into an RGB input channel, eliminating the need for ugly switches and having to line up things by hand, just push a button on the remote and there you go.</p>
<p>The 3Y03 chassis uses the common and readily available HEF4052 dual 4 channel analog multiplexer IC in order to select between its internal TV tuner and its external AV inputs. There are two ICs on board, one for audio and the other for video, both controlled by specific pins from the microcontroller, with their address inputs driven by transistors.</p>
<div id="attachment_163" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2010/05/3y03_multiplexing.png"><img class="size-full wp-image-163" title="3y03_multiplexing" src="http://133fsb.files.wordpress.com/2010/05/3y03_multiplexing.png?w=450&#038;h=250" alt="" width="450" height="250" /></a><p class="wp-caption-text">3Y03 TV/AV multiplexing circuitry. Click to zoom in.</p></div>
<p>I figured, since the microcontroller is already driving common multiplexers to do its internal AV switching, I could piggyback my own multiplexers from the same control lines, in such a way that selecting a particular AV channel would produce an automatic switching of the OSD RGB and blanking inputs into my Ext. RGB input. No fuss, no messing with switches and stuff.</p>
<p>Two of these 4052 ICs would give me exactly four channels to do my bidding, three for doing the actual RGB line switching and the extra one for altering the status of the Fast Blanking pin. I just need to figure out the right combination to make them switch when a particular AV input is selected on the TV and that AV input will be <em>automagically</em> converted into a nice RGB input channel. I thought it would be a good idea to spare the AV2 (rear) input for this purpose, since it’s the second one and I never use the rear AV input anyways.</p>
<p>Pins 9 and 10 correspond to the address inputs of the multiplexers, MSB and LSB respectively. These are driven by two microcontroller lines conveniently labeled AV/TV SW and AV1/2 SW. The state of these two lines determines which input is seen by the Jungle IC and therefore displayed on the screen. I hooked up my logic analyzer (actually, just a bunch of LEDs) to these address lines in order to see what’s the combination that selects AV2. Here’s the truth table:</p>
<p style="text-align:center;"><a href="http://133fsb.files.wordpress.com/2010/05/truth_table.png"><img class="size-full wp-image-165 aligncenter" title="truth_table" src="http://133fsb.files.wordpress.com/2010/05/truth_table.png?w=450" alt=""   /></a></p>
<p>10 binary (2 decimal) is the winning combo here, therefore I must hook up my external RGB input lines into the third inputs of the multiplexer, and the internal OSD RGB lines into the first, second and fourth inputs, so that normal OSD is maintained in all modes except for AV2. Same with the Fast Blanking pin, +5V is connected through a 680 Ω resistor into the third input in order to pull the blanking line high when AV2 is selected; the other inputs are simply left floating to allow the original blanking circuit to do its job in TV and AV1 modes.</p>
<p>The multiplexers feed themselves through the +9V line, while the Fast Blanking pin is pulled up to +5V, must keep that difference in mind. Also since the multiplexers aren’t perfect switching devices, they present a non-zero resistance in the ON position which must be accounted for by altering the resistor values in my original RGB impedance matcher. Just use 75 Ω for each of the OSD and external RGB inputs instead of 330 Ω and keep the 680 Ω resistors to ground in the multiplexer’s outputs.</p>
<p>You might be wondering why I’m not providing a schematic for this.</p>
<p><strong>Short answer:</strong> Laziness.</p>
<p><strong>Long answer:</strong> If you know your digital logic and your way inside a TV set, then you don’t really need a schematic for this. The information above is more than enough to come up with a successful implementation of the automatic switching circuit (and you can always install a big ugly switch). If you have an inquiring mind, don’t hesitate to ask.</p>
<p>Anyway, I’m too lazy to design a PCB for a circuit so simple that I’ll probably build only once in my life so I used a bit of perfboard, and it doesn’t look that bad!</p>
<div id="attachment_164" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2010/05/dscn0123.jpg"><img class="size-full wp-image-164" title="DSCN0123" src="http://133fsb.files.wordpress.com/2010/05/dscn0123.jpg?w=450&#038;h=169" alt="" width="450" height="169" /></a><p class="wp-caption-text">Fully Automatic RGB Switching Circuit</p></div>
<p>Of course I still need to solder a few billion wires to the board if I want it to do something. Mounting homebrew boards inside a TV set can be tricky to say the least, most TVs are already an ungodly mess of wires and with high voltage high power circuitry everywhere you look you have to be pretty careful with your component placement. Fortunately the only things I had to remove from the TV were the three 330 Ω resistors for the RGB lines, for the rest of the stuff I managed to find empty solder pads from the missing components which allowed for a convenient way to tap into all the required signals needed for my automatic switching circuit, the ones I couldn&#8217;t find convenient pads for were simply routed through holes on the motherboard.</p>
<p>I found a nice screw hole on a nearby heatsink which was perfect for mounting my tiny switching board. Hurray!</p>
<div id="attachment_166" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2010/05/dscn0132.jpg"><img class="size-full wp-image-166" title="DSCN0132" src="http://133fsb.files.wordpress.com/2010/05/dscn0132.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></a><p class="wp-caption-text">Seems like it was meant to be there. No, really.</p></div>
<p>Wires everywhere! Still, it doesn’t look half bad compared to the rest of the TV. It sort of reminds me of a chipped PlayStation console.</p>
<div id="attachment_167" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2010/05/dscn0133.jpg"><img class="size-full wp-image-167" title="DSCN0133" src="http://133fsb.files.wordpress.com/2010/05/dscn0133.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></a><p class="wp-caption-text">A modded TV set. Does it receive pirate TV broadcasts now?</p></div>
<p>Now that the switching issue has been solved, it’s time to find a suitable connector for interfacing to the outside world.</p>
<h2><strong>Installing a nice plug</strong></h2>
<p>If I had the means to, I’d get a female SCART connector, install it in the conveniently provided hole on the back panel, wire it up and call it a day. Not only it would be really awesome, it could even pass for a legit European TV set. Unfortunately there’s no way for me to get one of those. Male to male SCART cables are plentiful and cheap online, but the female connector used in TVs and VCRs doesn’t follow this trend. My only real option to get one would be to have someone in Europe take apart an old TV or VCR, remove the connector from the motherboard and ship it to me, and that’s just <strong>way</strong> out of my reach.</p>
<p>Back to the real world, I’d have to settle for a standard connector, like the ubiquitous DE-9 or the popular HD-15 (VGA) connector. Both are pretty good choices but they would require me to drill holes into the plastic casing to mount them, something I’m not very fond of doing, especially with all those pre-made holes in the plastic back panel. I found out that the bigger holes on it can perfectly accommodate a DIN connector, so I settled for that. I had a C-shaped female DIN-8 connector and suitable cables at hand, I could use those and get a perfect fit without spending a single penny, so I did.</p>
<p>It was just a matter of using an X-acto knife to cut down the flimsy adhesive cover and fitting the DIN jack through the hole. Even screw holes were provided. Couldn’t be easier and the results look amazingly clean.</p>
<div id="attachment_168" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2010/05/dscn0291.jpg"><img class="size-full wp-image-168" title="DSCN0291" src="http://133fsb.files.wordpress.com/2010/05/dscn0291.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></a><p class="wp-caption-text">Fits like a glove, but have you ever seen a DIN plug on a TV?</p></div>
<p>This very same connector is used in the SNK Neo Geo video game console as a video output, which shares its pinout with the Sega Genesis (albeit with a slightly different plug), so as a natural choice I went with the <a href="http://members.optusnet.com.au/eviltim/gamescart/gamescart.htm#megamstr">SNK/Sega pinout</a> for my custom RGB connector for ease of use and maximum compatibility.</p>
<p>Needless to say I’m more than satisfied with the results:</p>
<div id="attachment_169" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2010/05/rgb_mod_finished.jpg"><img class="size-full wp-image-169" title="rgb_mod_finished" src="http://133fsb.files.wordpress.com/2010/05/rgb_mod_finished.jpg?w=450&#038;h=389" alt="" width="450" height="389" /></a><p class="wp-caption-text">I wouldn&#039;t be able to get a cleaner look if I tried.</p></div>
<p>It looks like it was meant to be there in the first place, and since DIN connectors are plentiful and cheap I can just build cables for each of my RGB enabled consoles, an adapter cable with a VGA connector or even a SCART plug if the need for it ever arises.</p>
<h2>Final Thoughts</h2>
<div id="attachment_176" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2010/05/dscn0085.jpg"><img class="size-full wp-image-176" title="DSCN0085" src="http://133fsb.files.wordpress.com/2010/05/dscn0085.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></a><p class="wp-caption-text">Warning: Razor Sharp Pixels. Keep away from children and pets. Click to zoom in. Please.</p></div>
<p>I couldn’t be happier with this. I’ve always wanted my own RGB SCART monitor but I was never able to get one due to their scarcity and high price. I did have an opportunity to get a Commodore monitor once but it was really expensive and the picture tube was pretty worn out, something you can’t avoid with these old, heavily (ab)used pieces of computer equipment. Unless you’re prepared to pay premium price for a seldom or never used monitor, be prepared for a mediocre experience because of a tired picture tube or dried up electrolytic capacitors.</p>
<p>Chinese TVs like the 3Y03 based ones are abundant all around the world and exceptionally cheap, and taking into account that most of the world is switching to digital TV in the coming years, they’re going to be even cheaper. Most importantly, these are still being made, so you can get a brand new TV for your old school gaming/hacking with a pristine picture tube for the best possible picture quality. Having access to hacker friendly devices for amazingly low prices is one of the most awesome things of the 21<sup>st</sup> century.</p>
<p>I have turned a cheap Chinese crap TV set into something that can be considered a scarce premium around these parts of the world. I can now use it to test and play arcade boards, display video game systems with their best picture quality, or even as an RGB color monitor for computers like the Atari ST or the Commodore Amiga. I have increased its usefulness beyond its original capabilities, and without the need for expensive electronic components. I’ve also fulfilled one of my dreams, one I’ve been trying to accomplish for years without success.</p>
<p>An old school analog RGB monitor is a nice and useful device for anyone who is into retro gaming, retro computing or even electronics. If you know your way around a TV set, you can have your own too.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/133fsb.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/133fsb.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/133fsb.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/133fsb.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/133fsb.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/133fsb.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/133fsb.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/133fsb.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/133fsb.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/133fsb.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/133fsb.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/133fsb.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/133fsb.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/133fsb.wordpress.com/123/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=133fsb.wordpress.com&amp;blog=9249573&amp;post=123&amp;subd=133fsb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://133fsb.wordpress.com/2010/05/22/adding-an-rgb-input-to-a-cheap-generic-ntsc-tv/feed/</wfw:commentRss>
		<slash:comments>36</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e6ddb16e89c8b2690b7f4f99cf725f64?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">133MHz</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/nex_14nt01.jpg" medium="image">
			<media:title type="html">nex_14nt01</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/3y03_chassis_id.jpg" medium="image">
			<media:title type="html">3y03_chassis_id</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/dscn0090.jpg" medium="image">
			<media:title type="html">DSCN0090</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/dscn0091.jpg" medium="image">
			<media:title type="html">DSCN0091</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/rgb_path.png" medium="image">
			<media:title type="html">rgb_path</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/osd_plain.jpg" medium="image">
			<media:title type="html">osd_plain</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/rgb_switch_basic.png" medium="image">
			<media:title type="html">rgb_switch_basic</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/osd_plain.jpg" medium="image">
			<media:title type="html">osd_plain</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/osd_experiment0d.jpg" medium="image">
			<media:title type="html">osd_experiment0d</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/osd_experiment1.jpg" medium="image">
			<media:title type="html">osd_experiment1</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/osd_experiment2.jpg" medium="image">
			<media:title type="html">osd_experiment2</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/osd_experiment0.jpg" medium="image">
			<media:title type="html">osd_experiment0</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/3y03_osd_schematic.png" medium="image">
			<media:title type="html">3y03_osd_schematic</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/rgb_impedance_3y03.png" medium="image">
			<media:title type="html">rgb_impedance_3y03</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/rgb_impedance_matching.png" medium="image">
			<media:title type="html">rgb_impedance_matching</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/dscn0079.jpg" medium="image">
			<media:title type="html">DSCN0079</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/dscn0081.jpg" medium="image">
			<media:title type="html">DSCN0081</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/3y03_multiplexing.png" medium="image">
			<media:title type="html">3y03_multiplexing</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/truth_table.png" medium="image">
			<media:title type="html">truth_table</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/dscn0123.jpg" medium="image">
			<media:title type="html">DSCN0123</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/dscn0132.jpg" medium="image">
			<media:title type="html">DSCN0132</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/dscn0133.jpg" medium="image">
			<media:title type="html">DSCN0133</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/dscn0291.jpg" medium="image">
			<media:title type="html">DSCN0291</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/rgb_mod_finished.jpg" medium="image">
			<media:title type="html">rgb_mod_finished</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/dscn0085.jpg" medium="image">
			<media:title type="html">DSCN0085</media:title>
		</media:content>
	</item>
		<item>
		<title>Sega Light Phaser to Atari XG-1 Adapter</title>
		<link>http://133fsb.wordpress.com/2010/05/08/sega-light-phaser-to-atari-xg-1-adapter/</link>
		<comments>http://133fsb.wordpress.com/2010/05/08/sega-light-phaser-to-atari-xg-1-adapter/#comments</comments>
		<pubDate>Sat, 08 May 2010 18:29:33 +0000</pubDate>
		<dc:creator>133MHz</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://133fsb.wordpress.com/?p=119</guid>
		<description><![CDATA[The Sega Master System was released in 1986 in North America. It came with a light gun called the Sega Light Phaser. In 1987 Atari released the XE Game System, which is technically a repackaged Atari 8 bit computer with a detachable keyboard and it was marketed as a video game console. It also came [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=133fsb.wordpress.com&amp;blog=9249573&amp;post=119&amp;subd=133fsb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The Sega Master System was released in 1986 in North America. It came with a light gun called the Sega Light Phaser. In 1987 Atari released the XE Game System, which is technically a repackaged Atari 8 bit computer with a detachable keyboard and it was marketed as a video game console. It also came with a light gun, the Atari XG-1.</p>
<p>Both systems were the direct competitors of the Nintendo Entertainment System (NES), which started its life in 1983 as the Nintendo Family Computer in Japan, and was later redesigned and released in the rest of the world as the NES in 1985.</p>
<p>The NES came with a light gun known as the NES Zapper and a pack-in game <strong>Duck Hunt</strong>, which used the light gun. As direct competitors, Atari and Sega&#8217;s offerings also came with light guns and light gun games.</p>
<p>While Nintendo&#8217;s gun is a simple light detector, both Atari and Sega guns are specialized light pens. They work by detecting the passing of the electron beam in front of their sights, sending an electric pulse to the computer when this happens, allowing it to determine the exact screen coordinates where the gun is pointed at. Sega games like <strong>Shooting Gallery</strong> take advantage of this superior detection method by displaying bullet holes on the background to represent your misfired shots in their exact positions. Nintendo&#8217;s gun can only detect if you&#8217;ve hit the (lit up) target, and nothing else.<span id="more-119"></span></p>
<h2>Adapting light guns between systems</h2>
<p>While Nintendo&#8217;s Zapper works on a simpler principle than their Atari and Sega counterparts, both Atari and Sega light guns work on the same &#8220;light pen&#8221; principle with only minor differences in their mode of operation, making possible to adapt a Sega gun for Atari operation and vice versa.</p>
<p>This is nothing new, there&#8217;s <a href="http://www.atarihq.com/atcomp/xegs.html">this</a> article which shows you how to adapt a Sega Light Phaser to an Atari system, by rewiring the Sega gun connector to satisfy the Atari pinout. But there are two problems with it:</p>
<ul>
<li>The article provides the pin numbers for the Atari side, but only the wire colors on the Sega side. I opened up my Sega Light Phaser only to find out that the wire colors were completely different to the ones on the article!</li>
<li>Due to differences between the Atari and the Sega system, when adapting a particular light gun for use on the opposite system, the trigger&#8217;s action will be reversed (the gun will fire when you release the trigger, or it will keep firing and only stop when the trigger is held down, depending on the game). The article suggests opening up the gun and rewiring the trigger microswitch to use the Normally Closed (NC) contacts instead of the usual Normally Open (NO). While it&#8217;s a perfectly valid solution, it requires modification of the gun itself. Once again, I opened up my Sega Light Phaser only to find out that the trigger microswitch is missing the NC terminal!</li>
</ul>
<p>With these problems in mind, I had to look up for my own solution to the problem. I didn&#8217;t want to modify the gun itself, and also I&#8217;d need to come up with something to correct the &#8220;reversed trigger&#8221; problem without replacing the microswitch.</p>
<h2>Sega to Atari Light Gun Adapter</h2>
<p>First I traced the pinouts on both sides in order to adapt the correct signals using a pair of DE-9 connectors. Besides power and ground, the Sega Light Phaser uses two special pins called TL and TH for communication with the console. TL is the trigger microswitch connection. When the trigger is pulled, TL is tied low, with no internal pull-up inside the light gun. TH carries the light pen pulses.</p>
<p>In the Atari side of things, the trigger switch is read by the Joystick Up signal and the light pen pulses are read by the Joystick Fire signal. Therefore, TL must be hooked to Up and TH to Fire. This will get your Sega gun working in Atari light gun games, but there&#8217;s still the problem of the inverted trigger action.</p>
<p>The Atari expects a logically inverted signal for its gun trigger. A simple NOT gate would solve the problem, but I think it&#8217;s pretty wasteful to use a 7404 or similar hex inverter IC just for one of its NOT gates, not to mention the increased size and complexity of the circuit. My goal was to create a simple adapter with the lowest number of additional components, something that can be neatly built inside the D-connector housing. I came up with a single transistor inverter to correct the reversed trigger problem. Here&#8217;s the final schematic:</p>
<p><a href="http://133fsb.files.wordpress.com/2010/05/sega_atari_light_gun_adapter.png"><img class="aligncenter size-full wp-image-115" title="sega_atari_light_gun_adapter" src="http://133fsb.files.wordpress.com/2010/05/sega_atari_light_gun_adapter.png?w=450&#038;h=386" alt="" width="450" height="386" /></a>A single small signal NPN transistor inverts the trigger&#8217;s logic state, and a single 10k resistor provides the necessary pull-up to correctly bias the transistor&#8217;s base. The Atari&#8217;s joystick inputs already include internal pull-up resistors, making them unnecessary on the collector side.</p>
<p>Now the circuit is simple enough to be built inside a D-connector housing, allowing the construction of a simple and clean light gun adapter using two DE-9 connectors.</p>
<p>This is my finished adapter prototype. One day I might tuck it all neatly inside a plastic housing, but then again, laziness is my middle name&#8230;</p>
<div id="attachment_114" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2010/05/crappy_adapter.jpg"><img class="size-full wp-image-114" title="crappy_adapter" src="http://133fsb.files.wordpress.com/2010/05/crappy_adapter.jpg?w=450&#038;h=168" alt="" width="450" height="168" /></a><p class="wp-caption-text">Quick &#039;n Dirty Light Gun Adapter</p></div>
<p>It works just as expected. The trigger action is fully corrected and it works perfectly on the Atari system just like it does on the Sega Master System. I tested it out with my two light gun enabled XE game cartridges: <strong>Barnyard Blaster</strong> and <strong>Crossbow</strong>.</p>
<div id="attachment_116" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2010/05/dscn0311.jpg"><img class="size-full wp-image-116" title="DSCN0311" src="http://133fsb.files.wordpress.com/2010/05/dscn0311.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></a><p class="wp-caption-text">Some Barnyard Blaster action</p></div>
<p>The opposite conversion (Atari gun to Sega system) can be done just as easily by building the same circuit but reversing the pinout on both sides. I haven&#8217;t tried the XG-1 myself but several sources on the Internet cite the Sega Light Phaser as being much more accurate. Either way, happy retro gaming!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/133fsb.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/133fsb.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/133fsb.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/133fsb.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/133fsb.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/133fsb.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/133fsb.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/133fsb.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/133fsb.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/133fsb.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/133fsb.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/133fsb.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/133fsb.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/133fsb.wordpress.com/119/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=133fsb.wordpress.com&amp;blog=9249573&amp;post=119&amp;subd=133fsb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://133fsb.wordpress.com/2010/05/08/sega-light-phaser-to-atari-xg-1-adapter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e6ddb16e89c8b2690b7f4f99cf725f64?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">133MHz</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/sega_atari_light_gun_adapter.png" medium="image">
			<media:title type="html">sega_atari_light_gun_adapter</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/crappy_adapter.jpg" medium="image">
			<media:title type="html">crappy_adapter</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/05/dscn0311.jpg" medium="image">
			<media:title type="html">DSCN0311</media:title>
		</media:content>
	</item>
		<item>
		<title>Famicom Compatible Printer Port Interface</title>
		<link>http://133fsb.wordpress.com/2010/03/21/famicom-compatible-printer-port-interface/</link>
		<comments>http://133fsb.wordpress.com/2010/03/21/famicom-compatible-printer-port-interface/#comments</comments>
		<pubDate>Sun, 21 Mar 2010 07:06:58 +0000</pubDate>
		<dc:creator>133MHz</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Famicom/NES]]></category>

		<guid isPermaLink="false">http://133fsb.wordpress.com/?p=94</guid>
		<description><![CDATA[Also Featured on Hack A Day! Wow! I&#8217;m flattered! If you live anywhere in the world (except the US maybe) you may have seen one of these: Famicom compatible 8 bit computer You can seem to find them in any place that sells imported crap from China, usually along with more traditional Famicom clones like [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=133fsb.wordpress.com&amp;blog=9249573&amp;post=94&amp;subd=133fsb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">Also <a href="http://hackaday.com/2010/09/30/printing-from-a-famicom-clone-computer/" target="_blank">Featured on Hack A Day!</a> Wow! I&#8217;m flattered!</p>
<p style="text-align:justify;">If you live anywhere in the world (except the US maybe) you may have seen one of these:</p>
<div class="mceTemp mceIEcenter" style="text-align:justify;">
<dl class="wp-caption aligncenter">
<dt class="wp-caption-dt"><a href="http://133fsb.files.wordpress.com/2010/03/famiclonekbd.jpg"><img class="size-full wp-image-95" title="Famiclone Keyboard" src="http://133fsb.files.wordpress.com/2010/03/famiclonekbd.jpg?w=450&#038;h=334" alt="" width="450" height="334" /></a></dt>
<dd class="wp-caption-dd">Famicom compatible 8 bit computer</dd>
</dl>
</div>
<p style="text-align:justify;">You can seem to find them in any place that sells imported crap from China, usually along with more traditional Famicom clones like the Polystation with its countless variations and piles of pirate cartridges. They can be yours for 10 to 20 US dollars, complete with two joypads, a light gun, a mouse and an operating system cartridge.</p>
<p style="text-align:justify;">These are basically another Famicom clone with a keyboard built in. They tend to come with &#8220;educational&#8221; software like typing and math games, sometimes they even come with a mediocre knockoff of a popular graphical operating system like Microsoft™ Windows, and of course a plethora of unlicensed 1st generation Famicom games.</p>
<p style="text-align:justify;">One of the peculiarities is that they usually come with word processing software. If you&#8217;ve actually used it you&#8217;ll notice that the software contains a <strong>Print</strong> option in its menus, and if you select it the computer seems to try to establish a connection with a printer. You might be wondering why is that even there, since these cheap computer knockoffs don&#8217;t have any means of interfacing with other devices save for game controllers (they can&#8217;t even save your data!). You might have heard vague legends about some of these machines actually having a built-in printer port, but they&#8217;re nowhere to be seen. Until now!<span id="more-94"></span></p>
<div class="mceTemp mceIEcenter" style="text-align:justify;">
<dl class="wp-caption aligncenter">
<dt class="wp-caption-dt"><a href="http://133fsb.files.wordpress.com/2010/03/glk-2016.jpg"><img class="size-full wp-image-96" title="glk-2016" src="http://133fsb.files.wordpress.com/2010/03/glk-2016.jpg?w=450&#038;h=186" alt="" width="450" height="186" /></a></dt>
<dd class="wp-caption-dd">GLK-2016 Famiclone Keyboard</dd>
</dl>
</div>
<p style="text-align:justify;">I managed to score this one in 2008 for the whole sum of US$2 by wandering around on a local street market. It didn&#8217;t come with any hookups, controllers or software but I was able to get those pretty quickly. It seems like your average vanilla Famicom Keyboard clone, until you take a look at the rear ports:</p>
<div class="mceTemp mceIEcenter" style="text-align:justify;">
<dl class="wp-caption aligncenter">
<dt class="wp-caption-dt"><a href="http://133fsb.files.wordpress.com/2010/03/famiclonekbd_printer.jpg"><img class="size-full wp-image-97" title="famiclonekbd_printer" src="http://133fsb.files.wordpress.com/2010/03/famiclonekbd_printer.jpg?w=450&#038;h=114" alt="" width="450" height="114" /></a></dt>
<dd class="wp-caption-dd">Back of the GLK-2016 clone</dd>
</dl>
</div>
<p style="text-align:justify;">Power input, A/V outputs, RF out and&#8230; DB-25 parallel port?!</p>
<div class="mceTemp mceIEcenter" style="text-align:justify;">
<dl class="wp-caption aligncenter">
<dt class="wp-caption-dt"><a href="http://133fsb.files.wordpress.com/2010/03/parallel-port.jpg"><img class="size-full wp-image-98" title="parallel-port" src="http://133fsb.files.wordpress.com/2010/03/parallel-port.jpg?w=450&#038;h=200" alt="" width="450" height="200" /></a></dt>
<dd class="wp-caption-dd">Standard DB-25F Parallel Port</dd>
</dl>
</div>
<p style="text-align:justify;">This is one of the legendary Famiclones with printer ports! I hooked it up to an old dot matrix printer that had a standard PC parallel port interface and I was able to print out text from the word processing software. I even recorded a video of it in action and uploaded it to YouTube. Here it is, printing text in all its 8 bit glory:</p>
<p style="text-align:justify;"><span style="text-align:center; display: block;"><a href="http://133fsb.wordpress.com/2010/03/21/famicom-compatible-printer-port-interface/"><img src="http://img.youtube.com/vi/dl1R4f5sKMA/2.jpg" alt="" /></a></span></p>
<p style="text-align:justify;">This is really cool for a crappy clone of an 8 bit gaming system that took over the world and that I happen to love so much, but aside from the cool factor the usefulness of this is pretty limited. The computers are packed with crappy software, they don&#8217;t have any means of saving user generated data and the word processing software is primitive at best. It&#8217;s a cool little gadget if you&#8217;re into retro gaming and pirate crap, but aside from that it spends most of its days in storage.</p>
<p style="text-align:justify;">Then I stumbled across the <a href="http://playpower.org/">PLAYPOWER Project</a>, a global open source community that aims to create useful software for these Famicom clone computers as a means to bring computer literacy to the emerging middle class in developing countries, by taking advantage of the ubiquity and low price point of these devices. Coupled with the right software, these inexpensive machines could become effective learning tools and help transform the economy of developing families around the world. Here&#8217;s a <a href="http://playpowerorg.ning.com/profiles/blogs/playpower-explained-in-5">5 minute video</a> that explains everything in great detail.</p>
<p style="text-align:justify;">Actually, I didn&#8217;t stumble across the project. I was contacted by Derek himself through a YouTube message. He asked me if I would like to get involved in the project, and sure I&#8217;d like to! But I&#8217;m not a programmer or a graphic designer or a learning specialist. My skills are hardware and electronics oriented. One of my hobbies is retro gaming, with a special interest (or should I say obsession) on the Nintendo Famicom. There must be something I could do for such a great project. It got myself thinking for a few days when I finally remembered about that Famicom keyboard clone with a printer port that I have somewhere.</p>
<h2 style="text-align:justify;">Printing on the $12 computer?</h2>
<p style="text-align:justify;">As useless as it might seem, having a means to connect a standard printer could be a great enhancement to these cheap 8 bit computers. If you don&#8217;t have access to word processing, being able to type and print out your resume in one of these could make a big difference in getting you accepted for a job, for example. We tend to take word processing for granted these days, it has become such an integral part of our lives, but it&#8217;s still a luxury for a large portion of the world&#8217;s population. I&#8217;m not that much of a writer, but even I&#8217;m able to notice that a computer can help you set your creative mind free, as some sort of &#8216;mind accelerator&#8217;.</p>
<p style="text-align:justify;">Technically speaking, the printer interface is an addon to the standard Famicom core system. Since the Chinese manufacturers&#8217; ultimate goal is to keep costs down, the interface is probably done in the simplest way possible, with a minimum of external components and most likely doing the bulk of the work in software. Unfortunately it&#8217;s not very easy to find keyboard Famiclones with printer ports, and thus there&#8217;s no information about their inner workings. Since I own one of these and I have the knowledge and the skills to reverse engineer the printer interface, I can come up with detailed documentation that could prove to be very useful for the PLAYPOWER project.</p>
<h2 style="text-align:justify;">Getting to know the interface</h2>
<p style="text-align:justify;">Based on my previous assumptions, by removing the cover of the keyboard Famiclone I should find a simple electronic circuit to interface the printer port with the main system, using the bare minimum of hardware components and most likely doing the communication protocol in software, in order to keep costs down.</p>
<div class="mceTemp mceIEcenter" style="text-align:justify;">
<dl class="wp-caption aligncenter">
<dt class="wp-caption-dt"><a href="http://133fsb.files.wordpress.com/2010/03/kb-inside.jpg"><img class="size-full wp-image-100" title="kb-inside" src="http://133fsb.files.wordpress.com/2010/03/kb-inside.jpg?w=450&#038;h=176" alt="GLK-2016 clone without the top cover" width="450" height="176" /></a></dt>
<dd class="wp-caption-dd">GLK-2016 clone without the top cover</dd>
</dl>
</div>
<p style="text-align:justify;">The main Famicom board is in the center, the power, video and keyboard interface in the far right and the printer interface is in the left side of the machine, interconnected together by ribbon cables of various sizes. The keyboard itself is a standard conductive membrane matrix, just like in any modern PC keyboard. Let&#8217;s take a closer look at the printer interface:</p>
<div class="mceTemp mceIEcenter" style="text-align:justify;">
<dl class="wp-caption aligncenter">
<dt class="wp-caption-dt"><a href="http://133fsb.files.wordpress.com/2010/03/interface-ribbon-rear.jpg"><img class="size-full wp-image-101" title="interface-ribbon-rear" src="http://133fsb.files.wordpress.com/2010/03/interface-ribbon-rear.jpg?w=450&#038;h=257" alt="" width="450" height="257" /></a></dt>
<dd class="wp-caption-dd">Famicom mainboard and Printer Interface</dd>
</dl>
</div>
<div class="mceTemp mceIEcenter" style="text-align:justify;">
<dl class="wp-caption aligncenter">
<dt class="wp-caption-dt"><a href="http://133fsb.files.wordpress.com/2010/03/lpt-board.jpg"><img class="size-full wp-image-102" title="lpt-board" src="http://133fsb.files.wordpress.com/2010/03/lpt-board.jpg?w=450" alt=""   /></a></dt>
<dd class="wp-caption-dd">Closer look at the Printer Interface board</dd>
</dl>
</div>
<p style="text-align:justify;">Turns out I was right! The interface was done in the simplest way possible! The hardware itself consists of two standard TTL logic chips and one capacitor, and it communicates with the main Famicom board using the same data and control lines used by the game cartridge slot, eliminating the need for costly expansions to the base hardware.</p>
<p style="text-align:justify;">Further analysis reveals that the chips only buffer the data from the CPU data bus and make it available on the parallel port, proving my theory that most of the hard work is done in software. This is great news for the PLAYPOWER people. The port is completely software controlled, this means that a programmer can take advantage of it and design a better featured word processing software (with the right code it could even print out graphics), or even create programs to interface with other kinds of hardware besides printers!</p>
<p style="text-align:justify;">After a couple of hours of probing around with the multimeter and drawing terrible diagrams, I was able to come up with a full schematic of the interface and some basic notions of how it works on the software side.</p>
<div class="mceTemp mceIEcenter" style="text-align:justify;">
<dl class="wp-caption aligncenter">
<dt class="wp-caption-dt"><a href="http://133fsb.files.wordpress.com/2010/03/dscn1575.jpg"><img class="size-full wp-image-104" title="DSCN1575" src="http://133fsb.files.wordpress.com/2010/03/dscn1575.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></a></dt>
<dd class="wp-caption-dd">Famicom Printer Interface reverse engineered!</dd>
</dl>
</div>
<p style="text-align:justify;">A non-messy version of the schematic and full documentation follows.</p>
<h2 style="text-align:justify;">Famicom Compatible Printer Port Interface</h2>
<p style="text-align:justify;">Here&#8217;s the full schematic of the hardware interface:</p>
<div class="mceTemp mceIEcenter" style="text-align:justify;">
<dl class="wp-caption aligncenter">
<dt class="wp-caption-dt"><a href="http://133fsb.files.wordpress.com/2010/03/interface_schematic.png"><img class="size-full wp-image-105" title="interface_schematic" src="http://133fsb.files.wordpress.com/2010/03/interface_schematic.png?w=450&#038;h=450" alt="" width="450" height="450" /></a></dt>
<dd class="wp-caption-dd">Interface Schematic (click to zoom)</dd>
</dl>
</div>
<p style="text-align:justify;">Pin numbers on the signal lines correspond to the Famicom cartridge port, unless noted with the LPT prefix, in that case they correspond to the pins on the DB-25F connector. Complete pinouts and more info can be found here:</p>
<p style="text-align:justify;"><a href="http://nesdev.com/fam_pinout.txt">Famicom Cartridge Port</a></p>
<p style="text-align:justify;"><a href="http://pinouts.ru/ParallelPorts/ParallelPC_pinout.shtml">PC Parallel Port</a></p>
<p style="text-align:justify;">There are two glue logic chips in the interface. IC1 is a 74HC138, which is a 3-to-8 line multiplexer with inverted outputs and multiple enable pins. This is used as an address decoder for the parallel interface. IC2 is a 74LS273, which is an octal D-type flip flop with common clock and clear inputs. The flip flops store the actual data that goes into the printer port, as instructed by the address decoder logic. Given the intrinsic characteristics of the flip flops, the port is strictly unidirectional.</p>
<p style="text-align:justify;">Clocking the flip flops stores the currently present byte in the PRG ROM data lines and makes it available on the parallel port&#8217;s data pins. To avoid &#8216;garbage&#8217; data from reaching the port, the flip flops are clocked only under certain conditions. The 680pF capacitor seems to smooth out possible glitches in the clock signal.</p>
<p style="text-align:justify;">In order to drive a standard PC parallel printer, the data byte must be made available on the data pins, the Busy line (Pin 11) must be monitored to check if the printer is busy (if it is it won&#8217;t accept any data). If the printer is not busy, then the Strobe line (Pin 1) goes low for a short time to signal that a valid byte is present in the port. The printer will indicate that it is busy processing data via the Busy line. Other control signals exist but these are the bare minimum to engage a successful communication between computer and printer.</p>
<p style="text-align:justify;">The address decoder responds to two specific patterns in the CPU address range, by monitoring the highest address lines (A11 through A14), the PRG /CE signal and the Phi2 clock signal. One address will clock the flip flops in IC2, storing the current data byte and making it available at the printer port, this will be called <strong>writing to the port</strong> from now on. The other address produces a low state in the Strobe line, in order to signal the printer that there&#8217;s valid data in the port, this will be called <strong>strobing the port</strong>. Here&#8217;s a clever bit of Chinese engineering: The monitoring of the Busy line is done by the Serial Data line from Controller port 1. Since this pin is an active-low input and the Busy signal is active low too, it seems like a perfect candidate for the job. Pin 11 of the printer port thus hooks up directly with controller 1&#8242;s data input. Other lines like /Autofeed and /Select are permanently tied low at the DB-25F connector. The rest of the control lines are simply left unconnected.</p>
<p style="text-align:justify;">In order to write or strobe the port, the following conditions must be fulfilled:</p>
<ul style="text-align:justify;">
<li>PRG A12 and A13 must be low.</li>
<li>PRG /CE must be high (ROM access needs to be disabled to avoid bus conflicts).</li>
<li>Phi2 clock must be high (I think this is related with how the CPU accesses data from the bus).</li>
</ul>
<p style="text-align:justify;">PRG A11 and A14 are used for the actual address decoding. The actual port addresses are:</p>
<ul style="text-align:justify;">
<li><strong>$800</strong> &#8211; Write to the port.</li>
<li><strong>$4800</strong> &#8211; Strobe the port.</li>
</ul>
<p style="text-align:justify;">Address lines A0 through A10 are ignored by the interface, so the actual address ranges for write and strobe are <strong>$800 to $FFF</strong> and <strong>$4800 to $4FFF</strong>, respectively. Both fall well under the PRG ROM address space. I&#8217;m not a NES developer so I&#8217;m not fond of the intricate details of the Famicom CPU addressing space, but it seems that both of these addresses are unused in standard conditions.</p>
<p style="text-align:justify;">A write to <strong>$800</strong> will store the current byte on the CPU data bus and present it to the parallel port, a write to <strong>$4800</strong> will assert a Strobe (pull the line low). A write elsewhere will de-assert the Strobe (pull it high), and checking the state of the Busy line is done by reading Bit 0 of <strong>$4016</strong> (Joypad Input Register 0).</p>
<p style="text-align:justify;"><strong>Notes about the Interface:</strong> It has been observed that plugging in the printer sometimes disables operation of the keyboard and possibly the controller. I haven&#8217;t investigated further but it seems that it&#8217;s due to the Busy line keeping the controller data pin low. In that case, a switch could be fitted to disable this pin but a simpler solution is to plug in the printer only when you&#8217;re going to print something.</p>
<h2 style="text-align:justify;">Conclusions</h2>
<p style="text-align:justify;">And there you have it. An 8 bit parallel port with two control lines and the communication protocol totally done in software. With the information above you could perfectly implement a parallel port for connecting a printer into keyboard Famiclones without the port built-in, other types of Famicom clones, an original Famicom or even a NES (though the usefulness of the latter is really questionable). Given the electrical characteristics of the interface, a cartridge pass-through adapter could be designed to add printer port functionality to any Famiclone computer just by plugging it into the cartridge slot, putting the game cartridge on top and running a cable to the first controller port.</p>
<p style="text-align:justify;">For the programmer types, it gets a whole lot more interesting. Having total control over the comm protocol, there are no hard limits on what can be done. A &#8216;better&#8217; word processor could print out more than just plain text. Software could control other things besides printers. A bit banged serial interface could be created by using the Strobe line and one or two data bits. Bi-directionality can be provided through the Busy input. This has the potential to be the solution to the problem of not being able to save user data on the computer. Hobbyists have been using comm ports to control various devices since the dawn of computing, this could be &#8220;The&#8221; port that would enable the same for the $12 computer platform.</p>
<p style="text-align:justify;">My best wishes to the PLAYPOWER project. This was just my two cents to help build a better world 8 bits at a time! But this is only the beginning, I&#8217;ll be contributing to the project in any way I can!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/133fsb.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/133fsb.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/133fsb.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/133fsb.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/133fsb.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/133fsb.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/133fsb.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/133fsb.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/133fsb.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/133fsb.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/133fsb.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/133fsb.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/133fsb.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/133fsb.wordpress.com/94/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=133fsb.wordpress.com&amp;blog=9249573&amp;post=94&amp;subd=133fsb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://133fsb.wordpress.com/2010/03/21/famicom-compatible-printer-port-interface/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e6ddb16e89c8b2690b7f4f99cf725f64?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">133MHz</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/03/famiclonekbd.jpg" medium="image">
			<media:title type="html">Famiclone Keyboard</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/03/glk-2016.jpg" medium="image">
			<media:title type="html">glk-2016</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/03/famiclonekbd_printer.jpg" medium="image">
			<media:title type="html">famiclonekbd_printer</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/03/parallel-port.jpg" medium="image">
			<media:title type="html">parallel-port</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/03/kb-inside.jpg" medium="image">
			<media:title type="html">kb-inside</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/03/interface-ribbon-rear.jpg" medium="image">
			<media:title type="html">interface-ribbon-rear</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/03/lpt-board.jpg" medium="image">
			<media:title type="html">lpt-board</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/03/dscn1575.jpg" medium="image">
			<media:title type="html">DSCN1575</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2010/03/interface_schematic.png" medium="image">
			<media:title type="html">interface_schematic</media:title>
		</media:content>
	</item>
		<item>
		<title>Restoring a Nice Famiclone Part 2</title>
		<link>http://133fsb.wordpress.com/2009/11/28/restoring-a-nice-famiclone-part-2/</link>
		<comments>http://133fsb.wordpress.com/2009/11/28/restoring-a-nice-famiclone-part-2/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 03:27:05 +0000</pubDate>
		<dc:creator>133MHz</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Famicom/NES]]></category>
		<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://133fsb.wordpress.com/?p=69</guid>
		<description><![CDATA[Finally! Here's Part 2 of the Restoring a Nice Famiclone Saga. Go read Part 1 if you haven't done so yet.

The NTDEC Family Game is a nice discrete Famicom clone which was probably manufactured around 1990. It's very sturdy in comparison with later Famiclones, and thanks to its discrete design it can run software like Castlevania III and the Famicom Disk System with no problems at all. Unfortunately it suffers from the incorrect sound syndrome that plagues the vast majority of Famicom clones. Two of the duty cycle registers are swapped inside the audio generator unit, producing different sounds and music.

Unfortunately the audio processing unit is inside the CPU die, which means that it's uncorrectable short of replacing the entire CPU (something you cannot done on NoAC based Famiclones), and it's really annoying when you know how the games are supposed to be like. In this case I'll replace both the CPU and PPU chips on the Family Game console with original Ricoh parts to turn it into a 100% accurate, 100% compatible Famicom system.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=133fsb.wordpress.com&amp;blog=9249573&amp;post=69&amp;subd=133fsb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Finally! Here&#8217;s Part 2 of the Restoring a Nice Famiclone Saga. Go read <a href="http://133fsb.wordpress.com/2009/10/21/restoring-a-nice-famiclone-part-1/">Part 1</a> if you haven&#8217;t done so yet.</p>
<p>The NTDEC Family Game is a nice discrete Famicom clone which was probably manufactured around 1990. It&#8217;s very sturdy in comparison with later Famiclones, and thanks to its discrete design it can run software like Castlevania III and the Famicom Disk System with no problems at all. Unfortunately it suffers from the incorrect sound syndrome that plagues the vast majority of Famicom clones. Two of the duty cycle registers are swapped inside the audio generator unit, producing different sounds and music.</p>
<p>Unfortunately the audio processing unit is inside the CPU die, which means that it&#8217;s uncorrectable short of replacing the entire CPU (something you cannot done on NoAC based Famiclones), and it&#8217;s really annoying when you know how the games are supposed to be like. In this case I&#8217;ll replace both the CPU and PPU chips on the Family Game console with original Ricoh parts to turn it into a 100% accurate, 100% compatible Famicom system. </p>
<p><span id="more-69"></span> </p>
<div id="attachment_71" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/11/dscn0510.jpg"><img class="size-full wp-image-71" title="Stock NES mobo" src="http://133fsb.files.wordpress.com/2009/11/dscn0510.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></a><p class="wp-caption-text">Plain vanilla NTSC NES Motherboard</p></div>
<p>I had this NES motherboard lying around, a perfect source of original CPU and PPU chips. Being lazy, (what a surprise!) I removed both chips using a hot air gun instead of taking the time to properly desolder 80 pins one by one.</p>
<div id="attachment_72" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/11/dscn0511.jpg"><img class="size-full wp-image-72" title="NES mobo sans CPU/PPU" src="http://133fsb.files.wordpress.com/2009/11/dscn0511.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></a><p class="wp-caption-text">Poor NES had its brains surgically removed.</p></div>
<p>I don&#8217;t own a proper chip puller tool, so I folded a long, thin stripe of paper and managed to squeeze it under the chips. You can then grab onto both ends of the paper and cleanly pull out the chips while heating the board with the hot air gun from the other side. When done well, the results are quick, clean and the components don&#8217;t receive any damage.</p>
<div id="attachment_73" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/11/dscn0508.jpg"><img class="size-full wp-image-73" title="Paper Chip Puller" src="http://133fsb.files.wordpress.com/2009/11/dscn0508.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></a><p class="wp-caption-text">McGyver-style chip puller. Used an old receipt.</p></div>
<p>I decided to install chip sockets on the NES motherboard so I could use it to test other CPU/PPU chips and do some other experiments in the future. The sockets were $1 a pop and soldering them was a breeze.</p>
<div id="attachment_74" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/11/dscn0515.jpg"><img class="size-full wp-image-74" title="socketed NES mobo" src="http://133fsb.files.wordpress.com/2009/11/dscn0515.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></a><p class="wp-caption-text">Drop in your preferred CPU and graphics card, just like in a modern PC!</p></div>
<p>With the 2A03 CPU and the 2C02 PPU out of the NES, it&#8217;s time to remove the cloned chips from the Family game and drop the original replacements in.</p>
<div id="attachment_75" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/11/dscn0518.jpg"><img class="size-full wp-image-75" title="Family Game board labeled" src="http://133fsb.files.wordpress.com/2009/11/dscn0518.jpg?w=450&#038;h=427" alt="" width="450" height="427" /></a><p class="wp-caption-text">Family Game Motherboard</p></div>
<p>Since the CPU and PPU chips on this board are already socketed, swapping them with original parts is extremely straightforward. I have labeled the chips prior to removal so that I can still use them without knowing their codes.</p>
<div id="attachment_76" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/11/dscn0521.jpg"><img class="size-full wp-image-76" title="Family Game board unpopulated" src="http://133fsb.files.wordpress.com/2009/11/dscn0521.jpg?w=450&#038;h=533" alt="" width="450" height="533" /></a><p class="wp-caption-text">Zombie Family Game board, looking for brains.</p></div>
<p>How nice of the pirates to label the correct part numbers under the chips. They are in the exact same position and orientation as the original Nintendo Famicom motherboard.</p>
<div id="attachment_77" class="wp-caption aligncenter" style="width: 459px"><a href="http://133fsb.files.wordpress.com/2009/11/dscn0520.jpg"><img class="size-full wp-image-77" title="CPU PPU Chips" src="http://133fsb.files.wordpress.com/2009/11/dscn0520.jpg?w=450" alt=""   /></a><p class="wp-caption-text">Original and pirated chips meet for the first time.</p></div>
<p>Pirate chips on the left, original ones on the right. Now let&#8217;s drop &#8216;em in shall we?</p>
<div id="attachment_78" class="wp-caption aligncenter" style="width: 459px"><a href="http://133fsb.files.wordpress.com/2009/11/dscn0523.jpg"><img class="size-full wp-image-78" title="Family Game with original chips" src="http://133fsb.files.wordpress.com/2009/11/dscn0523.jpg?w=450" alt=""   /></a><p class="wp-caption-text">Family Game with original Nintendo/Ricoh parts!</p></div>
<p>And that&#8217;s it! Here&#8217;s the final result:</p>
<div id="attachment_79" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/11/family-seal-quality-copia.jpg"><img class="size-full wp-image-79" title="family-seal-quality copia" src="http://133fsb.files.wordpress.com/2009/11/family-seal-quality-copia.jpg?w=450&#038;h=411" alt="" width="450" height="411" /></a><p class="wp-caption-text">Famiclone Seal of Quality?</p></div>
<p>Now my Family Game has nothing to envy to an original Famicom system. Built-in AV out, turbo controllers, and now 100% compatibility and accuracy! To be fair, the compatibility and accuracy were pretty high with the cloned chips, but I can&#8217;t stand NoAC-ish sound in my games, especially when the fix is so easy.</p>
<p>But what happened to the NES motherboard and the cloned chips? They now live together!</p>
<div id="attachment_80" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/11/dscn0525.jpg"><img class="size-full wp-image-80" title="NES with clone chips" src="http://133fsb.files.wordpress.com/2009/11/dscn0525.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></a><p class="wp-caption-text">Pirated chips meet original hardware!</p></div>
<p>This effectively turns the NES into a clone system, with all its quirks and flaws.</p>
<p>And this marks the end of the short <strong>Restoring a Nice Famiclone</strong> series. I hope you&#8217;ve enjoyed it as much as I did. Stay tuned for other interesting bits from my Famicom collection.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/133fsb.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/133fsb.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/133fsb.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/133fsb.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/133fsb.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/133fsb.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/133fsb.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/133fsb.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/133fsb.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/133fsb.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/133fsb.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/133fsb.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/133fsb.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/133fsb.wordpress.com/69/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=133fsb.wordpress.com&amp;blog=9249573&amp;post=69&amp;subd=133fsb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://133fsb.wordpress.com/2009/11/28/restoring-a-nice-famiclone-part-2/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e6ddb16e89c8b2690b7f4f99cf725f64?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">133MHz</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/11/dscn0510.jpg" medium="image">
			<media:title type="html">Stock NES mobo</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/11/dscn0511.jpg" medium="image">
			<media:title type="html">NES mobo sans CPU/PPU</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/11/dscn0508.jpg" medium="image">
			<media:title type="html">Paper Chip Puller</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/11/dscn0515.jpg" medium="image">
			<media:title type="html">socketed NES mobo</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/11/dscn0518.jpg" medium="image">
			<media:title type="html">Family Game board labeled</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/11/dscn0521.jpg" medium="image">
			<media:title type="html">Family Game board unpopulated</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/11/dscn0520.jpg" medium="image">
			<media:title type="html">CPU PPU Chips</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/11/dscn0523.jpg" medium="image">
			<media:title type="html">Family Game with original chips</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/11/family-seal-quality-copia.jpg" medium="image">
			<media:title type="html">family-seal-quality copia</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/11/dscn0525.jpg" medium="image">
			<media:title type="html">NES with clone chips</media:title>
		</media:content>
	</item>
		<item>
		<title>Dream Mary on a Budget</title>
		<link>http://133fsb.wordpress.com/2009/11/21/dream-mary-on-a-budget/</link>
		<comments>http://133fsb.wordpress.com/2009/11/21/dream-mary-on-a-budget/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 03:43:27 +0000</pubDate>
		<dc:creator>133MHz</dc:creator>
				<category><![CDATA[Famicom/NES]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://133fsb.wordpress.com/?p=60</guid>
		<description><![CDATA[Dream Mary (also called Fancy Mario) is a &#8220;special&#8221; version of the 1985 NES/Famicom classic game Super Mario Bros. It can be commonly found on pirate Famicom multicarts as Fancy Mario, and rarely on single game cartridges as Dream Mary. It has a bizarre scrolling effect in which the screen splits in half: the right [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=133fsb.wordpress.com&amp;blog=9249573&amp;post=60&amp;subd=133fsb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:left;">Dream Mary (also called Fancy Mario) is a &#8220;special&#8221; version of the 1985 NES/Famicom classic game Super Mario Bros. It can be commonly found on pirate Famicom multicarts as Fancy Mario, and rarely on single game cartridges as Dream Mary. It has a bizarre scrolling effect in which the screen splits in half: the right half is unchanged but the left half of the screen displays what&#8217;s way ahead of you, on the next screen.</p>
<p style="text-align:left;">This gives for an interesting and bizarre gameplay experience. Every element that appears on the left half of the screen isn&#8217;t solid &#8211; you can fall down into ghost pits, seemingly stand up in midair, inside pipes or knock on invisible blocks.</p>
<div class="mceTemp mceIEcenter" style="text-align:left;">
<dl class="wp-caption aligncenter">
<dt class="wp-caption-dt"><a href="http://133fsb.files.wordpress.com/2009/11/dream_mary.png"><img class="size-full wp-image-61" title="dream_mary" src="http://133fsb.files.wordpress.com/2009/11/dream_mary.png?w=450&#038;h=138" alt="Mario's having a bad dream, and it's not because of Wart." width="450" height="138" /></a></dt>
<dd class="wp-caption-dd">Mario&#8217;s having a bad dream, and it&#8217;s not because of Wart.</dd>
</dl>
</div>
<p><span id="more-60"></span><br />
It&#8217;s kind of hard to visualize it without seeing it in action. Check out the following YouTube playthrough of the first level of Dream Mary:</p>
<span style="text-align:center; display: block;"><a href="http://133fsb.wordpress.com/2009/11/21/dream-mary-on-a-budget/"><img src="http://img.youtube.com/vi/QqFWWF4BXEk/2.jpg" alt="" /></a></span>
<p>Dream Mary is quite a unique experience and as such is often sought among Famicom collectors. But what <strong>is</strong> Dream Mary anyway? It&#8217;s not a ROM hack, it&#8217;s way simpler than that. Dream Mary is nothing more than the stock version of SMB with incorrect mirroring.</p>
<p>Tile mirroring is one of the many aspects of the NES architecture. In simple terms it&#8217;s the way in which &#8220;pages&#8221; of graphics memory are arranged for the purposes of screen scrolling. Games can either use Horizontal or Vertical Mirroring, depending on what kind of scrolling they need to do. The type of mirroring is selected and controlled electrically by the cartridge by interconnecting certain pins together. Simple games usually have their mirroring setting hard-wired, while advanced games such as SMB3 can switch the mirroring on the fly through its mapper chip.</p>
<p>Super Mario Bros. uses Horizontal Mirroring, it expects the video memory to be arranged in a specific way for correct horizontal scrolling. If you were to set Vertical Mirroring on a SMB cartridge, the memory organization changes, scrolling data is interpreted incorrectly, and the result is Dream Mary.</p>
<p>If you want to know more about Tile Mirroring, check out this excellent resource: <a href="http://wiki.nesdev.com/w/index.php/Mirroring">Mirroring &#8211; Nesdev Wiki</a></p>
<h3>Dream Mary is nothing more than SMB with Vertical Mirroring</h3>
<p>That&#8217;s all the magic of Dream Mary. As you probably have guessed by now, a regular SMB cart could be converted to Dream Mary just by switching its mirroring. Old Nintendo cartridge boards (like those used for SMB) come with conveniently placed and clearly labeled solder pads for selecting the appropriate mirroring for the game contained in the ROM chips, this makes the SMB-&gt;Dream Mary conversion process extremely straightforward.</p>
<p>I&#8217;m going to show you how to convert a common Super Mario Bros./Duck Hunt NES cartridge intro Dream Mary/Duck Hunt in two easy steps.</p>
<h3>You will need:</h3>
<ul>
<li>Super Mario Bros. / Duck Hunt NES cartridge</li>
<li>Gamebit screwdriver (to open up the cart)</li>
<li>Soldering Iron</li>
<li>60/40 Rosin Core Solder</li>
<li>X-Acto Knife</li>
</ul>
<p>Using the gamebit screwdriver, take apart your SMB/DH cartridge. Remove the printed circuit board from the plastic casing and set it on a table with the chips facing you:</p>
<div id="attachment_62" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/11/dscn0504.jpg"><img class="size-full wp-image-62" title="DSCN0504" src="http://133fsb.files.wordpress.com/2009/11/dscn0504.jpg?w=450&#038;h=257" alt="Super Mario Bros. / Duck Hunt PCB" width="450" height="257" /></a><p class="wp-caption-text">Super Mario Bros. / Duck Hunt PCB</p></div>
<p style="text-align:left;">It&#8217;s a good idea to clean the contacts at this moment. Now, see those little circles marked H and V?</p>
<p style="text-align:left;">
<div id="attachment_63" class="wp-caption aligncenter" style="width: 230px"><a href="http://133fsb.files.wordpress.com/2009/11/hv.jpg"><img class="size-full wp-image-63" title="HV" src="http://133fsb.files.wordpress.com/2009/11/hv.jpg?w=450" alt=""   /></a><p class="wp-caption-text">Mirroring Select Solder Pads</p></div>
<p style="text-align:left;">Yes, those are the pads that select what mirroring to use depending on which set of pads is connected together. The H pads are bridged together by a thin strip of copper which can be clearly seen in the picture. To turn this SMB cart into Dream Mary, you need to break the connection that bridges the H pad together and connect the two segments of the V pad together. You&#8217;ll use your X-Acto knife to cut the fine copper strip on the H pad and the soldering iron to place a blob of solder between the V pads. Couldn&#8217;t be simpler!</p>
<p style="text-align:left;">Take the X-Acto knife and cut the thin copper stripe on the H pad. Now take your soldering iron and place a blob of fresh solder on both of the V pads. Touch both of them momentarily with the tip of the iron so that the solder melts and bridges the pads together, and that&#8217;s it! It should look like this:</p>
<p style="text-align:left;">
<div id="attachment_64" class="wp-caption aligncenter" style="width: 230px"><a href="http://133fsb.files.wordpress.com/2009/11/hv-mod.jpg"><img class="size-full wp-image-64" title="HV-mod" src="http://133fsb.files.wordpress.com/2009/11/hv-mod.jpg?w=450" alt=""   /></a><p class="wp-caption-text">H pad is cut, V pad is soldered together.</p></div>
<p style="text-align:left;">Now put the cartridge back together and test it on your NES console. Congratulations! You have turned a common as dirt game into a bizarre experience! Now print out a crazy label for your &#8220;new&#8221; NES game.</p>
<h3 style="text-align:left;">Afterthoughts</h3>
<p style="text-align:left;">If you ever want to return your Dream Mary cartridge into its original state, just remove the solder from the V pads and place a similar blob of solder between the H pads.</p>
<p style="text-align:left;">This should work exactly the same with the single cart version of SMB. I haven&#8217;t opened up my copy, but you should be able to find the same solder pads in there, and the same procedure applies.</p>
<p style="text-align:left;">You could also try this on other NES cartridges and see what kind of bizarre effects it causes on the gameplay. Old 1st generation games are the best candidates for this. Complex games might not have manual mirroring select at all.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/133fsb.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/133fsb.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/133fsb.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/133fsb.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/133fsb.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/133fsb.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/133fsb.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/133fsb.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/133fsb.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/133fsb.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/133fsb.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/133fsb.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/133fsb.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/133fsb.wordpress.com/60/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=133fsb.wordpress.com&amp;blog=9249573&amp;post=60&amp;subd=133fsb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://133fsb.wordpress.com/2009/11/21/dream-mary-on-a-budget/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e6ddb16e89c8b2690b7f4f99cf725f64?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">133MHz</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/11/dream_mary.png" medium="image">
			<media:title type="html">dream_mary</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/11/dscn0504.jpg" medium="image">
			<media:title type="html">DSCN0504</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/11/hv.jpg" medium="image">
			<media:title type="html">HV</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/11/hv-mod.jpg" medium="image">
			<media:title type="html">HV-mod</media:title>
		</media:content>
	</item>
		<item>
		<title>Restoring a Nice Famiclone Part 1</title>
		<link>http://133fsb.wordpress.com/2009/10/21/restoring-a-nice-famiclone-part-1/</link>
		<comments>http://133fsb.wordpress.com/2009/10/21/restoring-a-nice-famiclone-part-1/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 01:13:10 +0000</pubDate>
		<dc:creator>133MHz</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Famicom/NES]]></category>
		<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://133fsb.wordpress.com/?p=29</guid>
		<description><![CDATA[Last Sunday I was checking out the Buy/Sell/Trade section of one of my favorite Internet communities besides Famicom World &#8211; RetroGames.cl Forums. Some guy was selling a bunch of gaming stuff for cheap, and I was fortunate enough to see the post just minutes after it was created, giving me the ultimate lead to snag [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=133fsb.wordpress.com&amp;blog=9249573&amp;post=29&amp;subd=133fsb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Last Sunday I was checking out the Buy/Sell/Trade section of one of my favorite Internet communities besides Famicom World &#8211; RetroGames.cl Forums. Some guy was selling a bunch of gaming stuff for cheap, and I was fortunate enough to see the post just minutes after it was created, giving me the ultimate lead to snag stuff before anyone else.</p>
<p>Among the stuff that I bought from him, I got this nice looking Famiclone for about $5,  system + box + manual, untested.</p>
<div id="attachment_30" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/10/dscn0119.jpg"><img class="size-full wp-image-30" title="Family Game Box" src="http://133fsb.files.wordpress.com/2009/10/dscn0119.jpg?w=450&#038;h=326" alt="Family Game Box" width="450" height="326" /></a><p class="wp-caption-text">Family Game by NTDEC</p></div>
<p style="text-align:center;">
<p>I like these Famicom-shaped clones, and this one is in fact my very first one. I couldn&#8217;t resist getting it even if it was in rough/unknown condition, since these clones have several advantages over the newer ones.<br />
<span id="more-29"></span><br />
This one is a Family Game, manfuactured by NTDEC. Family Game is a generic term used in Argentina to describe Famiclones, but this unit seems to be manufactured for a NTSC market. Judging by the box and the shape of the console, this Famiclone is very old, from the earlier batches of Famicom clones. Because of its age, it probably uses a discrete design (instead of the System-On-A-Chip ASIC used in modern clones) that clones the entire Famicom motherboard and thus isn&#8217;t plagued by the problems that modern clones have, like incorrect colors/sound or incompatibility with certain games. As a Famicom collector, finding one of these is really sweet!</p>
<p>Box is in rough condition, manual is in great shape (it&#8217;s in Spanish and it seems to be a blatant copy of the original Famicom manual, down to the HVC codes!) and the system itself is in pretty good condition, just dirty.</p>
<div id="attachment_31" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/10/dscn0131.jpg"><img class="size-full wp-image-31" title="DSCN0131" src="http://133fsb.files.wordpress.com/2009/10/dscn0131.jpg?w=450&#038;h=358" alt="Family Game Manual" width="450" height="358" /></a><p class="wp-caption-text">Family Game Manual</p></div>
<div id="attachment_33" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/10/dscn0123.jpg"><img class="size-full wp-image-33" title="DSCN0123" src="http://133fsb.files.wordpress.com/2009/10/dscn0123.jpg?w=450&#038;h=553" alt="Dirty Famiclone needs a bath" width="450" height="553" /></a><p class="wp-caption-text">Dirty Famiclone needs a bath</p></div>
<div id="attachment_32" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/10/dscn0124.jpg"><img class="size-full wp-image-32" title="DSCN0124" src="http://133fsb.files.wordpress.com/2009/10/dscn0124.jpg?w=450&#038;h=571" alt="Nice (dirty) turbo controllers!" width="450" height="571" /></a><p class="wp-caption-text">Nice (dirty) turbo controllers!</p></div>
<div id="attachment_36" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/10/dscn0126.jpg"><img class="size-full wp-image-36" title="DSCN0126" src="http://133fsb.files.wordpress.com/2009/10/dscn0126.jpg?w=450&#038;h=150" alt="Back of the Family Game. Built-in AV output!" width="450" height="150" /></a><p class="wp-caption-text">Back of the Family Game. Built-in AV output!</p></div>
<div id="attachment_54" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/10/dscn0132.jpg"><img class="size-full wp-image-54" title="DSCN0132" src="http://133fsb.files.wordpress.com/2009/10/dscn0132.jpg?w=450&#038;h=782" alt="Family Game Motherboard" width="450" height="782" /></a><p class="wp-caption-text">Family Game Motherboard</p></div>
<p>This is definitely one of those early Famicom clones which had an exact copy of the original Famicom&#8217;s motherboard. The only cloned chips are the CPU and PPU, which in this case bear mysterious  markings. Good thing is that the CPU and PPU are socketed, which means that they can be replaced with original chips taken from a NES motherboard for 100% accuracy and compatibility!</p>
<p>Dirty Famiclone was begging to be cleaned, so I took it apart to the last piece and gave every plastic part a good, warm bath and a good scrubbing with a toothbrush dipped in Cif (a mildly abrasive cleaning product), and here&#8217;s how it turned out:</p>
<div id="attachment_37" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/10/dscn0136.jpg"><img class="size-full wp-image-37" title="DSCN0136" src="http://133fsb.files.wordpress.com/2009/10/dscn0136.jpg?w=450&#038;h=421" alt="Squeaky Clean!" width="450" height="421" /></a><p class="wp-caption-text">Squeaky Clean!</p></div>
<div id="attachment_38" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/10/dscn0133.jpg"><img class="size-full wp-image-38" title="DSCN0133" src="http://133fsb.files.wordpress.com/2009/10/dscn0133.jpg?w=450&#038;h=336" alt="The controllers show very little signs of abuse!" width="450" height="336" /></a><p class="wp-caption-text">Shiny Turbo Controllers!</p></div>
<p>Now it&#8217;s time to hook this bad boy up to the TV and see if it works. And it doesn&#8217;t. It displays a black screen and doesn&#8217;t run any games. Closer inspection of the cart slot reveals this:</p>
<div id="attachment_40" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/10/dscn0127s.jpg"><img class="size-full wp-image-40" title="DSCN0127s" src="http://133fsb.files.wordpress.com/2009/10/dscn0127s.jpg?w=450&#038;h=83" alt="Uh oh..." width="450" height="83" /></a><p class="wp-caption-text">Uh oh...</p></div>
<p>Talk about abuse! And it was even worse! I took this picture after trying my best to realign every bent pin with a jeweler&#8217;s screwdriver. Even after that it wouldn&#8217;t boot cartridges. I was suspecting that something else was faulty&#8230;</p>
<p>Fortunately when wiggling the cartridge around and repeatedly pushing reset, it displayed a colorful glitchy screen. The fact that it was colored means that the system clock generator is OK, and the random garbage on the screen proved that the CPU and PPU are doing something, which means that the rest of the system is fine and the cartridge slot is the only culprit.</p>
<p>This only leaves one option: Replace the 60 pin cartridge slot. Where to get one? From another Famiclone, of course! These two were excellent candidates as organ donors for the 60-pin transplant:</p>
<div id="attachment_41" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/10/dscn0138.jpg"><img class="size-full wp-image-41" title="DSCN0138" src="http://133fsb.files.wordpress.com/2009/10/dscn0138.jpg?w=450&#038;h=202" alt="Brave Famiclones about to give their lives in the name of Science!" width="450" height="202" /></a><p class="wp-caption-text">Brave Famiclones about to give their lives in the name of Science!</p></div>
<p>The clone on the left is completely broken, and the one on the right works fine but it&#8217;s really crappy (not that I&#8217;d expect much from a Polystation Famiclone&#8230;). In the end the Polystation was chosen as the donor just because its cartridge slot was in better condition.</p>
<p>Desoldering a 60 pin card edge slot isn&#8217;t terribly hard, but it&#8217;s really tedious. You have to suck the solder off those 60 little pins with a desoldering pump, repeat the process for every pin that didn&#8217;t loosen up completely, and then do it again!</p>
<p>After goofing around for quite some time I finally got my lazy ass moving and started desoldering the donor cartridge connector.</p>
<p style="text-align:center;">
<div id="attachment_42" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/10/dscn0140.jpg"><img class="size-full wp-image-42" title="DSCN0140" src="http://133fsb.files.wordpress.com/2009/10/dscn0140.jpg?w=450&#038;h=337" alt="The Polystation was the first in the operating table." width="450" height="337" /></a><p class="wp-caption-text">The Polystation was the first in the operating table.</p></div>
<div id="attachment_43" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/10/dscn0145.jpg"><img class="size-full wp-image-43" title="DSCN0145" src="http://133fsb.files.wordpress.com/2009/10/dscn0145.jpg?w=450&#038;h=337" alt="Every single pin is free, ready for removal." width="450" height="337" /></a><p class="wp-caption-text">Every single pin is free, ready for removal.</p></div>
<div id="attachment_44" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/10/dscn0146.jpg"><img class="size-full wp-image-44" title="DSCN0146" src="http://133fsb.files.wordpress.com/2009/10/dscn0146.jpg?w=450&#038;h=337" alt="It came clean off! Yay!" width="450" height="337" /></a><p class="wp-caption-text">It came clean off! Yay!</p></div>
<div id="attachment_45" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/10/dscn0148.jpg"><img class="size-full wp-image-45 " title="DSCN0148" src="http://133fsb.files.wordpress.com/2009/10/dscn0148.jpg?w=450&#038;h=337" alt="Poor Polystation... no more cartridges for you!" width="450" height="337" /></a><p class="wp-caption-text">Poor Polystation... no more cartridges for you!</p></div>
<p style="text-align:center;">With a fresh replacement in hand, it&#8217;s time to remove the broken slot from the Family Game and install the working one in its place.</p>
<p style="text-align:center;">
<div id="attachment_46" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/10/dscn0149.jpg"><img class="size-full wp-image-46" title="DSCN0149" src="http://133fsb.files.wordpress.com/2009/10/dscn0149.jpg?w=450&#038;h=337" alt="Desoldering the Family Game's connector. Half of the pins done, half more to go!" width="450" height="337" /></a><p class="wp-caption-text">Desoldering the Family Game&#39;s connector. Half of the pins done, half more to go!</p></div>
<div id="attachment_47" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/10/dscn0151.jpg"><img class="size-full wp-image-47" title="DSCN0151" src="http://133fsb.files.wordpress.com/2009/10/dscn0151.jpg?w=450&#038;h=337" alt="Finally! After lots of fiddling every pin is free and the connector can be removed." width="450" height="337" /></a><p class="wp-caption-text">Finally! After lots of fiddling every pin is free and the connector can be removed.</p></div>
<div id="attachment_48" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/10/dscn0153.jpg"><img class="size-full wp-image-48" title="DSCN0153" src="http://133fsb.files.wordpress.com/2009/10/dscn0153.jpg?w=450&#038;h=337" alt="Ever wondered what the bottom of the cartridge slot looks like? Me neither!" width="450" height="337" /></a><p class="wp-caption-text">Ever wondered how the board under the Famicom cartridge slot looks like? Me neither!</p></div>
<div id="attachment_49" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/10/dscn0156.jpg"><img class="size-full wp-image-49" title="DSCN0156" src="http://133fsb.files.wordpress.com/2009/10/dscn0156.jpg?w=450&#038;h=207" alt="Meet new conector. Same as the old connector." width="450" height="207" /></a><p class="wp-caption-text">Meet new conector. Same as the old connector.</p></div>
<p style="text-align:center;">It turns out that the black cartridge connector is slightly shorter than the blue one. I know that the Chinese pirates cut corners everywhere they can to mass produce these clones as cheap as possible, but I think this is going a little too far!</p>
<p style="text-align:center;">Time to solder the replacement connector!</p>
<p style="text-align:center;">
<div id="attachment_50" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/10/dscn0159.jpg"><img class="size-full wp-image-50" title="DSCN0159" src="http://133fsb.files.wordpress.com/2009/10/dscn0159.jpg?w=450&#038;h=337" alt="What a perfect fit. Time to solder!" width="450" height="337" /></a><p class="wp-caption-text">What a perfect fit. Time to solder!</p></div>
<p style="text-align:center;">It&#8217;s a good idea to solder the four pins on the outermost corners first. That way you can easily fix your alignment before it becomes a potential screwup.</p>
<p style="text-align:center;">
<div id="attachment_51" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/10/dscn0162.jpg"><img class="size-full wp-image-51" title="DSCN0162" src="http://133fsb.files.wordpress.com/2009/10/dscn0162.jpg?w=450&#038;h=437" alt="Just like new!" width="450" height="437" /></a><p class="wp-caption-text">Just like new!</p></div>
<p style="text-align:center;">Success! Time to put it back together and fire it up.</p>
<p style="text-align:center;">
<div id="attachment_52" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/10/dscn0164.jpg"><img class="size-full wp-image-52" title="DSCN0164" src="http://133fsb.files.wordpress.com/2009/10/dscn0164.jpg?w=450&#038;h=552" alt="The question is... does it work?" width="450" height="552" /></a><p class="wp-caption-text">The question is... does it work?</p></div>
<p style="text-align:center;">It verks! it verks!</p>
<p style="text-align:center;">
<div id="attachment_53" class="wp-caption aligncenter" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/10/dscn0168.jpg"><img class="size-full wp-image-53" title="DSCN0168" src="http://133fsb.files.wordpress.com/2009/10/dscn0168.jpg?w=450&#038;h=337" alt="It even plays Disk System games!" width="450" height="337" /></a><p class="wp-caption-text">It even plays Disk System games!</p></div>
<p>Replacing the cartridge connector brought this Famiclone back to life for once and for all!</p>
<p>Now that it&#8217;s booting games perfectly, I could do my battery of Famiclone Quality Tests which consist on detecting sound/video flaws and trying to boot the Famicom Disk System and Castlevania III. Unfortunately, despite being a discrete Famiclone with separate CPU and PPU chips, it suffers from incorrect audio registers like every NoAC based clone out there. On the other hand, no video/color flaws were present. Colors are as good as the real thing, and it seems to replicate all of the original PPU&#8217;s quirks. Even better, it passes the FDS and Castlevania III tests with flying colors! The vast majority of clones struggle with these two, and the Family Game runs both of them as good as the real Famicom!</p>
<p>Overall, I give the NTDEC Family Game a 4 out of 5 on my Famiclone Quality Rating. It has proven itself worthy on the most rigorous tests, but its incorrect sound registers are a dead and loud giveaway of the system&#8217;s unlicensed past. Incorrect sound can be a non-issue or a big turnoff, depending on your tastes.</p>
<p>Fortunately the CPU and PPU chips are socketed which makes replacing them with original Nintendo parts a breeze. In part 2 of the <strong>Restoring a Nice Famiclone</strong> series I&#8217;ll extract the CPU and PPU chips from an authentic NES motherboard and install them in the Family Game to get rid of the incorrect sound and turn this nice clone into an &#8220;original&#8221; Famiclone!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/133fsb.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/133fsb.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/133fsb.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/133fsb.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/133fsb.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/133fsb.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/133fsb.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/133fsb.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/133fsb.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/133fsb.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/133fsb.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/133fsb.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/133fsb.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/133fsb.wordpress.com/29/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=133fsb.wordpress.com&amp;blog=9249573&amp;post=29&amp;subd=133fsb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://133fsb.wordpress.com/2009/10/21/restoring-a-nice-famiclone-part-1/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e6ddb16e89c8b2690b7f4f99cf725f64?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">133MHz</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/10/dscn0119.jpg" medium="image">
			<media:title type="html">Family Game Box</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/10/dscn0131.jpg" medium="image">
			<media:title type="html">DSCN0131</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/10/dscn0123.jpg" medium="image">
			<media:title type="html">DSCN0123</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/10/dscn0124.jpg" medium="image">
			<media:title type="html">DSCN0124</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/10/dscn0126.jpg" medium="image">
			<media:title type="html">DSCN0126</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/10/dscn0132.jpg" medium="image">
			<media:title type="html">DSCN0132</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/10/dscn0136.jpg" medium="image">
			<media:title type="html">DSCN0136</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/10/dscn0133.jpg" medium="image">
			<media:title type="html">DSCN0133</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/10/dscn0127s.jpg" medium="image">
			<media:title type="html">DSCN0127s</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/10/dscn0138.jpg" medium="image">
			<media:title type="html">DSCN0138</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/10/dscn0140.jpg" medium="image">
			<media:title type="html">DSCN0140</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/10/dscn0145.jpg" medium="image">
			<media:title type="html">DSCN0145</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/10/dscn0146.jpg" medium="image">
			<media:title type="html">DSCN0146</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/10/dscn0148.jpg" medium="image">
			<media:title type="html">DSCN0148</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/10/dscn0149.jpg" medium="image">
			<media:title type="html">DSCN0149</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/10/dscn0151.jpg" medium="image">
			<media:title type="html">DSCN0151</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/10/dscn0153.jpg" medium="image">
			<media:title type="html">DSCN0153</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/10/dscn0156.jpg" medium="image">
			<media:title type="html">DSCN0156</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/10/dscn0159.jpg" medium="image">
			<media:title type="html">DSCN0159</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/10/dscn0162.jpg" medium="image">
			<media:title type="html">DSCN0162</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/10/dscn0164.jpg" medium="image">
			<media:title type="html">DSCN0164</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/10/dscn0168.jpg" medium="image">
			<media:title type="html">DSCN0168</media:title>
		</media:content>
	</item>
		<item>
		<title>Murphy&#8217;s Law applied to Video Game Collecting</title>
		<link>http://133fsb.wordpress.com/2009/10/17/murphys-law-applied-to-video-game-collecting/</link>
		<comments>http://133fsb.wordpress.com/2009/10/17/murphys-law-applied-to-video-game-collecting/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 04:18:11 +0000</pubDate>
		<dc:creator>133MHz</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://133fsb.wordpress.com/?p=22</guid>
		<description><![CDATA[Ah, Murphy&#8217;s Law. It rules every aspect of our universe. In its simplest form it can be stated like this: &#8220;If anything can go wrong, it will.&#8221; More comprehensively, &#8220;Whatever can go wrong will go wrong, and at the worst possible time, in the worst possible way.&#8221; Nobody&#8217;s exempt from Murphy&#8217;s Law. Everybody&#8217;s got their [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=133fsb.wordpress.com&amp;blog=9249573&amp;post=22&amp;subd=133fsb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ah, Murphy&#8217;s Law. It rules every aspect of our universe. In its simplest form it can be stated like this:</p>
<blockquote><p>&#8220;If anything can go wrong, it will.&#8221;</p></blockquote>
<p>More comprehensively,</p>
<blockquote><p>&#8220;Whatever can go wrong will go wrong, and at the worst possible time, in the worst possible way.&#8221;</p></blockquote>
<p>Nobody&#8217;s exempt from Murphy&#8217;s Law. Everybody&#8217;s got their story about how a quick and simple problem turned into an eternal and impossible one, or how something that was very unlikely to happen, happened &#8211; with disastrous consequences. Study hard for a test, and the teacher won&#8217;t show up.</p>
<p>Murphy&#8217;s Law has been applied into almost every field of  science and knowledge, like electronics, aerospace engineering, etc. Inspired by a recent thread on Famicom World, I&#8217;m going to use my personal experience to apply Murphy&#8217;s Law into one of my favorite hobbies: Video Game Collecting.<br />
<span id="more-22"></span><br />
This list can be considered a work in progress &#8211; it&#8217;ll grow as long as ideas keep coming into my mind, and probably with other people&#8217;s suggestions.</p>
<p><strong>Flea Market Finds:</strong></p>
<ul>
<li>The amount of money you&#8217;re carrying is inversely proportional to the rarity of your finds. When you&#8217;re poor, all sorts of interesting stuff will pop up that you badly want but can&#8217;t afford. When you&#8217;ve got the money to spend, all you find is crap.</li>
<li>The more prepared you are for the big stuff, the more it will evade you. You&#8217;ll find a cheap and awesome arcade machine when your car is at the shop.</li>
<li>If you&#8217;re looking for a particular game, it will evade you as much as possible, even if it&#8217;s a common one. If you look harder, you might never find it.</li>
<li>If you manage to find that game you&#8217;re looking for, it&#8217;ll be in terrible condition, ridiculously expensive, or both.</li>
<li>If you decide not to get it because of the condition/price factor, Murphy will take notice and make your quest <strong>even harder.</strong> Your chances of finding that game again will be smaller than before, making you regret your decision of letting that opportunity go. Try returning the next day, and the seller/game won&#8217;t be there anymore.</li>
<li>OK, so you&#8217;ve decided to buy the game anyway. After all, you&#8217;ve been looking for it for months on end with no luck, and this opportunity may never repeat itself. Happiness ensues, you finally got it, even if you&#8217;ve paid a pretty penny for it or the condition wasn&#8217;t up to your standards. Now that hard-to-find game appears <strong>everywhere</strong>, at a lower price and better condition, just to taunt you. You regret your decision.</li>
<li>Don&#8217;t want the Player&#8217;s Choice/Million Seller/Greatest Hits edition? It&#8217;ll be everywhere you look. Want it? It&#8217;ll be nowhere to be found.</li>
<li>You&#8217;ll never notice blatant faults on the spot. You&#8217;ll always notice them long after you could&#8217;ve used them as a way to lowball the price.</li>
<li>Think too much about buying something and when you come back to get it, you&#8217;ll find out that somebody else snagged it while you were making up your mind.</li>
<li>Think too little (aka being an impulse buyer) and you&#8217;ll run out of money just when the really interesting stuff starts to show up.</li>
<li>Found something that one of your friends has been looking for? If you tell your friend with the hopes that he&#8217;ll be able to snag it, he won&#8217;t. If you buy it for him, you&#8217;ll find out that he already got it.</li>
<li>If you come across a rare and valuable system, it&#8217;ll be missing critical hookups, like non-standard AV cables.</li>
<li>Getting games for a system that you don&#8217;t own as an excuse to get it rarely works.</li>
<li>Handheld systems will be missing their battery covers.</li>
<li>Nintendo 64 systems will be missing their RAM Expansion cover.</li>
</ul>
<p><strong>Hardware Issues</strong></p>
<ul>
<li>You&#8217;ve found a cartridge so mint that it seems like it was never ever used. Even the edge connector looks as shiny and pristine as it can be. Surprise! It doesn&#8217;t work! But the dirtiest, most abused cartridges work perfectly!</li>
<li>If you live in a 220V country and you come across a gaming system from the US (110V), even if the seller assures you that it&#8217;s working, it has been plugged straight into the wall, causing the destruction of its power supply.</li>
<li>Old CD-based systems will have a weak laser diode. You might get lucky and a good cleaning followed by a laser power adjustment could be all that&#8217;s needed to restore it into working condition. Most of the time you&#8217;ll only get a little bit of extra life out of it, forcing you to get a replacement laser pickup assembly, which of course, costs an arm and a leg.</li>
</ul>
<ul>
<li>Came across a faulty system, like a Game Gear with no sound or poor screen contrast? You&#8217;ve probably got it because you remember reading on the internets about that particular failure and how easy it is to fix. You try the aforementioned fix, but to no avail. You soon discover that it&#8217;s got a unique failure mode that you&#8217;ve never seen before and nobody on the Internet seems to know about it. It soon ends up in your junk box because it cannot be fixed.</li>
<li>The dreaded Atari Jaguar&#8217;s Red Screen Of Death is <strong>never</strong> a cartridge connection problem!</li>
<li>If you can do a component-level diagnosis of a dead system, you&#8217;ll find that the faulty parts are always the exotic, hard to replace chips, like the custom CPU or audio ASIC. The common-as-dirt glue logic chips almost never fail.</li>
<li>If you don&#8217;t know the polarity of a given system, the first one you try will be the opposite &#8211; usually with disastrous results. Try reversing your initial choice and Murphy&#8217;s Law still applies.</li>
<li>When you think that the problem might be as easy as a blown fuse and therefore quickly solved, you&#8217;ll end up with a full-fledged extremely difficult problem. In these cases the fuse is always fine and all the voltages appear to be correct.</li>
<li>Cables will be frayed in the non-replaceable end of the plug (e.g. the Multi AV Out plug in Nintendo cables instead of the RCA jacks).</li>
<li>Old computers will have stuck or dead keys. If the key&#8217;s stuck, a unique piece like a very precise spring will be missing and irreplaceable. If the key doesn&#8217;t register, you might think that it could just be dirty, but you&#8217;ll find that the membrane has been damaged, making for a complicated repair.</li>
<li>Your favorite game cartridge with a maxed out save file (e.g. your beloved RPG that you&#8217;ve been playing since you were 7) will have a dead battery by the time you want to make sure if the save file is still  there. On the other hand, that crappy sports game will keep useless scores and stats for 20+ years.</li>
<li>Doing a mod? You&#8217;ll be able to get every material except for one very critical piece. Replacements won&#8217;t work correctly.</li>
</ul>
<p><strong>Game Playing Issues:</strong></p>
<ul>
<li>Disc Read Errors/freezes will always happen on a very important part of the game, far away from any save points.</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/133fsb.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/133fsb.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/133fsb.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/133fsb.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/133fsb.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/133fsb.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/133fsb.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/133fsb.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/133fsb.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/133fsb.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/133fsb.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/133fsb.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/133fsb.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/133fsb.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=133fsb.wordpress.com&amp;blog=9249573&amp;post=22&amp;subd=133fsb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://133fsb.wordpress.com/2009/10/17/murphys-law-applied-to-video-game-collecting/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e6ddb16e89c8b2690b7f4f99cf725f64?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">133MHz</media:title>
		</media:content>
	</item>
		<item>
		<title>GameBoy Style Reset Mechanism for the NES</title>
		<link>http://133fsb.wordpress.com/2009/09/05/gb-style-reset-for-nes/</link>
		<comments>http://133fsb.wordpress.com/2009/09/05/gb-style-reset-for-nes/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 05:20:16 +0000</pubDate>
		<dc:creator>133MHz</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Famicom/NES]]></category>
		<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://133fsb.wordpress.com/?p=5</guid>
		<description><![CDATA[Remember how the Nintendo GameBoy series lacked a reset button, but you could do a soft reset by holding B + A + Select + Start? Sadly, none of Nintendo&#8217;s home consoles had this feature, but it wasn&#8217;t really needed, provided that you had a physical reset button on the console itself. So I added [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=133fsb.wordpress.com&amp;blog=9249573&amp;post=5&amp;subd=133fsb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Remember how the Nintendo GameBoy series lacked a reset button, but you could do a soft reset by holding B + A + Select + Start? Sadly, none of Nintendo&#8217;s home consoles had this feature, but it wasn&#8217;t really needed, provided that you had a physical reset button on the console itself. So I added this feature to my NES. Why?</p>
<p>I&#8217;m a really lazy person. I like to automate stuff as much as I can with my electronics skills to avoid unnecessary efforts. I have a wall-mounted TV, so one of my favorite things to do is lying down on my bed and play some classic NES games. I think that the American NES was designed with the couch potato in mind, since the controller cables are really really long, especially when compared to its Japanese counterpart.</p>
<p>I own lots of Famicom multicarts which I play on my NES with a converter. I&#8217;ve got some really good multicarts with a respectable number of unique games, saving me the hassle of repeatedly shuffling through cartridges when I want to play several games, all I need to do is push the Reset button and choose another game from the menu.</p>
<p>But wait, I have to get up from my comfortable position and go all the way to push the Reset button on the console, then back! That kind of negates the purpose of the multicart in the first place. There&#8217;s no easy way to return to the menu screen other than resetting the console. I&#8217;ve seen some mods where people physically extend their system&#8217;s reset button using wire and a toggle pushbutton, and also modified controllers with reset buttons on them. I don&#8217;t like any of these approaches because I like to preserve my system&#8217;s original aesthetics and also because I want a solution that works independently of the controller used. I was thinking how could I extend the reset function in a non-invasive way, when I recalled the GameBoy series using B + A + Select + Start as a soft reset sequence. Eureka! an idea was born.<br />
<span id="more-5"></span><br />
Now it&#8217;s just a matter of implementing the idea electronically into the NES. The Nintendo Entertainment System uses a synchronous serial protocol to transfer information between the controllers and the system. Every television frame, the system reads out the state of each of the controller&#8217;s buttons in a sequential fashion, this data is broadcast over one wire, and two additional wires are used for synchronization between controller and console. Inside the NES, the decoding of the controller data is done inside the CPU.</p>
<p>The idea is to decode the serial data from the controller to extract the individual button presses corresponding to the A, B, Start and Select buttons, using that information to detect when they&#8217;ve been pressed together, and when that happens, send a reset signal to the console.</p>
<p>The &#8220;brain&#8221; of the NES controller is the 4021, which is a parallel in, serial out shift register IC. I&#8217;m using the 74HC595 serial in, parallel out shift register IC to decode the serial data from the 4021 back into individual button presses. Interfacing it is as simple as piggybacking the controller data lines directly from the NES motherboard. Here&#8217;s the pinout:</p>
<div id="attachment_8" class="wp-caption alignnone" style="width: 410px"><img class="size-full wp-image-8" title="Cntrlr_Pinout" src="http://133fsb.files.wordpress.com/2009/09/cntrlr_pinout2.png?w=450" alt="Controller connector on the NES motherboard"   /><p class="wp-caption-text">Controller connector on the NES motherboard</p></div>
<ol>
<li> +5V</li>
<li>Serial data</li>
<li>Latch</li>
<li>Clock</li>
<li>Ground</li>
</ol>
<p>I soldered wires directly to these points to feed my 74HC595. On pins 4, 5, 6 and 7 of the &#8217;595 you&#8217;ll find the status information for the Start, Select, B and A buttons respectively. These are active low, which means that you get a logic 1 if the button&#8217;s not pressed, and a logic 0 if the button&#8217;s pressed.</p>
<p>We want the console to reset when the A, B, Start and Select buttons are pressed simultaneously, so we must find a way to detect this condition. We need to detect when A AND B AND Select AND Start are pushed, therefore we need AND gates. I&#8217;m using a 74LS22 which is a dual 4-input NAND gate with open collector outputs. Since the button signals are active low, we have to invert them using a 7404 hex inverter IC to get a logic 1 when we press a button. We then take the inverted button signals and feed them into the inputs of the NAND gate. When all four buttons are pushed (1 1 1 1), the condition is satisfied and the NAND gate outputs a zero, otherwise it outputs a one. Why the inverted logic? Because the NES&#8217; Reset line is active low, too. You can find the Reset signal on pin 9 of the lockout chip (also called CIC).</p>
<div id="attachment_10" class="wp-caption alignnone" style="width: 460px"><img class="size-full wp-image-10" title="CIC_Pin9" src="http://133fsb.files.wordpress.com/2009/09/cic_pin9.png?w=450&#038;h=308" alt="NES System Reset Signal (Pin 9 of the Lockout Chip)" width="450" height="308" /><p class="wp-caption-text">NES System Reset Signal (Pin 9 of the Lockout Chip)</p></div>
<p>The idea is pretty simple: Decode the status from the A, B, Select and Start buttons from the controller&#8217;s data stream, invert them, NAND them together and use the resulting signal to drive the Reset line low when all four buttons have been pressed.</p>
<p>However, when I tested my contraption the NES got stuck in an infinite reset loop, just like if I held down the Reset button permanently. I eventually traced this to the fact that during a system reset, the NES stops updating the controller status and therefore the controller signals get frozen in their last known-good state, which in this case is B, A, Select and Start pressed. In other words, once the four buttons have been pressed and the reset line is driven low, the buttons are electrically &#8220;held down&#8221;, which in turn keeps the reset condition true, and since as long as reset is true the buttons will be frozen, it stays on reset indefinitely.</p>
<p>The simplest way to solve this is to generate a short pulse and use that to drive the reset line: the pulse must be long enough to reliably reset the system and short enough to allow the controller status to update and therefore break the infinite loop. I built a monostable timer with a period of about 100 milliseconds using the ubiquitous 555 timer IC. It might not be the most elegant or space-saving solution, but it works. If you can think of a better, simpler solution, leave a comment <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .</p>
<p>After adding the monostable timer, success! I&#8217;m able to reset my NES remotely just like a GameBoy! Here&#8217;s the working schematic:</p>
<div id="attachment_11" class="wp-caption alignnone" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/09/schematic.png"><img class="size-full wp-image-11 " title="schematic" src="http://133fsb.files.wordpress.com/2009/09/schematic.png?w=450&#038;h=175" alt="GameBoy Style Reset for NES Schematic" width="450" height="175" /></a><p class="wp-caption-text">GameBoy Style Reset for NES Schematic (click to zoom)</p></div>
<p>Here are some pictures of the testing and building process:</p>
<div id="attachment_14" class="wp-caption alignnone" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/09/dscn9103.jpg"><img class="size-full wp-image-14" title="DSCN9103" src="http://133fsb.files.wordpress.com/2009/09/dscn9103.jpg?w=450&#038;h=337" alt="The Prototype (click to zoom)" width="450" height="337" /></a><p class="wp-caption-text">The Prototype (click to zoom)</p></div>
<p>After making sure it works, I built the circuit on a small piece of stripboard. I barely managed to fit everything on it, hence my build quality leaves a lot to be desired. I could&#8217;ve designed a printed circuit board for it, but I didn&#8217;t want to bother for such a small project.</p>
<div id="attachment_15" class="wp-caption alignnone" style="width: 460px"><a href="http://133fsb.files.wordpress.com/2009/09/dscn9174.jpg"><img class="size-full wp-image-15" title="DSCN9174" src="http://133fsb.files.wordpress.com/2009/09/dscn9174.jpg?w=450&#038;h=364" alt="Finished board inside the NES (click to zoom)" width="450" height="364" /></a><p class="wp-caption-text">Finished board inside the NES (click to zoom)</p></div>
<h2>Final Thoughts</h2>
<p>Even if the project turned out to be slightly more complicated than I initially thought, I&#8217;m still amazed about how simple it was to add remote reset functionality to my NES. Four simple chips, six wires, easy as installing a modchip, no drilling holes into your classic console, and best of all, I can finally lie down and play NES without having to get up just to push the Reset button to switch games! If you can build circuits from schematics, you can have it too!</p>
<p>Video of my Ultimate Couch Potato NES in action!</p>
<span style="text-align:center; display: block;"><a href="http://133fsb.wordpress.com/2009/09/05/gb-style-reset-for-nes/"><img src="http://img.youtube.com/vi/OapND6td1o4/2.jpg" alt="" /></a></span>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/133fsb.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/133fsb.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/133fsb.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/133fsb.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/133fsb.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/133fsb.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/133fsb.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/133fsb.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/133fsb.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/133fsb.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/133fsb.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/133fsb.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/133fsb.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/133fsb.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=133fsb.wordpress.com&amp;blog=9249573&amp;post=5&amp;subd=133fsb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://133fsb.wordpress.com/2009/09/05/gb-style-reset-for-nes/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e6ddb16e89c8b2690b7f4f99cf725f64?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">133MHz</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/09/cntrlr_pinout2.png" medium="image">
			<media:title type="html">Cntrlr_Pinout</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/09/cic_pin9.png" medium="image">
			<media:title type="html">CIC_Pin9</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/09/schematic.png" medium="image">
			<media:title type="html">schematic</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/09/dscn9103.jpg" medium="image">
			<media:title type="html">DSCN9103</media:title>
		</media:content>

		<media:content url="http://133fsb.files.wordpress.com/2009/09/dscn9174.jpg" medium="image">
			<media:title type="html">DSCN9174</media:title>
		</media:content>
	</item>
		<item>
		<title>FIRST POST</title>
		<link>http://133fsb.wordpress.com/2009/08/31/hello-world/</link>
		<comments>http://133fsb.wordpress.com/2009/08/31/hello-world/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 02:46:08 +0000</pubDate>
		<dc:creator>133MHz</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=133fsb.wordpress.com&amp;blog=9249573&amp;post=1&amp;subd=133fsb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Welcome to <a href="http://wordpress.com/">WordPress.com</a>. This is your first post. Edit or delete it and start blogging!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/133fsb.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/133fsb.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/133fsb.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/133fsb.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/133fsb.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/133fsb.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/133fsb.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/133fsb.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/133fsb.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/133fsb.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/133fsb.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/133fsb.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/133fsb.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/133fsb.wordpress.com/1/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=133fsb.wordpress.com&amp;blog=9249573&amp;post=1&amp;subd=133fsb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://133fsb.wordpress.com/2009/08/31/hello-world/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e6ddb16e89c8b2690b7f4f99cf725f64?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">133MHz</media:title>
		</media:content>
	</item>
	</channel>
</rss>
