DashFest JJ's life and project dumping grounds…

22Jan/114

The NES PC

This project has actually been mostly completed for some time. I just haven't taken the time to rip it back down and take pictures to blog about. Well, today I did. Its different than most other NES PC's in that the PSU is integrated into the NES also. Most others use external power bricks to power. Mine uses a standard PC power cord! It also utilizes the original controller ports for UNMODIFIED NES controller awesomeness. Many others get swapped to USB ports, and they use USB NES controllers, or USB adapters. (Cheaters)

From the front it looks like an ordinary NES.

From the rear it starts to look different.

The first attempt at this build failed, and I ended up starting over. The NES enclosure seemed to not quite have enough room for both a motherboard and a PSU. This is why others end up with a external power brick. I figured out that the TOP of the enclosure actually has more room than the bottom. So I flipped the motherboard upside down, and mounted everything to the top! This is a VERY tight fit, but it works. As you can see, the NES is actually upside down in this picture. The only parts mounted in the bottom half are the HDD, switches, and controller ports. The motherboard backplate needed to be trimmed on one side to match the angles of the NES.

Below is a view of the standoffs that were cut off from other areas in the casing, and epoxied into the lid for motherboard standoffs. Much of the inside of the casings was dremeled off to make room for the good bits.

The original power and reset buttons were utilized, along with the LED. However the motherboard physically conflicted with the reset switch. I ended up removing the switch and replacing it with a much smaller one, epoxied in place. This gave the needed clearance. The original wiring was soldered directly to a section of a floppy connector, which just gets pressed onto the appropriate motherboard front panel header.

The original controller ports are fully functional. You can connect standard NES controllers, and they work great. This was accomplished via the parallel port. You can actually wire many different console controllers to a parallel port, if you use the right driver. The parallel port is capable of handling up to 5 controllers simultaneously! Right now, its just wired for 2. But maybe in the future I'll add SNES/Genesis/etc. controller ports, hidden under the NES cartridge door. :)

The schematics that I found online powered the controllers with the 5v+ available from the parallel port itself. This calls for 5 diodes connected to the port. I also heard issues with the lack of current LPT ports put out, especially with multiple controllers. I decided to scrap the diodes, and go straight for a 5v+ off an unused USB header on the motherboard. This gives PLENTY of current, and I didn't need the protection diodes as USB power is protected on its own. You can see the purple USB header wire in the photo below.  This worked perfectly, and this makes the schematic/adapter wiring only. No parts needed! The motherboard only has a parallel header, rather than a DB25 on the rear. This actually works out perfectly. I used a hacked up section of a 44 pin laptop IDE cable/connector as it has the same pin pitch as the header on the board. The manual for the board kindly gives the header pinout, as it is different than the DB25. The following schematic assumes DB25, NOT the motherboard header


That pretty much covers the bulk of the project. Most of the time was spent dremeling the crap out of the casing. It turned out pretty clean, although I feel I could of done a better job with some of the cutouts.  Ideas for the future include a slim optical drive in the cartridge door as there is enough room.  Might add more controller ports for other console controllers.  I need to build an autostart GUI front end for the emulator, that lets you choose the rom to play using the controllers, rather than needing a kb/mouse.  The reset button should probably be rewired and mapped to reset the emulator, and not the PC.  I have several times now reset the PC thinking I'm just resetting my game! :)

Specs:

MSI Wind Board D510 Intel Atom Motherboard. Link
2GB DDR2 800
60GB Seagate 2.5" SATA HDD
FSP Flex ATX 220w PSU
Currently running XP Pro (yea yea, I should of used Linux), FCEUX for emulation, PPJoy for the parallel port controller driver.

UPDATE! 4-27-11
I installed an optical drive in the NES PC. Check it out:

9Jan/110

Backwards Mario (or other games)

So today I was cleaning the garage, and I see this little cheapo 13" CRT TV sitting there. I was reminded of an old Hackaday post that demonstrated that you can reverse the horizontal deflection coil wires, and get a mirrored image (For some reason I cant find this post). I then thought, "What would it be like to play NES games backwards??"

This is a super simple hack that took me about 30 minutes, but is fun! It adds a new dimension of play to old games.

Find and swap the Horizontal deflection wires on the yoke, as shown here:

Hook up something, and test it out! It took me a couple of attempts to find what pair is horizontal, and which were vertical.

Rip open an NES controller, and cut the 2 traces coming out of the Bottom of the "Left" and "Right" buttons. Expose some copper, and swap the traces using small wire, as shown.

Re-assemble and test... That's it! You can now play with normal controls, on a reversed screen. Here's the result: