Help - Search - Members - Calendar
Full Version: Nintendo in an NES
Lumenlab > Community Interests > Mad Science
Pirin
My son is only 8 months old, but one day I just sat back and looked at the new gaming systems (PS2 and newer) and thought "There is no way my son can play any of these games before he's 5!" Then I thought "The controls, and games, of the original Nintendo Entertainment System are so much more simplistic. Too bad I can't start him out on that." I had a Eureka moment (much to my wife's dismay tongue.gif ), and decided that I would put a computer inside an old NES shell and then run an emulator for all the old NES games.

Ok, I know that emulators aren't anything new, and the technology I used is over 10 years old, but my son will never care. (Oh, and I know he is still too young, but at least I am ready for when he is old enough).

Here is what I am using:

Software
OS - Windows98
Emulator - FCEUltra
FrontEnd - Game Launcher
Interface - DirectPad Pro and JoyToKey

Hardware
Mini-ITX motherboard with TV out (EPIA 800)
Mini-Box.com 60W power supply
512MB Compact Flash card
CompactFlash to IDE interface conversion board
Original NES Case
Original NES Power/Reset/LED board
Original NES Controllers

My goal was to load the software onto the Compact Flash card and use it as my hard drive. Upon booting, the front-end would load and present the list of available games. Using the original NES controllers as the only input, I wanted to be able to select and play any game, as well as exit the game and return to the list of games.

I am happy to report that everything works great! I will try to post what I can of my journey, but as always, I forgot to take enough pictures for all the detail.

Let's start with the old NES. Here you see that I have removed everything except the controller ports and the Power/Reset/LED board.
Click to view attachment
Pirin
Next we have the Power/Reset/LED board.

Here is the board as was originally designed. The thing to note is the copper piece on the top of the middle (Power) button. This copper piece is used to make the button a toggle button; that is that when you press it in, it stays in until you press it again.
Click to view attachment

For the motherboard that I have, this is not desirable. Instead, I wanted a momentary button; meaning that when you press the button in, it comes right back out when you release it. To do that, I just removed that copper piece, as seen here.
Click to view attachment
Pirin
The underside of the Power/Reset/LED board shows how all the components are connected to which wires. I still wanted the LED to light up when the NES was on, but this board has the LED and Power button attached to the same trace (very bottom trace).
Click to view attachment

I needed to separate this since the Power button no longer stays in when the motherboard is powered on. So, I took my Dremel and dug out the connecting trace (lower left of board)
Click to view attachment
Pirin
Now that the LED was disconnected from the wires of the board, I needed to run my own power to the LED from the computers power supply. To do this, I just ran wire from the +5V and Ground of the power supply to the LED. Here you can see the current limiting resistor I added to the LED.
Click to view attachment

Finally, to connect the Power and Reset switches to the computer, I took some jumper wires from a desktop PC and replaced the original NES wires to the board. I will use the jumper marked "Reset SW" as the reset on the motherboard, and the "H.D.D. LED" jumper for the power switch on the motherboard.
Click to view attachment
Pirin
To get audio and video out of the NES case, I needed to replace the RCA jacks that were on the original NES board. I bought the following at Radio Shack, and then cut 2 of them off.
Click to view attachment

I then took some old headphones and cut off the ear buds. Using the remaining cable, I connected it to one of the RCA jacks for mono sound. Then I took a single RCA cable, cut one plug off of it, and wired that to the other RCA jack. Sorry, no pictures of the final product sad.gif .
Pirin
To connect the NES controllers to the computer, I made a parallel port cable. The parallel port cable specification is defined by the DirectPad Pro software. Basically, I only need to connect 3 signals to each controller. Here is the specification for just one NES controller:
Click to view attachment

The signals that need to be fed from the parallel port are the CLK (Clock), LATCH, and SERIAL. It turns out that the CLK and LATCH signal is the same for both controllers, so I need a dedicated SERIAL for controller 1 and a different dedicated SERIAL for controller 2.
Click to view attachment

In the wiring above, you can see that I am using Blue for the CLK to both controllers, Orange for the Latch for both controllers, Yellow for the SERIAL of controller 1, and Brown for the SERIAL of controller 2.
Pirin
Ok, a bunch of work later, and no pictures...
Click to view attachment

There is quite a bit to see in this photo:
  • On the bottom, you can see the Power/Reset/LED board and controller connections.
  • On the left, you see the parallel port, the video plug, the headphone plug, and a serial port connection (explained later)
  • On the top, you see the Compact Flash card for the hard drive and the serial port switch and power plug mounting.
  • On the right, you see the RCA jacks for the audio and video out.
  • Outside the NES case, on the right, is the power supply that plugs into the ATX power connector of the motherboard.


Here the motherboard is added on top and all the connections are made.
Click to view attachment
Pirin
All closed up from the front. I opened the cartridge port to show the clearance inside.
Click to view attachment

The side shot showing the Audio and Video RCA connections. I used a yellow highlighter to color the video connector since they were both white.
Click to view attachment
Pirin
Now for the back.
Click to view attachment

I zoomed in and used a flash so you could see the connections. Here is the only place I deviated from the original look and feel; no coax/RF connection.
Click to view attachment

For the Channel 3/4 switch, I connected this to the serial port of the motherboard. On startup, I run a little program that I wrote that reads the position of the switch. In one position, it sets up the front end to only show my 20 favorite games. In the other position, it sets up the emulator to show all the games available (around 600).
Pirin
Here is the NES connected to my projector. I replaced the Windows98 boot screen with my own. I also replaced the startup sound with a "It's me, Mario" clip.
Click to view attachment

Once the OS boots, it launches the front end. Using the original NES controller, I can scroll up and down to my desired game. As I scroll to each game, a screenshot of the game is shown in the background. Pressing the A button on the controller starts the game.
Click to view attachment
Pirin
And finally, the system in action. Here we have Piston Honda coming to knock out Mac. Since I am at the camera, he succeeds quite easily.
Click to view attachment

When I am done with the game, I just press the START and SELECT button on the first controller and the game exits and returns to the list of available games.

So, there you have it! Pretty straight forward and a lot of fun. I think I am running this at 640x480 resolution (standard TV resolution), so that is why it doesn't look that great at 70-some inches of the projector. It looks pretty darn good on my regular TV, though.
DaveAK
Cool stuff!!! post-418-1138467278.gif
insertname
I want one ! Seriously
SupraGuy
Very cool.

Only one thing that I'd have done differently, from what I see. For the power/reset/LED board, if the common pin between the power switch and the LED is the ground, then it does not need to be separated, since this is common even at the motherboard end. If it's the +Ve on the LED though, then you'd either need to rewire the LED or, as you have done, separate the connection.

I like the project, maybe it can breathe life back into my old NES. wink.gif
Pirin
QUOTE (SupraGuy @ May 6 2008, 01:53 PM) *
Very cool.

Only one thing that I'd have done differently, from what I see. For the power/reset/LED board, if the common pin between the power switch and the LED is the ground, then it does not need to be separated, since this is common even at the motherboard end. If it's the +Ve on the LED though, then you'd either need to rewire the LED or, as you have done, separate the connection.

I like the project, maybe it can breathe life back into my old NES. wink.gif

Thanks for all the comments, guys.

SupraGuy...Unfortunately, the +Ve was the shared pin (notice that the current limiting resistor is on the inside post of the LED, which is the one that was shared and the one I connected to +5V). But, even if it was not, I had to replace the wires to the board anyway, as the original NES cable ended in some proprietary connector that wouldn't connect to my motherboard jumper pins anyway. This hack just seemed easier to me than making a shared-ground wire connection.

I actually bought the motherboard and power supply for this project back in 2004. I believe that technology has imporved greatly since then, and the boards and power supplies are much more powerful and much smaller now than ever before. It may even by possible to fit one of these into a SNES case. The DirectPad Pro software supports SNES controllers as well, so I think the only limitation is if it will fit inside. If you have an old SNES as well, I would like to see someone try to breathe life back into that smile.gif
SupraGuy
I looked, and I can't find my NES. I may have left it at the Ex's. If I did, she junked it. (Rightly so, I'll admit.)

I still have my SNES. Hmmm...

Well, it's still probably just easier to get an emulator for my modded Xbox, though I really like the solid-state HDD idea.
Rembrant
Thats cool man. I have a Nintendo here. In perfect working order too. I don't think I want to tear it apart. Maybe I'll Ebay this sucker for some parts money and make one of those. I have a working sega genesis also. I bet I can find a PS1 here too. I only had about 5 of them.
taco_stand
No more having to blow on the cartridges.
amateurhour
mini-itx just got the new motherboards with the intel atom processors in stock, for those interested. They're $100 US and have a 1.6 ghz, which is a little beefier than the epia 800, and can run N64 with the graphics chipset that's onboard.

FYI
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.