Jump to content

All my products and services are free. All my costs are met by donations I receive from my users. If you enjoy using any of my products, please donate to support me. Thank you for your support. Tom Speirs

Patreon

Han's NintendoPi Project


hansolo77

Recommended Posts

So I posted this thread in the Social Club rather than Gamer Rigs because I actually do not have anything yet.  :) This is going to be a work in progress, and I wanted to use the forum as a means to get feedback, suggestions, ideas, and to show off the building process.  It is my understanding that the Gamer Rigs forum is for showing off completed works, and I agree, this thread should probably be moved there once it's completed.

So lets get things started.  A recent post by @Kustom Kid about his creation of a Retro Console made out of an NES cartridge got me thinking.  Here's the link to that -> (link)  I though this was a great idea, but I really wanted to push the capabilities further.  He built this out of a Pi-Zero, the latest micro sized computer about the size of a stick of gum.  While it is indeed awesome to behold, I really wanted to do something bigger.  Specifically, the Pi-Zero is a little too underpowered to be able to emulate some of the more system-resource hogging systems I want to run (namely the PSX and N64).  I'm going to go with a Raspberry Pi 3, which is the latest version prior to the Zero that has more power "under the hood".

Some minor discussions were done as to whether or not I should build this "retro console" into a Killzone 3 Collector's Helmet I had (link).  While I think it would look nice, I feel like there are some major issues with the design.  I like the idea @Draco1962 suggested of putting LED's behind the eyes to make them glow when the power is on.  However, the eyes are in front of a large 2-3 inch piece of plastic which would have to be drilled out and the LED's would have to be glued in somehow.  Not my idea of easy.  Another issue with using this helmet is the fact that there are no buttons.  The thing is just a big plastic box, so I would have to mount some kind of switches INTO it.  Again, not very easy.  And then there's the drilling or dremeling out other holes for cables.  Then to top it all off, the Pi 3 gets very hot, and this thing would allow for NO kinds of ventilation.  When it comes down to it, I think this idea is just too far beyond conceivable.  At least by my capabilities.  About the only thing I'd be able to use it for is maybe hiding the Pi inside it, then taking the Pi out when I want to use it, and then put it back.  So all-n-all, it's not worth it.

So I'm still wanting to do something cool.  Why not gut out a pre-existing console and just replace the innards with the Pi?  That has lots of potential, because you could theoretically use any console out there.  Through my research, I've actually discovered people 3D printing their own mini consoles as a Pi case.  But I'm wanting something more legit.  I found one guy who gutted out his burned out Xbox (not 360 and not One), gave it a paint job, and installed his Pi in that.  Yeah, that would work, but it's not "retro".  So I began thinking back in my past at what consoles would actually look cool to have.  The obvious choices here are things like an Atari 2600, Coleco, Intellivision, NES, Sega Master System.  Later things like SNES and Sega Genesis were also on the table.  I even considered something more modern like an old PSX.  Truth is, you can buy the more modern systems cheaper than the older ones.  When I tried searching local Craiglist, all I could find was a bunch of people trying to sell their complete systems, with controllers, power and a/v cables, games, for $$$ (that's triple digits).  I did find one guy around my neighborhood who wanted to sell his Sega Genesis and CD for $20, but said the CD system didn't work, and the power button was broken off and needed a clothespin or something to turn the thing on.  Um, I think I'll pass.  Since not finding anything local, I decided to try something else.  I knew eBay would be a lost cause, because even broken systems that don't work or have cracked cases were selling for +$70.  So I thought "wait a sec, don't they make aftermarket replacement cases for systems?"  Well they do, and the don't.  Apparently the farthest back you can go for a TV Console system for a replacement case is the PS3/Xbox360.  There were some reports that somebody was making and selling clear cases for the NES, but I also saw something that said the guy was busted by Nintendo for infringing on their copyrighted properties.  Apparently you're not allowed to 3D scan the console and make an exact replica with CNC machines (or however he was doing it) and sell them for a profit.  That kinda sucks because I thought a clear acrylic NES might be pretty sweet looking.  But I couldn't find anything being sold.  I thought a replacement case was a brilliant idea, but nothing is available for the really old systems.  If you're reading this, and know of a place that sells them, let me know!

So I had just about given up.  I found a website detailing steps on how to do just want I wanted to out of an old NES, and even suggestions on where to look for one.  He suggested the BEST places to look are Goodwill stores (where he bought his for $12) and garage sales.  He said not to trust people on Craigslist because there are a lot of con artists out there, and you definitely don't want to go to their house to pick it up.  He said you might get a good deal if you look at video game stores, but said to avoid market chains like GameStop.  There is actually a store near me (in the strip mall behind my house actually) that sells retro stuff.  I was in there one day and was surprised to see he was selling old Atari 2600 cartridges, and even more surprised at the $20-$25 price tags on them, without box or manuals, just the cartridge (and yes, he had 2 ETs lol).  Being able to remember those prices made me decide I probably don't want to buy a used console from him.  No, I was going to have to look online.

So I decided to give eBay another try.  In fact, my first venture yielded the same results.  But there were some promises.  I found a few people selling non-working NES consoles for pretty cheap, but they were auction only.  The only reason they were cheap was because they still had 6-7 days worth of bidding on them.  That website I found with the guy saying to stay away from certain things made it clear that the NES console is not RARE.  There were 3.x billion units sold.  What is RARE would be the unopened boxes.  The price for a working console should be no more than $30.  A non-working console between $12-$25.  So seeing auctions for an NES with a starting bid of $45 was off the table.  Auctions that were at $20 after 1 day of bidding were off the table.  No, I decided to change my parameters to BUY IT NOW only, and sorted my results by Price+Shipping Lowest First.  That would yield for me the quickest way to find something in a price range I was looking for.  The "cheapest" it offered was $39.99 with free shipping for a BROKEN console.  The next one up was $25.99 with like $14.99 shipping.  Then there was one for $35.99 with $9.99 shipping.  These were all BROKEN consoles.  I didn't care if they worked or not because if they DID work, they weren't going to be when I got done!  So I didn't find anything today, and set up a saved search with immediate email notification.  Then I closed the site down and went and had dinner.

Within 30 minutes, I had a ping, and it was golden.  A guy is selling a non-working NES complete with a possibly working game, with free expedited shipping, for $25.  I took a few glances at the photos to see if there was any MAJOR damage, and from what I can tell, there is none.  So I pulled the trigger on that bad boy, and started the order.  Paid it with PayPal, and already got my confirmation email the payment process was successful.  So now the ball is rolling!

Stay tuned for more exciting updates! 

Link to comment
Share on other sites

Some of you may be thinking.. "What's wrong with this guy?"  And yes, I'm thinking that too.  Given my current living situation, my desire to buy a car and move the f^ck out are heavily burdening me.  BUT... as per (was it @RIP-Felix's?) suggestion, I've reworked my budget.  My new pay increase is in effect, and I'm now saving $100 off each paycheck into savings.  My current budget allows me to "splurge" about $50 a week on things like Pop, Break Food at work, and "toys" for lack of a better word.  After breaking down my bills, paying off my doctor, making my weekly rent payment, buying some Distilled Water for my CPAP machine, and some Pop.. I have about $35 to spare, minus about $15 already for budgeted break food.  Now clearly I could cut myself completely dry and deposit the full $150 extra rather than the $100.  But I was only depositing $50 before, so this is already double that.  Plus all the excitement of a new project has got my head spinning.  I can't wait to see how this turns out, and it's easily affordable with the weekly budget I'm now using.

