Sunday, August 10, 2014

The PirateCade

http://shortcircuitprojects.blogspot.com/2014/08/the-piratecade.html

Well, I honestly don't know where to begin on this one. This project took way too long and caused me much headache. But in the end I now have myself a beautiful cabinet that may last my lifetime. I started this project In March 2014, 6 months ago, and just finished today. This project was originally my first Raspberry-Pi project. I used the RetroPie Project with the frontend Emulation Station and a Xin-Mo keyboard encoder. However, after all the issues I ran into along the way I ended up using a PC, AtomicFE frontend, and an Ultimarc Ipac. Just last night I scrapped the whole raspberry-pi aspect after one final SD card corruption killed the idea for me. Anyway, Hit the jump to see more pics and details of the project.













First thing I did was build a "prototype control board" to plug into the TV while I worked on getting the raspberry pi and other software up and running. In the picture above I purchased the buttons and joysticks in one package for around $40 and the Xin-Mo (simulates keyboard) for $20. The Xin-Mo turned out not to work properly for linux systems and I ended up purchasing the Ipac. Much Better. The consoles I decided to emulate for my cabinet were as follows: MAME, Super Nintendo, Nintendo, Gameboy, Gameboy Advance, Atari 2600, and Sega Genesis. I managed to get all of them working but ran into an issue with MAME. It always bothers me with mame that often, there are 2 or 3 rom files that need to be in the rom folder in order to get a single rom running. So my friend Joe came up with a great plan and wrote a script for each game that called the right file in a separate folder. All the scripts to each rom were named after the actual game and the frontend displayed the name for the script opposed to having the game frogger listed 3 times as frogger, froggz, and mfrogger. This cleaned the menu up very nicely.




 I wanted to be able to add SNES controllers to my arcade but I didn't want to use USB controllers. I wanted to actually be able to take a SNES controller and plug it in. So I took one apart. Immediately after taking it apart I saw that the buttons were directly connected to a shift register and the clock, data, latch, an power lines went straight out to the plug. So I hacked it even farther and plugged them all into an Arduino Leonardo. I wrote a little program for the "decoding" of the the controller inputs and had the micro controller send out key-strokes to the raspberry pi over USB. This all seemed to work well except when you actually played a game with it the button either appeared to rapidly be pressed or pressed once and stop. Well, I scrapped this idea as well and purchased 4 SNES to USB adapters to stick into the front of the cab. These worked right away after getting all the config files worked out. the only problem I was having was that when I was in a menu, sometimes the down or left, or some other button would seem to be held down. The only way to fix this would be to disconnect the adapter or mash all the buttons on the controller. I didn't want cables sticking out of my arcade cabinet, nor did I always want a controller plugged in to "fix" the problem by mashing. Instead I bought a little black toggle switch from radio shack and connected it to the +5V line from a 4 way USB hub. Now I can switch all the adapters on or off if I need to reset them.







After getting all the software working the way I wanted it to I designed on paper over and over the side panel of the cabinet until I got it just the way I wanted. My goal was to get it to fit through regular doorways so It had to be just right to fit and still look good. I think many cabinets are much too skinny or disproportionate. So I got it how I thought I wanted it and cut it out of some cardboard just to make sure. After I drew the lines for the cuts, I rounded over the corners with a stencil. Actually I used the bottom of a salt shaker. Though I suppose anything small and circular would have worked.







Upon deciding I liked the way it looked I purchased a sheet of cabinet grade oak plywood for around $50 I measured out the design again and made sure I could fit two pieces. I cut the majority of the excess wood off with a jig saw and went back over with a smaller saw and finally a sander and straight edge to get the first piece just right. After the first piece was done I placed the second piece over the first and cut it out with the router to make and exact copy of the first.






After some thought (and by thought I mean a lot of procrastination) I started drawing out how I wanted to frame it. I knew I didn't want any nails or screws showing on the outside anywhere on the sides or front, so taking that into consideration was a bit tricky.







The monitor was purchased at a pawn shop down the street. I couldn't find the 25" 3:4 tube display I wanted so I had to use this instead. I mounted it on with the same screws and brackets used to mount it to the stand it came with. and around the bezel used 1/2" pine ply. I used something cheaper because I would cover it up later anyway.






The marquee at the top of the cabinet was framed out with 4 pieces of solid oak from the same board. I cut a notch and curve into the board with the router then ripped them on the table saw. They are connected at 45 degree angles and there is a slot at the top for the picture to slide into snug. the plexi glass in the front was left over from the tank I built for my terrarium and didn't even need to be cut to size.




The light was around 15-20 dollars at home depot and was mounted about 7 inches from the plexiglass.




The next step I took was making the front 3 panels. The front most panel with the SNES ports and switch, The bottom panel which has the hole for the coin-op. and the bottom angle that connects the two. If you look at the left side of the coin-op hole there are little notches that were required to fit the device inside. I cut them out with a coping saw and chisel.


                                                   

