Help - Search - Members - Calendar
Full Version: Nintendo in an NES
Lumenlab > COMMUNITY: the hang out... > 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
excal
Hey i'm sorry to dig up a old topic...but i had a question about the resistor on the led you used.

In general i'm sort of a PCB and soldering novice, so i was hoping you might expand upon how you connected the the motherboard to the LED on the nes board.


Within that i have 3 specific questions.

1. In the connection, does it matter which wire coming from the PC mobo gets soldered to which post for the LED on the nes board? If so do you mind clarifying what needs to goto what post?

2. What sort of resistor do i need to use to make this work?

3. If i'm seeing/reading it correctly for the mother board you essentially just desoldered the existing red/brown and yellow/orange wires and then stripped some ones you got from a mother board case and soldered those in their place correct?

I appreciate any help you can offer me.
Pirin
QUOTE (excal @ Jul 15 2009, 04:25 PM) *
1. In the connection, does it matter which wire coming from the PC mobo gets soldered to which post for the LED on the nes board? If so do you mind clarifying what needs to goto what post?

LEDs are polarity dependant, which means that it does matter which post you connect the +5V and which post you connect the Ground to. In the picture I took above, I soldered the resistor to the positive side of the LED (the +5V post), and I soldered a black wire to the Ground post. It doesn't really matter which post you solder the resistor to, but keep the +5V and Ground on the correct post. If the picture is hard to see, you can try to look inside the LED. The post that is connected to the biggest metal area inside the LED is the ground post. I hope that is clear.

QUOTE (excal @ Jul 15 2009, 04:25 PM) *
2. What sort of resistor do i need to use to make this work?

Any old resistor will work; you can pick one up at radio shack. Don't use a huge resister size, as the light will be too dim. I think I used a 1/4 watt 100 Ohm resistor.

QUOTE (excal @ Jul 15 2009, 04:25 PM) *
3. If i'm seeing/reading it correctly for the mother board you essentially just desoldered the existing red/brown and yellow/orange wires and then stripped some ones you got from a mother board case and soldered those in their place correct?

Yes, that is what I did. However, I used those wires for the power and reset switch that plug directly into the jumpers on the motherboard; they were not soldered to the motherboard. The LED was just wired with spare red and black wiring and connected to one of the power supply connectors (the 4 pin connector with a RED, BLACK, YELLOW, and BLACK wire). Make sure you use the RED (+5V) and BLACK (Ground) wires of the connector for the LED.

I hope that helps.
excal
QUOTE
LEDs are polarity dependant, which means that it does matter which post you connect the +5V and which post you connect the Ground to. In the picture I took above, I soldered the resistor to the positive side of the LED (the +5V post), and I soldered a black wire to the Ground post. It doesn't really matter which post you solder the resistor to, but keep the +5V and Ground on the correct post. If the picture is hard to see, you can try to look inside the LED. The post that is connected to the biggest metal area inside the LED is the ground post. I hope that is clear.


Ok so it doesn't matter which goes to which post, but the wire that goes to the +5v LED post needs to goto a +5v on the mobo, and vice versa with the ground. So i just need to stay consistent with it.

And i can determine which post is +5V for the LED by looking in the LED and the post NOT connected to the biggest metal area is the +5v one. I should connect the resistor to this post as well.



QUOTE
Any old resistor will work; you can pick one up at radio shack. Don't use a huge resister size, as the light will be too dim. I think I used a 1/4 watt 100 Ohm resistor.


Excellent thanks...i had assumed it'd have to be something very specific.


QUOTE
Yes, that is what I did. However, I used those wires for the power and reset switch that plug directly into the jumpers on the motherboard; they were not soldered to the motherboard. The LED was just wired with spare red and black wiring and connected to one of the power supply connectors (the 4 pin connector with a RED, BLACK, YELLOW, and BLACK wire). Make sure you use the RED (+5V) and BLACK (Ground) wires of the connector for the LED.


Right.... that makes sense.

Currently for testing purposes, i spliced the wires with ones i cut off a old PC case just to test things out and make sure it works (also thoroughly taped with electrical tape). It does, it works quite well thanks to your descriptions and photos.

I think I'm probably going to solder them to the board before i wrap up the project and close up the case.
QUOTE
I hope that helps.


It does, thank you very much for coming back to answer.


Actually, if you don't mind i wanted to get your take on using the CF card as your hard drive. I've heard they are signifigantly slower then normal hard drives. In your experience did it effect emulation at all? Were you able to play more advanced systems with it such as n64? And If you did it over, would you use one again?

I'm planning on using a 8gb microdrive myself, so i'm quite curious on how you felt it performed over the years.

Pirin
QUOTE (excal @ Jul 16 2009, 03:40 PM) *
Actually, if you don't mind i wanted to get your take on using the CF card as your hard drive. I've heard they are signifigantly slower then normal hard drives. In your experience did it effect emulation at all? Were you able to play more advanced systems with it such as n64? And If you did it over, would you use one again?

I'm planning on using a 8gb microdrive myself, so i'm quite curious on how you felt it performed over the years.

I have had a great experience using the CF card as my hard drive. I don't perceive any performance issues, but then again, I am running Windows 98 on old hardware. However, for just an NES emulator, it works great; it is plenty fast enough, completely silent, draws very little power, and was compatible with the bios immediately.

I have not tried to run any other emulators on this setup, so I cannot speak to that. I would assume it would perform admirably, assuming the motherboard/CPU is powerful enough to run the emulator and games, but that is just a guess.

Hopefully you can post pictures of your NES build when you are finished with it? I am looking forward to seeing it.
excal
QUOTE (Pirin @ Jul 16 2009, 09:54 PM) *
Hopefully you can post pictures of your NES build when you are finished with it? I am looking forward to seeing it.



Ya i'll definitly post some. I've tried 2 seperate microdrives, and they both seem to be bad, so i decided to switch gears and use a laptop hard drive. So i'm just waiting for that to arrive before i go any further with the project.

But i did solder the resistor and setup the LED, which works quite well. I was surprised to realize that the power for the led had to come from a fan power supply, and that the power led slot on the mobo would only make the LED flicker.


Vendeta
Hey thats an amazing job by the way ohmy.gif i might do something like this exceptn instead a console box ill do it inside a monitor of some sort so its a fully portable emulator. My question is what emulator were you useing for it too boot up right to the emulator menu like that?
Pirin
QUOTE (Vendeta @ Aug 3 2009, 06:18 PM) *
Hey thats an amazing job by the way ohmy.gif i might do something like this exceptn instead a console box ill do it inside a monitor of some sort so its a fully portable emulator. My question is what emulator were you useing for it too boot up right to the emulator menu like that?


Actually, the menu is from the FrontEnd software called Game Launcher. But, that is not what makes it boot into the list. I just created a shortcut to the FrontEnd software, and then placed that shortcut in the Startup folder of Windows98. If you click on the Start menu in any version of Windows, there is a Startup folder; Windows will run anything in that folder every time the system boots. You can put a shortcut to anything in there.
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-2010 Invision Power Services, Inc.