Link to comment
Share on other sites

Can't wait to see the progress. I grabbed a Pi 3 Model B for $30, and 64 GB SD card for $12, at Microcenter yesterday. This is probably the best, not stupid expensive, power supply you'll find as well. This PlayStation/PS2 controller USB adapter works great as well. You can probably do the entire build for about $100.

Living situation aside you still have to do something for yourself once in a while. Real talk. A few years ago my (now ex) girlfriend left and took our son with her. A year later I lost my house paying lawyer fees to be able to see my kid, getting child support setup (more legal fees!) and because I made some bad choices as well. I lived with my parents for 7 months to get my stuff straight and sort my life out. If I had lived a hermit's life and didn't do anything for myself, no matter how small, I may have moved out a month or two earlier, but I world have been even more miserable. I'm back to good, so I believe you can do the same. 

  • Like 1
Link to comment
Share on other sites

Yeah depression hit me really, really hard last week after "Sweetest Day".  That whole reality of still being single at my age, having never had a girlfriend, really upsets me.  I'm not fat or ugly or anything, not like that really has anything to do with it.  I have a fat friend (who I don't find attractive, but I'm a guy too) who has a girlfriend, and hasn't had any issues at all finding love.  So I don't know what my problem is.  I've had "flare ups" you could say of repeated major downers whenever that single life slaps me in the face.  I've been dealing with it since High School, although I've been clinically diagnosed with depression and anxiety since I was 12.  So the whole situation I'm in, living at home, no car, no girlfriend, etc, really gets to me some times.  Having things like this to keep me occupied really helps keep me on the level.  I feel like "I'm not going to suicide till I get this project done!"  But in reality, I'll never kill myself.  As low as I get, there's still no reason to lose your life over it.  Plus, I'll totally miss out on all the new Star Wars movies.  :)

That link the PlayStation adapter you posted doesn't work.  But I'm not too worried about that.  I have a PSX-USB adapter already.  Also, I really like the price on that power adapter you posted too.  However, I really don't want to use a cut off switch.  I'd like this setup to last, and there is always the possibility of SD card corruption (just like in Windows) when you completely turn off your device without properly shutting down.  That's why I found this:

http://mausberry-circuits.myshopify.com/collections/frontpage/products/shutdown-circuit-use-your-own-switch

It works in a similar way as the inline cut off switch with one important distinction.  It includes wires that connect to the GPIO on the RPi.  By running a script that watches for signals on the pins you connect them to, you can tell the RPi to shutdown gracefully.  Once that's done, it cuts the USB power.  I also like that it has LED contacts, so I can wire up the power LED on the NES as well.

So my plans right now are obviously to wait another week before I can buy the next part of the build.  I'm in the process though of working out what all I'm going to do.  Obviously there's the RPi3.  I'm going to get a USB powered external hard drive to store all the ROMs on.  The tricky thing there is finding one that the Pi can actually send enough juice to without needing an external power source.  The other thing I'm thinking about is some kind of USB hub that I can mount inside the cartridge slot so I can connect controllers to it.  They make a lot of USB controllers that are exactly like the originals.  I've seen NES, SNES, and Sega Genesis/Mega Drive controllers.  I've not seen but would love to find an Atari joystick.  But in the mean time, I've found a lot of success using the Xbox 360 controller I bought with the wireless USB dongle.  I thought about maybe taking the dongle apart, and rewire the push button that activates the pairing with a controller to the RESET button on the NES.  That way if I get another controller, I can just push the reset button and then the connect button on the controller.  The problem with that though is removing the RESET function.  If I decide to get some classic USB controllers, I'd need to somehow set up a way for the system to return back to the main menu system without having to completely power cycle it.  So ideally I could use the reset button and wire it to some other GPIO pins that control another script to send the magic key press that is assigned to return to the main menu.  By default with the Xbox 360 controller, that's the GUIDE button.  But there isn't one of those on those classic controllers.  I just don't know what to do there.  Maybe I'll just go the USB hub route, and just have the Xbox wireless dongle connected to that.  Then I can still use that, and still rewire the reset button incase I use a different controller.  The other stuff I'm going to have to do is purely cosmetic.  There have been people re-using the power connector on the NES, and just wiring up the contacts on the inside to a micro USB plug for the Pi.  I'm not sure if I really want to do that.  I mean, it will look better, but I'm not sure about the voltages/amps.  I'm not an electrician so there's probably things happening there I'd need to take into account.  I really need to decide though which way I'm going with it.  The other plan is to just cut out a hole and wire up the micro USB on the Pi to some pigtail and mount another micro USB plug to the NES case.  The same kind of issue is with the HDMI port.  I was doing some research, and thought about maybe connecting the HDMI port to an adapter that converts the digital signal to analog, and then just run some wires to the pre-existing ports on the NES.  Again, that would make for a nice pretty case.  However, I don't know if it's really worth the effort, since those converting adapters are rather pricey ($30-$50).  Plus, I don't know how well the system would look on that type of signal.  The only real reason to do that would be for nostalgia and connecting the original plugs to an old TV.  The problem there is plainly "I don't have one!"  I have an AVR with composite RCA plugs on it, that I currently have my PS2 connected to.  So I know such a thing does work.  But is it worth it?  Again, the alternative is to wire up an external port on the NES case for the HDMI plug.

Argh, so many decisions.  I just don't know what to do.  So here's my list so far:

  • Obtain an NES (ordered waiting for delivery)
  • Obtain an RPi3 (and necessary components like power, HDMI, SD card)
  • Obtain power switch circuit
  • Obtain external USB powered hard drive
  • Decide on classic controllers or rewire reset switch for Xbox controllers (now that I've thought about it, probably use a HUB)
  • Decide on re-using pre-existing power connector
  • Decide on re-using pre-existing RCA plugs

The rest of the stuff, like the actual software, will be a work in progress.  I'm going to backup the SD card I currently have in my existing Pi3 today, and see what kind of tinkering I can do.  I've heard a lot about RetroPie, and think I'll probably use that.  I want to get "get my feet wet" and dabble around with it.  Get familiar with it.  So I'll probably be working on that kind of stuff in the interim of obtaining all the stuff I need.

So input time.  What do you guys think I should do with the decisions I need to make?  Help me figure out my best course of action.  There is another possibility here too...  If this all works as planned, I may decide to build another one for my brother.  Or perhaps I can give him this one and I'll make another for myself.  Maybe I'll go the easy route first and not reuse anything for now, then on build #2 I can incorporate all that.  I'm excited to see where this goes!

Link to comment
Share on other sites

Touche! However, my wife have me two great kids, so there is that. The list is pretty short though and I would love doing my own thing most days. Gotta weigh out the pros and cons I guess! :)


Link to comment
Share on other sites

Just thought I'd post an update.  Yesterday I got an email from eBay saying the NES console had shipped.  It's coming from Staten Island (NY) and is coming to Columbus (OH).  He's sending it with free expedited shipping.  I got the tracking number and checked it's status today.  According to the USPS, it's still in New York, but has an estimated delivery of Wednesday.  So they'll probably be putting it on a plane some time today/tonight and it'll arrive here later tonight or in the morning.  Then the mail man will have it dropped off by the time I get home from work.  EXCITING!!!

In other news, on Sunday I backed up my existing RPI3's SD card (took a while, it's 32gb).  I then formatted it an put RetroPie on it.  Their "EmulationStation" frontend looks a little like one of the GameEx views, but it's lacking any kind of video snap support.  That's ok, but kinda a bummer.  In fact, I did a test and put a whole bunch of systems on it with 1 ROM each to see how well it handles things.  Turns out, the system becomes unstable with the theme I picked (Zoid).  I've been asking about it on the RetroPie forums.  It might be because there's too much information being loaded into the Pi's memory with 10+ systems, and it runs out of memory before rendering the screen.  All you get is what they call the "White Screen of Death".  There's suspicions that increasing the "memory split" (which controls how much of the onboard RAM is used for GPU<->CPU) will give you more room to load the information.  Then somebody else suggested that he thinks it might due to the resolution of the various backgrounds for each system.  The idea behind that is that their "low-end" themes that work use a "static" background, which I took to mean they're the same background for each system.  The newer themes have different backgrounds for each.  But I threw out a "not true" to them, because one of the themes that works (Metapixel) has different backgrounds, but loads up fine.  The suggestion then came that maybe it's the resolution of the backgrounds.  If Zoid is 1080p, maybe reducing them to 720p would fix it.  I'm going to experiment with this on my day off (Thursday).

So when I'm using a cheap/crappy theme everything as far as the menu system works.  I was able to run their metadata scraper against the ROMs to get all the stuff like game details, year, # of players, box art.  I imagine there is a way to change the artwork to screenshots if I wanted, will need to investigate further on that.  But I'm like 99% sure there's no way to have video snaps due mostly to the themes using so much memory as it is.  Had I not planned on running this on a RPI, I probably wouldn't have had any issues (like if I built on an ITX board or something).  But I like it so far.  Just takes some getting used to after getting comfortable with GameEx.

