Arcade Project "Frogger Bartop"
Sonntag, 25. Oktober 2015
Freitag, 18. September 2015
Raspberry and PiMame work
similar to my earlier project I use a Raspberry and PiMame. I planned to use the newest version of what the meanwhile call PiPlay, but found that I do not like the new Menu structure. Also I had the impression that my games run too slow under the new version and I did not want to spend large amounts of time for basically nothing. At the end I still want to play the historic games and I do not care much about the actual version.
As a difference to the first project I wanted to use the GPIO ports for connecting the control panel items using a little program the guys at adafruit are providing. See https://learn.adafruit.com/retro-gaming-with-raspberry-pi/buttons for the instructions.
I already connected the ports and did some testing with buttons and "daisy chained" Ground and it works well. Lets see it it works perfectly as well when things come in action !!
Here my HowTo in terms of the wiring approach:
Needed:
- some Unix skills (editor, navigating - nothing complex)
- Read the instructions on https://learn.adafruit.com/retro-gaming-with-raspberry-pi/buttons.
- download the SW package from adafruit mentioned in the instructions to your raspberry.
- obtain female jumper cables to connect to the GPIO ports
As shown in the picture above, I have build a connector bench in order to connect all the cables to the GPIO in-directly. I also wrote the actual GPIO number on the wood so that I know during wiring which one I am connecting a button to.
Next step is to note down the mappings you want for the GPIO ports. In my case this looks like this:
As a difference to the first project I wanted to use the GPIO ports for connecting the control panel items using a little program the guys at adafruit are providing. See https://learn.adafruit.com/retro-gaming-with-raspberry-pi/buttons for the instructions.
I already connected the ports and did some testing with buttons and "daisy chained" Ground and it works well. Lets see it it works perfectly as well when things come in action !!
Here my HowTo in terms of the wiring approach:
Needed:
- some Unix skills (editor, navigating - nothing complex)
- Read the instructions on https://learn.adafruit.com/retro-gaming-with-raspberry-pi/buttons.
- download the SW package from adafruit mentioned in the instructions to your raspberry.
- obtain female jumper cables to connect to the GPIO ports
As shown in the picture above, I have build a connector bench in order to connect all the cables to the GPIO in-directly. I also wrote the actual GPIO number on the wood so that I know during wiring which one I am connecting a button to.
Next step is to note down the mappings you want for the GPIO ports. In my case this looks like this:
|
GPIO
|
Assigned
|
Button/CPO
|
|
2
|
Left
|
Left
|
|
3
|
Right
|
Right
|
|
4
|
Up
|
Up
|
|
17
|
Down
|
Down
|
|
18
|
1
|
Player One
|
|
27
|
2
|
Player Two
|
|
22
|
C
|
Coin
|
|
23
|
P
|
Pause
|
|
24
|
L
|
Left Flipper
|
|
10
|
R
|
Right Flipper
|
|
9
|
A
|
Button 1 (Fire)
|
|
25
|
B
|
Button 2 (Jump)
|
|
11
|
D
|
Button 3
|
|
8
|
E
|
Button 4
|
|
7
|
F
|
Button 5
|
How to read this table: "when moving the joystick to the left, a "LEFT" Keystroke will be send to the Raspberry. This action is bound to GPIO port "2".
Another example: When pressing the "Coin Button", a "C" Keystroke will be actioned and this is bound to GPIO Port/cable 22.
Now we make the necessary little changes to the c-program obtained from adafruit (please refer to the instructions coming with the package for exact steps).
To make the mapping of my wanted settings above working, edit the retrogame.c program and replace the lines in ioStandard section (do not touch the settings in ioTFT section) with
ioStandard[] = {
// This pin/key table is used when the PiTFT isn't found
// (using HDMI or composite instead), as with our original
// retro gaming guide.
// Input Output (from /usr/include/linux/input.h)
{ 2, KEY_LEFT }, // Joystick (4 pins)
{ 3, KEY_RIGHT },
{ 4, KEY_UP },
{ 17, KEY_DOWN },
{ 18, KEY_1 }, // Start 1P
{ 27, KEY_2 }, // Start 2P
{ 22, KEY_C }, // Coin
{ 23, KEY_P }, // Pause
{ 24, KEY_L }, // Left Flipper
{ 10, KEY_R }, // Right Flipper
{ 9, KEY_A }, // Button 1 (Fire)
{ 25, KEY_B }, // Button 2 (Jump)
{ 11, KEY_D }, // Button 3
{ 8, KEY_E }, // Button 4
{ 7, KEY_F }, // Button 5
{ -1, -1 } }; // END OF LIST, DO NOT CHANGE
Now, compile the program with the command "make retrogame" and make sure you followed the instrutions from adafruit to have the program being started in background on raspberry boot sequence.
When this is done, shutdown and connect just one button including the GND cable to the GPIO (any of the GND GPIO Ports is fine). Connect as shown here - GND to the lower connector, action to the connector next to GND.
After boot open a Terminal window and press the button you connected. It should now display the associated Letter on your screen just as if you pressed the letter on your keyboard. For example, it would display a "c" letter every time you Press the Coin button.
When this worked out, you can do the real wiring, daisy chain all the GND's and connect to one GPIO GND port and connect all action buttons/Joystick to associated Pins.
That's it.
Donnerstag, 27. August 2015
Initial woodwork, side panels an T-Molding
When doing my centipede cabined I had only a few disappointments, one being the T-Molding which was unbelievable stiff making it impossible to work with properly. I also found out that it is very difficult to make the slot into the wood ( I used MDF at the time .... ) for the T-Molding.
This time I wanted to avoid this. I bought 20mm wide T-Molding which I found immediately to be much better than the 16mm one I bought at a UK Arcade shop. Since I did not want to have the hassle of making the slot for the "T", I bought 8mm wood (no MDF) and 3mm wood for the inner layer. Using 2 pieces of 8mm and the slightly smaller 3mm in between gives me around 19 mm - Perfect for the T-Molding.
This time I wanted to avoid this. I bought 20mm wide T-Molding which I found immediately to be much better than the 16mm one I bought at a UK Arcade shop. Since I did not want to have the hassle of making the slot for the "T", I bought 8mm wood (no MDF) and 3mm wood for the inner layer. Using 2 pieces of 8mm and the slightly smaller 3mm in between gives me around 19 mm - Perfect for the T-Molding.
After sawing the 4 pieces of 8 mm wood (all in once "shot" to avoid differences), I did the 3mm pieces and clued them together.
I could not await to start the T-Molding work even though it might be better to put on the sideart first and than to it. However, I started and found out that using clue and strong tape for fixing the already accomplished work (especially in the corners ) does the job very, very well. To bring on the tape I hold it in both hands, start on the T-Molding itself and than hold it very strong on both sides before attaching to the wood. This way, I finished the T-Molding for both sides in less than 1 hour.
Sideart graphic
To say it upfront - I am not an expert in graphic design, in woodworking or in electronics. I am familiar with programming and have some basic skills here and there, however there are many other people doing Arcade projects of much more excellence than my work.
For the sideart, I decided to start with graphics I found in the web and created this one here ...
Picture shows the already printed sideart which a local shop did for me. I waited for the printouts to arrive before I started the woodwork.
For the sideart, I decided to start with graphics I found in the web and created this one here ...
Picture shows the already printed sideart which a local shop did for me. I waited for the printouts to arrive before I started the woodwork.
At the very beginning ...
Well, after I had build my Centipede Cabinet ( see http://tksarcadeproject.blogspot.de/ ) I was basically all set. Honestly, I use it pretty often as it is in our living room an German TV forces one one a frequent basis to look for alternatives than watching crap.
Since I would like to take my cabinet to parties with friends and be more flexible, I thought of building a bartop since a while. Now - a few weeks back - was the time to make it happen.
After a while of doing research, checking out Rasmus Koenigs excellent site at http://www.koenigs.dk/mame/eng/ and looking at hundreds of high-resolution pics at http://www.arcadeartwork.org I decided to build a Frogger Bartop based on PiMame / Raspberry.
To begin the show, I ordered some stuff ...
- a raspberry pi, mem card and power supply (50 Euro)
- female jumper cable to connect to the GPIO pins of the raspberry (5 Euro)
- a new Monitor for my PC (allowing to re-use the 10 year old 4:3 one in the Bartop)
- a cable to connect the old Monitor to the HDMI output of the raspberry (5 Euro)
- a small USB keyboard (10 Euro)
- LED strip for the backlit marquee (10 Euro)
- the sideart stickers based on own modified graphics ( 30 Euro )
- some Plexi (20 Euro)
- wood panels of course (40 Euro)
- 5 Meters of 20 mm wide T-Molding (25 Euro) (only 30 cm left after the build ... lucky me)
- buttons and Sanwa Joystick for the control panel (45 Euro)
(list to be updated later)
Since I would like to take my cabinet to parties with friends and be more flexible, I thought of building a bartop since a while. Now - a few weeks back - was the time to make it happen.
After a while of doing research, checking out Rasmus Koenigs excellent site at http://www.koenigs.dk/mame/eng/ and looking at hundreds of high-resolution pics at http://www.arcadeartwork.org I decided to build a Frogger Bartop based on PiMame / Raspberry.
To begin the show, I ordered some stuff ...
- a raspberry pi, mem card and power supply (50 Euro)
- female jumper cable to connect to the GPIO pins of the raspberry (5 Euro)
- a new Monitor for my PC (allowing to re-use the 10 year old 4:3 one in the Bartop)
- a cable to connect the old Monitor to the HDMI output of the raspberry (5 Euro)
- a small USB keyboard (10 Euro)
- LED strip for the backlit marquee (10 Euro)
- the sideart stickers based on own modified graphics ( 30 Euro )
- some Plexi (20 Euro)
- wood panels of course (40 Euro)
- 5 Meters of 20 mm wide T-Molding (25 Euro) (only 30 cm left after the build ... lucky me)
- buttons and Sanwa Joystick for the control panel (45 Euro)
(list to be updated later)
Abonnieren
Posts (Atom)