Side View: This is what I looked at every time I walked into the garage for 5 months taunting me that I hadn't gotten it done yet. My friends and family commented that whenever they came over a little more was done to it.








I couldn't find any closer pictures, but if you look here on the edge of the side panels there is a small 3/32" notch all the way around the cabinet on both sides to fit the t-molding. The little black piece in the corner was a piece I used to test it with. The control panel here was cut, sanded and fit into the cabinet before taking it off to be drilled into for the controls.








I used a template and punch to get the center of each hole and made a small pilot hole before using expensive bits to ensure I didn't have any blowout of wood.








I used graph paper and a small drill bit on the press to make the holes for the speakers. The speakers were from my friend Paul who wasn't using them anymore. I mounted them with standoffs and hot glue. The potentiometer for the amp sticks through the board to be turned up and down by the player.





I covered the areas of the cabinet I didn't want to get any stain or polyurethane on. The stain I chose was a Minwax oil based called country maple. However it came out almost exactly like I imagined. I covered the dust collector, band saw, table saw, router table, ect... with tarps before I started spraying. The finish came out very well after a few coats. The next step would be to make the Marquee.





I made the marquee with Paint.Net and just pulled images from the internet and edited them onto a black canvas. however the only background left is in the top left corner. the rest of the background is being taken up by Mario's Rainbow Road and Starfox's Galaxy Map. I had my nephew Case and my niece Caitlyn help me with deciding what pictures to grab and where to put them. The pirate ship was pulled from a children's book and then the Jolly Rodger and TMNT's added. This is however only a temporary image. I asked my friend James to design one for me. He would most likely do a better job and he is trying to build his portfolio.




Fed-Ex printed the image off for me. They did it on standard paper they had in the right size and it turned out to be quite good at lighting up when back lit.


The bezel around the screen was don with mat board from hobby lobby. I also bought a piece of plexiglass and cut it to size to cover the bezel and screen. after that I framed it out with oak trim around the edges. before installing the glass I used window cleaner on the screen and back side of glass.






The T-molding Went very smooth and quick. My dad and I plopped the cabinet up on the table saw and used 34 feet of T-molding around the cabinet. I used a combination of hobby glue and wood glue to hold the molding in the groove and onto the edge. After finishing this two friends, my dad, and
I hauled this thing back into the house to have the electronics fitted inside and finally free up some space in the garage for a new project.


Like I said before, The cabinet now has a PC inside instead of a raspberry pi. The electronics worked fine before building the cabinet. I don't know if it was how long I went without using it or If i messed a few things up along the way. but The software had so many bugs and the sound quality was so poor that when it eventually did die last night I was so fed up. I reformatted and old PC that was sitting around, Loaded new software on and have it at least working right now. I will eventually do more custom software eventually.






One thing I did add just before posting this is a function for the little black button. I made the black button take screenshots and automatically save them as png's in a folder. I then used that same folder as my screensaver. now if my arcade isn't being played with, then after two minutes the screensaver will start which is a slideshow off all the screenshots taken of people playing.





 I have to thank all the people that helped me with this project. My friend joey and all his work with programming on every project, writing functions and other wizardry. Paul for his speakers he donated. James for the artwork he's working on, the communities on Hack-a-day, /r/raspberrypi, /r/electronics, /r/arduino, PetRockBlog, and all those others I have failed to mention. Also I would like to thank my Dad, Dave Carver Senior for his never ending flow of knowledge about woodwork. This would not be possible without him.




I am very pleased with the way it turned out and know that for a while It will be hard not to walk passed it without playing a game of Pengo. For those who know me please feel free to come by and take a look. I will be more than happy to show it off.




I haven't posted the insides because it is an absolute mess right now. I am waiting to put a back on and wire everything permanently until I have a better idea what exactly is going inside. The coin-op at the moment does nothing, however I am thinking about making it send the Konami Code to the emulator. Also I may later put a more beefy PC inside and install games from my steam account and other PC games. 

Anyway, I hope you have enjoyed the project. I did spend a good amount of time on it and I would really appreciate a comment on your thoughts. So please let me know what you think and if you have any suggestions for future projects. Thanks!




6 comments:

  1. That turned out really nice. I know it was a lot of work...I just finished building a wooden computer in July.

    ReplyDelete
  2. Really nice work, and you are listed on hackaday.com :D.

    Keep up the good work!

    Greetings from Bavaria/Germany

    ReplyDelete
  3. Very nice build. Can I ask what operating system you are leveraging (Linux-based ?) - and also what specs you need from the computer in order to run those emulators?

    Could I also asked where you purchased the buttons and joystick?

    cheers

    ReplyDelete
  4. The buttons and sticks were off ebay for around $50 US. and it is windows 7 using AtomicFe frontend. The specs of the pc I dont know off the top of my head. It was lying around the house. I can tell you it is nothing fancy.

    ReplyDelete
  5. Man I can't even come sloe to doing something like this, this is the ill shit I ever seen someone build, you got true skills...

    ReplyDelete