So I did hit a few snags though, and I'm trying to figure out what happened.  When I went through and first set up the controller (Xbox 360), I did it inside RetroPie.  I then used their menu scripts to launch RetroArch directly so I could configure things in there like my RetroAchievements account, and the in-game controller mapping.  After doing that, I can now return to RetroArch from within a game by hitting the GUIDE button, but I've lost the ability to exit a game back to the RetroPie menus by pressing the default exit combination (START+SELECT/BACK).  So I'll have to investigate that.  One way I'm thinking to solve that is by running a script and have the NES RESET button actually trigger exiting the game for me.  I mean, I don't really have any use for that button, so that's one possible thing I can do with it.  Another issue I had was when I was play testing some of the games, I came across Adventure for the Atari 2600.  When I tried to launch the game, the screen fades to black (like always) and then just sits there.  It doesn't play the game, and it doesn't return to menu.  I have my spare USB keyboard hooked up so I hit ESCAPE trying to return to the menus, and instead it loaded the ROM!  Not sure at all what the deal is there.  I exited out of the game and tried to load it again.  Same thing happened, only now when I hit ESCAPE all I have is a display of the console screen showing ^[ every time I hit it.  When I hit ENTER, it just carriage returned down a line.  I pressed every key and every controller button with no success.  I had to completely reboot the Pi.  So I'm going to have to go through and figure out what happened with the help of the RetroPie forums.

But yet, at least I'm getting somewhere.  I made a new backup of RetroPie SD card, restored my other one, and I'm back to the way I was before.  I use my primary Pi as a Media Center (Kodi) and can't go without it.  :)

More updates to come!

Link to comment
Share on other sites

Ok, so I left for work this morning.  It was raining.  And on my door step, getting wet.. was this very interesting looking box.  It was covered in paper and Priority Mail tape, and my address.  The paper was ripped and falling off.  And the box it was covering was sopping wet.  Nobody rang the doorbell, and the mailman never bothered to try and put it inside the screen door.  Nope, just left it sit out in the open for everybody to see and to get all wet.  I don't know how long it was out there, but I quickly brought it inside then left for work.  I spent the whole day today all excited to see if the NES was damaged in any way.  Luckily, when I got home and opened it, it looks just like the pictures from the eBay ad.  In fact, here's the ones I have of it so far...

Image #1 - The box.  Shipped in some kind of parchment paper.  It's not thin like wrapping paper, but I don't know why it's red on the inside.  This photo was taken with my Canon EOS Rebel T3i using ambient light.

IMG_1266.JPG

Image #2 - The box again, with an extra side light and my built in flash.  For some reason I thought the first image seemed a bit dark, so I retook it.  The box itself was just a large box of trash bags lol.

IMG_1267.JPG

Image #3 - The NES console!  Front View.  Honestly, this thing is in pretty great condition.  The ad said that the cartridge doesn't stay down, which I confirmed.  The power button stays in when pressed, and comes out when pressed again (like it should).  I saw some reports that the power button might actually stick and be permanently on, mine is safe from that.  Cosmetically the front and top of the case looks great.  There are some minor blemishes that honestly I think gives it more character.  Things like a little fleck of lighter gray/white in the bottom left corner of the frame around the power button, some scratches here and there, a dark streak across the top of the case, and some dirty "fingerprint" smudges on the lid.  The fact that this lid is intact is a great call-out to the owner, because these have been known to break.  The only other issue I see (besides dust in the controller ports) is directly above them, where it looks like part of the black was shaved off.  Having never owned one of these, and not seeing one in so long, I can't say for sure but it might be just the way it's made.  As for the top bit, there is some dust in the vents along the right, but that's easily cleaned out.  And honestly, I don't see any yellowing.  The only yellow you see is because of my light.  Once I get this apart tomorrow, I'm going to give it a good washing, so pretty much anything like dust and marks will hopefully be washed away.

IMG_1268.JPG

Image #4 - Right Side.  Nothing really to mention here.  There are some scratches across the top half, where it looks like it might have been pushed up against something like a TV, and was forced, but the scratches aren't deep enough to be noticed unless you're looking for them under the right light.  The only other "issue" here would be the sticker labels are scratched, but again, this is hardly something to cry over.

IMG_1269.JPG

Image #5 - The Back.  Once again, there are some noticeable scuffs, scratches and scrapes.  But seriously, that's ok.  I mean the thing is USED.  I'd be pissed if I just bought it brand new and took it out of the box and see this kind of stuff, but it's not.  It looks great to me.  There appears to be some gunk (like dust built up, or a piece of carpet or something) stuffed up inside where the channel selector switch is.  It'll get cleaned out.  This brings up a good opportunity to ask about this section in my build.  I've seen people re-using the power "barrel jack" to power their Pi's.  It helps keep the case looking clean without having to cut out a Micro USB hole.  What do you guys think, should I look into do that?  I feel I should mention however, this was just the console.  The seller did not include any cables like POWER, A/V, or Controllers.  The only thing he did include (besides some grocery store ads for padding in the box!) was a copy of Tetris, which may or may not work.  One other possibility I might do is actually just remove the plugs, run a pre-attached USB cable through it.  Of course the downside of that is having an always attached USB cable, but is that really a problem?  What do you guys think?

IMG_1270.JPG

Image #6 - Left Side.  This is almost the best looking side.  There aren't any scratches or scuffs.  Just a small bit of black smudges down on the lower left side.  Again, hardly noticeable and most likely washable.

IMG_1271.JPG

Image #7 - The Front Again!  You can see the previously mentioned fleck of discolored paint on the frame to the bottom left of the power button.  Also, this time I took a photo with the the lid up.  That's the Tetris cartridge in there.  I took that out, and it looks like it's in great shape.  I suspect the mechanism that locks the tray down is broke.  But I don't really care about that.  I did do a quick measurement (didn't take a picture of it) with the USB Hub I'm planning on using to see if it fits and how it looks.  I gotta say, it fits in there just perfectly.  I'll have to come up with a good way to secure it, but it looks really nice in there.  One thing about my HUB.. it has this crazy super-bright BLUE LED that can actually light up my room when the lights are off.  I'm thinking that would look pretty stupid inside the NES.  So I might disconnect the LED and maybe swap it with the RED power LED.  Make it look a little more modern (even though retro was the whole idea!).  The idea with a HUB is so that I can easily plug in things like extra controllers, a keyboard/mouse, etc without having to take the case apart to get to the USB ports on the Pi.  Speaking of which, does anybody know if you can use multiple HUBs or would that be drawing too much power?  I have this idea of connecting the original NES controller ports to a USB cable, and run that to the PI, and also add some DB9 plugs for Sega/Atari controllers that are also USB.  I'll also have a USB for the internal hard drive when I get it.  So that's 3, and then the 4th for the HUB.  But that might be really tight as far as availability.  I was thinking about maybe doing 2 USB HUBs, one internally accessible and the other external.  Then connect all the things I need to the internal.  But I don't know if it'll work given the power requirements.  There's another option though.  I can connect the NES controller plugs to the GPIO pins on the Pi, and the Pi can detect the controllers via drivers.  There's just so many options, I don't know what to do.  I'll have to come back to this.

IMG_1272.JPG

So that does it for my update today.  I'm still playing around with my pre-existing Pi and the software side of things.  I'm having some trouble with the controller mappings.  I don't have any controllers except my old Saitek P2500 and the Wireless Xbox 360 Dongle.  I haven't hooked up the P2500 yet, just been using the Xbox controller.  See, when I first powered up the system, it prompts you for all the buttons on the controller, and then runs a bunch of scripts configuring the RetroArch cores automatically.  Ok great.  Their default button mappings include a function "START+SELECT" to exit out of the emulator.  GameEx does that too.  The problem I'm having is that rather than using this default mapping, I went into RetroArch and manually reconfigured the mappings so I could use the GUIDE button to return to RetroArch (so I can adjust settings or reset the emulator).  So in doing that, I've lost that "START+SELECT" functionality.  According to the RetroPie forums, that's a simple enough fix.  But I'm not good at all with going into files and manually making changes.  It requires running a program to identify the keycodes the controller sends, then adding them manually to each and every console's config file.  Seems like a lot of extra work.  So I'm thinking about restarting and seeing how well the original mappings work.

Something else I'm going to have to figure out is how RetroPie/RetroArch work with different controllers.  All this time I've been tinkering, I've been using just 1 controller.  So what happens if I add a 2nd Xbox controller into the mix?  What if I use the P2500 and the Xbox together?  What if I go and buy some NES controllers, will that screw up the mappings from the Xbox controller?  There a lot of unanswered questions.. so I'm going to have to find out sooner than later!

Tomorrow (or rather tonight in about an hour or so) is pay day.  Direct deposit happens, and some of the money gets automatically put into savings.  Then Dad/Louise take $60 as my "cut" of the bills.  It's down from $80 this week because I actually found a $20 bill on the ground at work earlier this week, and ended up giving it to Louise so she could get her pain meds (very sarcastic "boo-hoo" here).  I mean, if you can't afford the prescription, why did you order the refill?  But she said she'd pay me back, or count it towards this week's rent.  She never paid me back, so that's that.  On the plus side though, that gives me an extra $20 this week.  I already planned on buying the Pi3 because I was able to save $23 this week by not buying food on my breaks lol.  So now I can get that, and I'll go online and order that Mausberry Power Circuit.  Meanwhile, I'm still chugging away on the software!

Stay tuned for more updates!

Link to comment
Share on other sites

Day #? - Ok, I started on Saturday, so this is...

Day #5
I woke up early this morning, which is strange for me because I went to bed around 1:30am last night.  I was up posting things on the RetroPie forums asking for support.  If you recall, I found an NES to USB adapter on a website called Raphnet-Technologies.  Their circuit essentially converts the 2 NES ports into a MicroUSB female plug, which you would then run to your Pi.  The nice thing about it, besides the fact it controls BOTH ports, is that it fits directly in place of the pre-exisiting ports.  I've seen photos where people have done this, and say it works great.  So my thoughts were to either wire up the pre-existing wires to the GPIO pins, or use this.  Then I decided I also wanted to have 2 DB9 ports for Sega and Atari controllers.  That brought up a problem in that if I wanted to, I could wire those pins to the GPIO as well.  But if I did, I couldn't wire the NES too.  So I'd have to do one or the other.  Then I found this little plug that converts DB9 to USB as well.  So, I can use that instead of the GPIO.  Trouble here is, if I connect the 2 NES ports via 1 USB, and then get 2 of these adapters, I'm down 3 USB ports.  That leaves room for the hard drive, but no way to connect a HUB.  I didn't realize this until last night when I was writing up my questions to their forum.  So I figured I'm going to have to use the GPIO for something, and I was probably going to go with the NES plugs since they have less wires to deal with.  Then I found this on Amazon.  It converts 2 DB9's into USB, rather than just 1.  So that would solve the problem right there as far as not enough USB ports.  I can use the extra USB port for the HUB.  So unless somebody talks me out of it, saying it's not compatible or has issues, I'm going that route.  USB is always easier than trying to de-solder and re-solder and run wires and install scripts, etc. 

So as I said, I woke up early this morning.  Not sure why at all.  I was just "awake".  So after getting my morning Mountain Dew (I only drink 2 a day, one as my morning coffee and one when I eat dinner), I began dismantling the NES.  I didn't take a final picture, and I didn't take them as I was going.  I had already removed all the screws (which my floor is now covered in) and just recombined all the layers to retake pictures (for @stigzler lol).

Image #1 - This is after removing the top cover.  There are 6 screws on the bottom for this, simple Phillips.  However, I think somebody had previously tried to fix this, and lost some screws as there were only 4 for me lol.  Interestingly, as soon as I removed that top cover, the cartridge slot started working like it should, by locking into place when pressed down.  I'm kinda bummed I went forward with this.  I bet this console worked fine.  The seller said the only issue he knew of was that the slot didn't lock so you couldn't boot anything.  Well now it works.  <grumble>  So moving forward, the next thing to remove is the top metal shield.  This had like 5 screws in it.

IMG_1273.JPG

Image #2 - This is the look of the console with the top shield removed.  The cartridge slot is the next thing to go.  There were like 6 screws holding that thing down, but once those were removed, it was simply a matter of jiggling the whole plastic thing forward, then up and out.  The cartridge slots in the back are actually mounted to the motherboard, and the tray mechanism sort of just slides up underneath it.

IMG_1274.JPG

Image #3.  Here we can see the motherboard in all it's glory.  Well, not really.  I didn't take a picture of the other side where all the good bits are.  I'll do that later if you want.  This is the bottom, where you can see all the solder contacts.  The cartridge contacts at the top is actually just a little plastic housing that has female connectors on it, and it slides onto the motherboard at the top into a male slot that looks like another cartridge.  If you're good with this kind of stuff, think of it as an old Parallel ATA type connector, before IDE with 40-pins came out.  :)  On the other side of the board you have all the IC's, RAM, Resistors/Transistors/Capacitors, etc.  There's also a slot for the never-used expansion slot.  Kinda neat.

IMG_1275.JPG

Image #4 - Motherboard Removed.  This was when I actually remembered to start taking pictures lol.  There were something like 8-10 screws to remove this.  I had removed all the obvious ones, then discovered the thing was also connected (probably for ground or something) to the Power/AV box in the top right corner.  So I ended up having to remove the whole thing as one piece, rather than leave that box connected for re-use.  Maybe my system is a newer model?  I've seen pictures and walkthroughs, and all of them show this is capable of being left intact.  Oh well.  For future reference, the print on the motherboard reads "(C) 1986 Nintendo   NES_CPU-04.  Not having those plugs looks nice too.  If anything, it's giving me more room to just run the power and HDMI cables through and just have them hard connected on the PI, rather than have them removable.  I'm not going to like permanently attach anything though, so if something happens I can always just replace the cable.

IMG_1276.JPG

After that last picture, I removed the controller plugs and the switches.  The controller plugs were simple... there is a black piece on the outside covering the plugs.  It unscrews with 2 screws on the bottom.  After removing that, it's a simple matter of just pushing the plugs from the back out the front, and they're gone.  The switch block was a little more difficult.  You can't see it in the last picture, but there are actually 2 screws, and the 2nd one is under all those wires and the zip tie.  I had a difficult time getting a hold of the screw head with my screwdriver, but it eventually came out.  Removing it was difficult too, because the LED's plastic casing was stuck in the hole on the front of the case.  But I got it loose with some gentle even pressure and it came out.

So I just got done running the whole case through the bathtub shower.  I've read of people putting it in the dishwasher, but we have one of those new low water high heat washers, that actually warns not to put some plastics in.  Anything thin could melt, even some glasses that are labeled "Dishwasher Safe".  I didn't want to risk it.  Plus, my folks don't know I'm doing all this yet, and I'd hate to put it in a washing cycle and have to explain to them what I'm doing.  :) As I was rinsing out all the crap, I used a rag and scrubbed all the marks and scuffs.  To my amazement, many of them were completely removed.  Even the fleck of white in the corner of the power switch was rubbed out.  I thought for sure that was a chip of missing plastic.  The only things I couldn't remove were the black scuff marks on the bottom half on the left side, and all the dust and grime built up in the vents on the top.  I'm going to hit those vents with some Q-Tips, and then try some cleaner on the scuffs rather than just water.  Another astonishing discovery after cleaning is that the console had not yellowed AT ALL.  There were black plastic pieces at the back and front of the top of the case that are just a cosmetic addition.  When I removed them to wash (because they're attached by metal screws and I didn't want it to rust), the gray plastic I exposed underneath them were the exact same color as the rest of the case!  This is awesome to the max.

I've got all the parts laying out on a towel and a fan blowing on them now to try.  I'm heading out to MicroCenter to buy the Pi and various knick knacks.  My combined budget with the rent taken out and $20 for a weeks worth of "break food", is about $180.  So stay tuned!

Link to comment
Share on other sites

Ya see Hans - yer fab at those pictures - they're nicely staged, lit and presented. They also set this thread alive. You'd have the guys over at BYOAC salivating with this kind of build thread! 

:) Great work, fella - very interesting and will follow your build with interest. 

Link to comment
Share on other sites

38 minutes ago, stigzler said:

Ya see Hans - yer fab at those pictures - they're nicely staged, lit and presented. They also set this thread alive. You'd have the guys over at BYOAC salivating with this kind of build thread! 

:) Great work, fella - very interesting and will follow your build with interest. 

Agreed! Would it be too much to ask for a detailed parts and cost list? I know that some of the costs will vary with different sources, but it gives a ballpark figure for those that may be inclined to follow suit.

Link to comment
Share on other sites

Thanks for the mighty praise guys!  This project has really helped pull me out of the depression I was feeling last week. I just got back from MicroCenter.  Got some sweet deals, and didn't break the bank.  I still have about $80 to blow spend on parts.  The plastic parts are all dry, so I'm going to go over the scruffy parts a bit with some Sea Breaze I have.  It's expired, so I won't use it on my skin anymore, but I've found it's Salicylic Acid combined with the Alcohol in it works as a great cleaner for things like this.  The only problem after using it, it makes your fingers and things feel sticky.  But it works.  So I'm going to do that on the case before I go any further.

For @Draco1962, here's a rundown of my cost thus far...

  1. NES Case - $25 on eBay (Reported damaged, but the case is all I need)
  2. Raspberry Pi 3 - $29.99 at MicroCenter (it was on sale!)
  3. 2x Heat Sinks - $0.99 each at MicroCenter (my experience with RPI3 is they get HOT, this will help)
  4. 3amp 5.1v USB Power Supply - $10.99 at MicroCenter (the biggest amp/volt supply they had, and more power than the ones in the prebuilt box packages)
  5. 1tb WD My Passport Ultra USB3 Drive - $57.99 at MicroCenter (another sale item.. crazy 1tb for under $60)

Total then for now is $125.95.  This of course can be reduced if you have some of the things already.  Namely, if you already have an NES, and a hard drive you want to use.  I didn't list them because I'm using the ones I already have, but you also need a microSD card (roughly $0.50 per gb), and an HDMI cable.  And if you plan on doing what I'm doing, you also want a USB hub (around $5 for 4-port USB2, and $20 for 4-port USB3)..  I already have these.  Next on my shopping list is the Mausberry Circuit for $16.99 (and $3 shipping) and then to decide if I want to use the NES-USB or NES-GPIO connectors and buy what's needed for that.

Would one of you kind peeps help me with that?  I need to decide which to use, and then on the DB9 if that Mayflash adapter is good.

More updates to come!

Link to comment
Share on other sites

NO!  HOW DARE YOU?!!!  Now nobody will ever see it lol.

Anyway...

I ordered that Mausberry Circuit.  Not sure how long it'll take to get here.  It's shipping first class (cheapest at $3) vs Piority ($6).  I don't need it in a hurry though.  This will give me more time to get all the kinks out.  I've also done some rudimentary sizing to try and figure out the best placement for everything inside the case.  At first, I wanted to use the cartridge slot tray.  I figured it would help keep more of the original intact, and also hide some of the internal components when you look down into it from the slot.  But I quickly discovered that there isn't enough clearance for that and the Pi.  While it FITS, there's no room for airflow.  That's a big no-no.  I need to allow the thing to breathe because of the high temps the Pi3 gets.  Nope, gonna have to ditch the tray.  So I then looked around for other options.  There is a screw hole in the back center, with a drop pin next to it that the Pi can actually fit snuggly into.  It can take an NES scew with some light force (not enough to crack or split the circuit board) and the pin can go right in one of the other mounting holes.  But, this is hardly ideal.  It places the USB power and HDMI ports on the far left side which essentially cuts about a foot out of the length of cable you can use.  The HDMI cable I'm using is only about 3 feet to begin with.  So I decided not to go that route either.  I've seen a lot of builds where people are mounting them using custom created/3D printed mounting brackets so you can use the existing screw holes, but I don't have that luxury at my disposal.  So I'm going to have to do a bit of hole making for screws.  I actually found a nice place inside the case that will work.  It's raised up so the Pi doesn't sit on the bottom, thus providing airflow.  And the hole positions line up with the cable channel for the would-be expansion device, so the screws won't be visible.  I'll just need to go to the hardware store and buy a couple of washers so I'm not screwing directly into the case.  I also fiddled around with placement of the hard drive, and found a really nice resting place.  It sits centered on a screw post, and kinda hangs over 2 others.  It "works", but it's the only place I can fit it without doing some serious effort.  I guess there's always the top cover... but there's no way to mount it.  I'll have to think of something for this.  -Updated, see below-

So now that I've got that figured out, it's just a matter of doing it legit like, and having all the parts working together.  I also took a picture of the location for the HUB, in case anybody was wondering how that looks.

Image #1 - Placement of Pi and Hard Drive (preliminary)

IMG_1277.JPG

Image #2 - USB HUB.  And notice, nice and shiny clean with no black scuffs across the top and the "fleck" by the power button is gone!  :)

IMG_1278.JPG

-UPDATE- Image #3 - New Hard Drive Placement.  (it's on the left)  After some rethinking , I looked at another option for the drive, and thought "does it have to sit horizontally?" In my experience, orientation doesn't really matter.  Now, that would be especially true if this were an SSD drive, but it's still a platter drive, with 5200 RPM.  So maybe this might not be such a good idea.  BUT... they have server farms out in the world with drives positioned this way, so maybe it'll be fine.  It's not like it was terribly expensive, and I can easily replace it at the price I paid if it fails on me.  I like this placement a lot better, and it makes for much easier removal to update files on my computer.  The position is relatively stable here too, being held up by a few screw mount posts.  I'd just need to reinforce it with something.

IMG_1279.JPG

Link to comment
Share on other sites

So I had a little problem with where the RPi sat in the case.  I couldn't get the USB HUB to reach the USB ports!  So I've had to rethink it's placement again.  I think I found the sweet spot.  It's directly over the removable plate for the expansion port, rather than above it.  This brings the Pi closer to the front of the case to an area where the USB HUB can reach.

IMG_1280.JPG

As you can see, my HUB is more or less just a dongle, with only about a 3 inch long cable.  That's ok though.

Moving forward.... I'm starting completely from scratch again, now that I've spent some time working with the system and have become more familiar with it.  The one thing I wanted to do though was to test and see if everything would work (minus the NES/Atari connections) the way I planned.  I have the case top off so the HDMI can run out, and the microUSB power cable going in through one of the open holes in the back.  I have the HUB connected and the hard drive.  I then connected the wireless Xbox dongle to the hub, as well as a keyboard.  I then powered everything up.  It did it's routine of installing RetroPie, and then takes me to EmulationStation (their "GameEx").  The on screen prompt is for me to hold a button down to configure the controller I'm going to use, or press F4 to cancel.  Well, there are other things I need to do first, so I just hit F4.  Unfortunately nothing happened.  Turns out the keyboard I have doesn't work through the HUB.  So I'm going to have to (at least for now) leave the keyboard connected directly to Pi.  I suspect it's a problem with the power requirements of the keyboard, as the USB Hub isn't externally powered.

So onward. 

The first thing I need to do is adjust the overscan for my TV.  To do that, you go into the menu for RetroPie off the main screen, then launch "RasPi-Config".  This brings up a menu to configure the RaspberryPi, versus configuring the Software/OS.  In the config screens, go to "Advanced Options" and then Overscan".  It will ask if you want to enable it.  For future reference, it's already enabled, which reduces the screen size to about 90%.  Since I'm using a full screen 1080p TV, I don't need that, so I chose "NO".  This disables it.  Follow the prompts to back out, and then reboot.

The second step is enabling the WiFi (Pi3 only).  To do this, on the RetroPie submenu, go into "WIFI".  This brings up another set of menus.  Configuration is easy, and actually automatic if you don't have a password on your router.  I do, so I have to go in, pick the correct router, then enter the password for it.  This is another reason I needed the keyboard, because there is no way to enter text with a controller.  Once that was all set, return to the ES Menu (RetroPie).

The next thing I need to do is get the hard drive working.  It is automatically detected and mounted in the Pi's system, but RetroPie doesn't know it's meant to be used for storage.  By default, any kind of USB attached storage is set up to be used as a means of transferring ROMs to the SD card.  The idea is, you put you ROMs on a thumb drive, plug it in, and RetroPie will detect the ROMs, compare their MD5 hashes to it's known databases, and move the ROMs to their designated locations automatically.  When it's done you would unplug the thumb drive and be off to your next great adventure.  Since I'm using a hard drive as a permanent storage solution, I have to disable that "plug and download" feature.  It's easy to do.  Before we do that though, we have to update the Setup Scripts.  This is "just in case" there is a new version that fixes any bugs or adds new features.  In the RetroPie Setup series of menus, you go down to "Update RetrpoPie-Setup script".  Then select YES.  Then it downloads the script, then you press OK.  The script is then "installed".  Then you press OK again.  Then OK one last time on the legal disclaimer.  Now you want to go down and reboot the system, so any new changes will take affect.  Now we're ready to get the hard drive working.

Go into the RetoPie Setup, and go to "Configuration / tools".  From here, go down to ""usbromservice" and then "Disable USB ROM Service".  Click OK/YES, and then back out to the main menu.  Close down with the Restart again, so the hard drive is remounted as a regular device instead of a thumb drive ROM manager.  Now you have to do some SSH'ing via Putty, or if you don't have that, you can use the built in console by pressing F4.  Doing it locally in the console requires a keyboard connected to the Pi.  For reference, should my steps be too confusing, I'm using this link for the steps.  The SSH login is "pi" and the password is "raspberry" without the quotes obviously.  Once connected, you want to type "df" (df stands for Drive Filesystem).  This will give you a breakdown of the file systems on the the Pi.  What we're looking for is the location of the hard drive.  It is typically listed as "/dev/sda1" and mounted on "/media/usb0".  If it's not, you'll want to make a note and change the next command as needed.  The next thing we want to do is MOVE all the RetroPie ROM and BIOS folders to the hard drive.  We do this with the command "sudo mv -v /home/pi/RetroPie/* /media/usb0/".  sudo means "SuperUser", basically telling the system we're an admin performing administrative commands.  mv means Move obviously.  The -v flag apparently means verbose, for logging what's happening.  Then you're telling it "what" and "where".  Once it's completed, the RetroPie folder on the SD card exists, but is empty.  You can confirm this by typing "ls /home/pi/RetroPie/".  ls is the "list" command for listing files.  The path is empty, so nothing shows.  To verify they're on the hard drive, type "ls /media/usb0" (of course you'll swap out for the location as needed).  It should display the new files/folders are there now.  OK, so we have the files moved, but the drive doesn't automatically mount, the Pi is still treating this as a thumb drive (although the RetroPie software no longer triggers the transferring).  We need to tell the Pi to mount the drive permanently on each boot up.  So to do that, we need to get the UUID of the drive (it's "digital fingerprint"), and add a command to the configuration file of the Pi itself.  First, obtain the UUID by running "ls -l /dev/disk/by-uuid/".  We're looking for that drive in the location we found earlier with the 'df' command.  In my case with this drive, I get a listing that shows "lrwxrwxrwx 1 root root 10 Oct 27 21:32 2E0473FF0473C87B -> ../../sda1"  The first set of characters is the permissions, the next is the ownership, then the date of last modification (month/date/time), then the UUID, and finally an arrow pointing to it's physical location.  So my UUID is "2E0473FF0473C87B".  The next step is to add the UUID to the RPi's FSTAB (file system table).  To do that, simply type "sudo nano /etc/fstab".  nano is the built in text editor, sudo is superuser, and /etc/fstab is the location/file we're editing.  In the editor, add a line that reads "UUID=2E0473FF0473C87B /home/pi/RetroPie ntfs nofail,user,umask=0000 0 2".  Change the UUID to match yours, and where mine says "ntfs", change yours to whatever format your drive is in (make sure it's lower case or it won't work).  I recommend NTFS if you have a Windows computer you're mostly using.  FAT/FAT32 will only work on smaller drives, not those in the 1tb range like mine (this was discovered in my trials and errors, and fixed now!).  But you can use them if you want.  All the rest of that stuff I'm not familiar with so I don't recommend changing them unless you know what you're doing!  Exit out of nano by pressing CTRL+X, then Y, then enter to save the same file.  Done.  Now we just need to reboot the system.  Do that with the command "sudo reboot". Once rebooted, you should see your emulators and RetroPie menu.  If not, and you get an error about no systems detected/configured, you did something wrong.  In my case just now, I forgot to change to "ntfs" from the example on the GIT WIKI.  So a quick fix, and now I'm back.

So now the next thing is up to you.  Get those ROMs over!  If you're like me, and you formatted your drive in NTFS, you can simply tell RetroPie to (Press START) Quit -> Shutdown System, then Yes.  Wait a few moments.  The drive will power off, then the green activity light on the Pi will stop blinking.  You're now safe to disconnect the power, remove the drive from the Pi, and connect it to the computer.  Now you can just transfer files over directly.  You can also send them over using an FTP client.  There's also a way through SAMBA, though I've not bothered messing with that since this method works for me.

So now I'm going to put some ROMs on and see how it goes.  By default, RetroPie will scan your system for new files during bootup.  Before when I was testing, this is really quick.  The software probably ignores paths that don't have a different modified date since the last time it ran.  It stores these game lists so they can really quickly load up.  If new systems are detected, RetroPie will automatically configure RetroArch for them, and enable that menu in the EmulationStation front end.  That's pretty neat.  The trick though is to make sure you put your ROMs into the correct folders on your drive.  You want to go into the /roms folder.  In there are separate folders for each system.  The "genesis" system file is actually just a symlink for RetroPie.  If you're putting files over via FTP/etc, that will show up as an available folder, but just puts any files you put in there into the /megadrive folder.  For the most part, RetroArch (the backend emulator) requires all ROMs to be extracted, so no zips or 7z files.  To know what file's each system is looking for, use this handy website.  It even tells you if the system requires a BIOS, and what the BIOS file should be called (and those go into the root /BIOS folder). 

Ok, I'm done for the day.  Time to relax and eat dinner, watch tv, read some more in my book, then go to bed.  Work in the morning.  Then I'll be back at it tomorrow!

Link to comment
Share on other sites

57 minutes ago, Draco1962 said:

Could you possibly mount it to an old drive tray and screw it to the base?

I thought about that.  Get a couple of mounting brackets and hang it from the top of the case.  Problem is, this is an EXTERNAL drive.  There are no mounting screw holes.  So that's kinda out.  I'd have to find some kind of tray that it would just rest on.  This new method works, and if I jimmy the USB cable in between the posts, it's VERY stable.

26 minutes ago, stigzler said:

What's the power draw of that passport? Can the Pi supply it?

I'm not sure.  The box and literature doesn't say anything about it.  Nor does their website.  In fact, they don't even mention in the manual that you need to have at least USB2.0 and that USB3.0 would be ideal.  So if you're with a USB1.1, you're SOL.  The Raspberry Pi (USB2.0) has no problem powering it, and everything runs great from it.

Link to comment
Share on other sites

8 hours ago, Draco1962 said:

I wonder if this is compatible with the Pi?

nes30.jpg

 

RetroPie has drivers for the 8bitdo controllers that you can download. I'm not sure if it disables other Bluetooth devices like the PS3 controller drivers do, but I would lean towards yes as it's a separate driver like the PS3 controller. 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...