Find here the famous pi2cade 2 player version pcb.
Recalbox support this controller addon board out of the box.
For Retropie follow this tutorial.
https://www.raspberrypi.org/forums/viewtopic.php?t=83317
Github https://github.com/recalbox/mk_arcade_joystick_rpi
Tutorial Recalbox in German
https://github.com/recalbox/recalbox-os/wiki/GPIO-Controller-(DE)
Tutorial Recalbox in English
https://github.com/recalbox/recalbox-os/wiki/GPIO-controllers-%28EN%29
This Blog is about modding all kind of video game and arcade equipment
Showing posts with label Raspberry. Show all posts
Showing posts with label Raspberry. Show all posts
Tuesday 26 February 2019
Tuesday 23 May 2017
Retropie 15Khz CRT Tutorial for Raspberry Pi use with Pi2Jamma and Pi2SCART
Resolution Settings Tutorial for Retropie and Pi2SCART for 15Khz SCART CRTs like BVM, PVM
This tutorial was posted from Ben in the pi2jamma Facebook group.----
As I’ve mentioned in a few other posts, I’ve had great success with 1600 x 240 resolution, which has given me pixel perfect resolution across a variety of systems with full screen picture and zero scaling artifacts.
Prior to this, I had been experimenting with various HDMI timings all based on the native resolutions of the various systems I wanted to emulate. I’d been primarily using 320 x 240, but this meant that any games with different horizontal resolutions either scaled horribly or didn’t fit the screen properly.
For example...
SNES native 256 x 224 results in horrible scaling if I force the aspect ratio to fill the screen because the emulator is trying to fudge 256 pixels across a ‘canvas’ of 320 pixels. Alternatively, you can force 1:1 pixel mapping, but this leaves big black borders due to the 64 unused pixels (32 either side of the image.)
The beauty of 1600 x 240 is that it accommodates the vast majority of horizontal resolutions when combining it with the appropriate integer scaling.
To use the same example above...
SNES native 256 x 224 becomes 1536 (i.e. 256*6) x 224. This effectively gives a pixel perfect picture and although we still have 64 unused pixels, these now represent a much smaller proportion of the horizontal picture and in my case these are lost in the overscan of my monitor.
So... I thought I would share my setup/settings in the hope of helping others on here who may benefit from using the same settings.
This is by no means a ‘final’ or ‘perfect’ solution, it’s a work in progress, but has nevertheless been a revelation for me personally and allowed me to play the vast majority of games exactly as I wanted
Much of what I describe below has been covered - at least in part - elsewhere and special thanks to Michael Chi for the original idea https://github.com/libretro/libretro-meta/issues/73#issuecomment-290904508 and also to Michael Vencio for bringing to my attention via an earlier post. Thanks also to Frank Skilton for his invaluable explanation of porch settings for centring the image.
All the below is based on Retropie and only works for Retroarch based emulators (fortunately this covers all of the main/popular systems). I haven’t tried Recalbox or Lakka, so I’m not sure whether the scripts below can be applied to either of these...
First step is to set your starting resolution, which will be the resolution at which the GUI is displayed after the initial boot. This is defined in the main config file on the root of your SD card. It can be anything as this won’t be the resolution we’re using for the games, but I would suggest using a straight forward 320 x 240 resolution. My timings for this are: -
hdmi_timings 320 1 8 30 42 240 1 2 3 22 0 0 0 60 0 6400000 1
You then need to create scripts to change the resolution to 1600 x 240 every time an emulator/game is launched and then back to 320 x 240 when the game is closed. (The reason that we can’t run the GUI at 1600 x 240 is that this is an abnormally wide resolution and on a 4:3 monitor results in everything being unreadable.)
The scripts need to be added via your network to the folder /opt/retropie/configs/all. This can be done either with ethernet or WiFi (I use WiFi). I created the scripts simply by creating a new notepad file, adding the text below and then renaming them accordingly (file names shown in bold).
/opt/retropie/configs/all/runcommand-onstart.sh
vcgencmd hdmi_timings 1600 1 70 150 215 240 1 4 3 15 0 0 0 60 0 32000000 1
tvservice -e "DMT 87"
fbset -depth 8 && fbset -depth 16 -xres 1600 -yres 240
/opt/retropie/configs/all/runcommand-onend.sh
vcgencmd hdmi_timings 320 1 8 30 42 240 1 2 3 22 0 0 0 60 0 6400000 1
tvservice -e "DMT 87"
fbset -depth 8 && fbset -depth 16 -xres 320 -yres 240
You will need to reboot your Pi in order for the above to work.
Once you have done this, the next time you launch an emulator it will be in 1600 x 240. Depending on your pre-existing video settings for Retroarch, you may find that the image fills the screen reasonably well, or is squashed into the centre. In any event, we now need to manipulate the video settings in Retroarch to optimise the picture.
Before I continue, I highly recommend that you centre the image by altering the porch values in your hdmi timings. These values will vary depending on your monitor and geometry settings.
(Courtesy of Frank Skilton): -
To shift the image left, increase the horizontal front porch while decreasing the horizontal back porch by an equal amount. Do the opposite to shift right.
To shift the image up, increase the vertical front porch while decreasing the vertical back porch by an equal amount. Do the opposite to shift down.
3rd parameter is horizontal front porch
5th parameter is horizontal back porch
8th parameter is vertical front porch
10th parameter is vertical back porch
The benefit of doing this is that it saves you a lot of time repositioning the picture when you alter the custom viewport (see below).
So, you now have your emulator outputting 1600 x 240, but you need to ensure that you have a pixel perfect image. To do this, you go into the Retroarch main menu (select+X on an xbox controller), then navigate to Settings>Video.
The values you’re interested in are: -
Aspect Ratio Index (depending on your version of Retropie, this may appear simply as Aspect Ratio)
Custom Viewport Width (aka Custom Aspect Ratio Width)
Custom Viewport Height (aka Custom Aspect Ratio Height)
Integer Scale
The goal here is to ensure that the emulator is rendering the game in an exact integer scale of the original native resolution. This means matching the vertical resolution (e.g. 240), while finding a suitable multiple of the horizontal resolution that is as close to 1600 as possible.
The best way to establish the native resolution of your game is to switch Integer Scale to Off, then back to On, which will lock it to the correct scale and allow you to choose the appropriate values.
Let’s start with an easy one..
Games running in 320 x 240 can be rendered at the full 1600 x 240 output as 320*5=1600. So your video settings will be: -
Aspect Ratio Index = Custom
Custom Viewport Width = 1600
Custom Viewport Height = 240
Integer Scale = On
If you have correctly set your porch settings to centre the image, this will give you pixel perfect results. If your porch values are off centre, you will need to set Integer Scale to Off and manually reposition the image via Custom Viewport X and Custom Viewport Y. As I’ve stated already, it’s far easier in the long run to get your porch settings bang-on, as this will guarantee you a centred picture without having to alter the X and Y values every time you change the viewport.
(Hereafter I will only specify the Custom Viewport Width and Height as the Aspect Ratio Index is always Custom and Integer Scale will depend on your porch settings.)
Let’s get into system specifics (values in brackets are shown just to illustrate why these are the optimum viewport widths): -
Mega Drive native = 320 x 224
Custom Viewport Width = 1600 (320*5)
Custom Viewport Height = 224
NES/SNES native = 256 x 224
Custom Viewport Width = 1536 (256*6)
Custom Viewport Height = 224
Master System native = 256 x 192
Custom Viewport Width = 1536 (256*6)
Custom Viewport Height = 192 (this will give borders top and bottom - as per real hardware)
Neo Geo native = 304 x 224
Custom Viewport Width = 1520 (304*5)
Custom Viewport Height = 224
Arcade games are more difficult as the native resolution varies from game to game. My recommendation is to set your default viewport for arcade games to 1600 x 224 as this caters for a lot of them, then only alter games that don’t fit this. To set this as the default, open any arcade game (preferably one that runs at 320 x 224), set 1600 x 224 as the custom viewport and save the configuration manually. Make sure that Save Configuration on Exit is set to ‘Off’, otherwise when you launch any games that you have manually set to a different custom viewport (see below), it will override your default viewport of 1600 x 224.
The way to alter custom viewports on a per-game basis is to create a game specific config file in the same rom folder as the game in question (in this case RetroPie/roms/arcade). Again, you access this via your network.
The config files need to be named game_name.zip.cfg. Much like the script files earlier on, these are created by creating a new notepad file, entering the required text, then renaming as appropriate.
An example would be Final Fight: -
Final Fight (CPS1 hardware) native res = 384 x 224
Custom Viewport Width = 1536 (384*4)
Custom Viewport Height = 224
So your config file for this game will be ffight.zip.cfg.
You only need to create an instruction for the bits of the video settings that you want to change from your default viewport of 1600 x 224. In this case, we need to change the viewport width to 1536, so in our config file we enter just one line of text: -
custom_viewport_width = "1536"
That’s it. The next time you launch ffight.zip, it will display with a custom viewport of 1536 x 224.
Unfortunately, this is rom specific, so any other versions of Final Fight would need to be changed if you wanted to play them too. I tend to stick to a specific version of each game, just to prevent me having to create config files for every version.
You can apply the same method to any arcade game that doesn’t fit your default 1600 x 224 viewport.
...And that pretty much covers it for now! As I said originally, this is a work in progress, but has improved my enjoyment of the Pi immeasurably.
In closing, it’s worth remembering that your mileage may vary depending on your monitor and existing geometry settings. All I can say is that before I embarked on this project I had already optimised my PVM’s geometry for all my real hardware and I haven’t changed anything since using the Pi. One of the reasons that I’m enjoying the above setup is that it gives me a pixel perfect image that fills the screen on nearly everything. There are some exceptional arcade games that run at odd resolutions that don’t quite work, but for the time being I am very satisfied with the results.
Tuesday 21 March 2017
some nice Pi2Scart Pics
Labels:
Pi2Jamma,
Pi2scart,
PiJamma,
Raspberry,
Raspberry Pi
Tuesday 7 January 2014
PiJamma Enclosure Work
Almost forget to blog the Raspberry Pi PiJamma Enclosure work. It`s laser engraved and notifies the various connectors. PiJamma helps to build your Arcade Bartop or Cab. It comes with a Jamma Interface as well with C64 and Amiga plus Neogeo Gamecontroller Port Connectors. Raspberry Pi offers various retro console emulators and arcade machine emulator MAME (M.A.M.E.)
Wednesday 1 January 2014
Wallix Arcade Bubble Bobble Bartop - DIY Kit from www.ArcadeForge.de
Hey,
Wallix used our Arcade Forge Bartop DIY Kit for his awsome Bubble Bobble Bartop.
Happy new year to you all.
Wallix used our Arcade Forge Bartop DIY Kit for his awsome Bubble Bobble Bartop.
Happy new year to you all.
Thursday 12 December 2013
ArcadeForge PiJamma Arcade Stick with Raspberry PI - more links
Our Raspberry Pi Arcade Stick with PiJamma is mentioned on more a more pages:
- Adafruit
- Geeky Gadget
- Recantha
- Raspberry Pi Geek 01/2014
- Showyou
- KAAW
Thanks for that. :)
- Adafruit
- Geeky Gadget
- Recantha
- Raspberry Pi Geek 01/2014
- Showyou
- KAAW
Thanks for that. :)
Monday 2 December 2013
We was mentioned on hackaday :)
Check this out
http://hackaday.com/2013/11/30/a-raspberry-pi-arcade-stick/
Our Raspberry Pi addon called PiJamma was mentioned on hackaday. PiJamma is used in an arcade stick.
http://hackaday.com/2013/11/30/a-raspberry-pi-arcade-stick/
Our Raspberry Pi addon called PiJamma was mentioned on hackaday. PiJamma is used in an arcade stick.
Monday 25 November 2013
ArcadeForge.de PiJamma Project : Building a Raspberry Pi Arcade Stick DTV
PiJamma for Raspberry Pi
Earlier we announced the PiJamma Project. PiJamma is an add-on PCB for the Raspberry PI that simplifies connecting retro hardware like old game controllers or jamma arcade bartop or cabs.
Youtube Video
Today my idea was to built a Arcade Stick that can be directly plugged to TV like the old good C64 DTV, but now with "everything".
Planned Features:
- Acryl Arcade Stick: all the nice tech stuff can be shown.
- Raspberry PI with 32Gb SD, packed with emu stuff plus WLAN Adapter
- PiJamma PCB for connecting Arcade Controls
- HDM plug
- USB plug
- PSU connector
- LED Modded buttons with new Acryl holder
- Buttons with inlay artwork
- Artwork
- Aluminium Panel
- NeoGeo 4 Button Layout
- Sanwa JLF Stick unit with Link. Stick can be pulled off.
Here the stock unit and the button with inlay artwork.
Aluminium Panel with Stick unit.
LED modded button. Acryl holder for 5mm LEDS.
Checking where to place the components.
One sees here the interface panel with USB, HDMI and power supply interface. Rapsberry PI will be powered via PiJamma.
USB interface and HDMI interface connected to the interface panel and Raspberry Pi.
Arcade Controls connected to the PiJamma. Signals will be forwarded to Rasperry Pi GPIO interface. Additionally the LED Mod was installed.
GPIO interface connected.
The stick unit can be detached. So transport is more easy.
LED mod off
LED mod on, ok, it`s better to make such pics when it`s dark.
close-up of the panel interface with USB, Power and HDMI.
Just connected a keyboard or USB stick to the Raspberry Pi Arcade Stick.
First test with Commodore C64 Giana Sisters. :)
Earlier we announced the PiJamma Project. PiJamma is an add-on PCB for the Raspberry PI that simplifies connecting retro hardware like old game controllers or jamma arcade bartop or cabs.
Youtube Video
Today my idea was to built a Arcade Stick that can be directly plugged to TV like the old good C64 DTV, but now with "everything".
Planned Features:
- Acryl Arcade Stick: all the nice tech stuff can be shown.
- Raspberry PI with 32Gb SD, packed with emu stuff plus WLAN Adapter
- PiJamma PCB for connecting Arcade Controls
- HDM plug
- USB plug
- PSU connector
- LED Modded buttons with new Acryl holder
- Buttons with inlay artwork
- Artwork
- Aluminium Panel
- NeoGeo 4 Button Layout
- Sanwa JLF Stick unit with Link. Stick can be pulled off.
Here the stock unit and the button with inlay artwork.
Aluminium Panel with Stick unit.
LED modded button. Acryl holder for 5mm LEDS.
Checking where to place the components.
One sees here the interface panel with USB, HDMI and power supply interface. Rapsberry PI will be powered via PiJamma.
USB interface and HDMI interface connected to the interface panel and Raspberry Pi.
Arcade Controls connected to the PiJamma. Signals will be forwarded to Rasperry Pi GPIO interface. Additionally the LED Mod was installed.
GPIO interface connected.
The stick unit can be detached. So transport is more easy.
LED mod off
LED mod on, ok, it`s better to make such pics when it`s dark.
close-up of the panel interface with USB, Power and HDMI.
Just connected a keyboard or USB stick to the Raspberry Pi Arcade Stick.
First test with Commodore C64 Giana Sisters. :)
Thursday 14 November 2013
Raspberry PI for Arcade Jamma Adapter with C64 / Atari / Negeo Joystick Port
Hey,
this is my new project for the Raspberry PI. I`m still searching for a good name :) Anyone?
EDIT : Name found :) The project is called PiJamma. It`s available in our online shop http://www.arcadeforge.de
It`s a kind of Arcade Jamma Adapter with controller game ports for C64 / Amiga / Atari and Neogeo style sticks. Additionally it has various connector break-outs like screw terminals to make your modding life more easy.
You see here the Raspberry PI with the Jamma Adapter.
Features :
- Raspberry pi GPIO Connector
- Jamma Interface
- Screw Terminals for all kind of signals
- Game controller Port DSUB 9 pin for Amiga, C64, Atari, etc
- Game controller Port for DSUB 16 pin for NeoGeo Controller sticks
- 3 buttons for controlling the emulators. Ie. take Start Player 1, Start Player 2 and Coin for Arcade emulator MAME
- Simple PSU Plug for 5V
- Extended PSU Molex connector for 12V and 5V
- 6 Pin Audio connector to connect a external amplifier. This way the Arduino Line Level sound can used in Arcade cabinets or bartops with speakers only.
- On and Off switch with LED
Ok, here some pics using the connectors.
Raspberry pi audio headphone connector to chinch. The Audio coming from Raspberry pi is line level. I`ve decided to go with extern amplifiers. So the user can decide to use high performance amplifier or home entertainment system or whatever. The design goal is to offer a wide range of use cases and not stick on one sound interface solution.
This board uses the GPIO interface for Arcade Controls. This way an additional Keyboard Encoder like Dual Strike or Key Strike is not needed. The pin count of the GPIO is limited. If someones wants six button 2 Player controls, so Keyboard Encoders can still be used via the USB Port of the Raspberry Pi. So again, no need to make the board expensive. The user decides what he wants.
But let`s face the Game controller Ports. In the picture one sees the famous competition Pro for the even more famous Commodore C64.
I`ve added here the audio breakout. Pinout is
- 12V
- GND
- Audio Line Level Left
- Speaker-
- Audio Line Level Right
- Speaker+
5V is available via Screw Terminal. Using 12V via this connector means that 12V must provided to the board via the Molex Connector. On the picture a sample Mono Amp is shown.
On the Picture a sample Stereo Amp is shown.
See here a simple 12V and 5V PSU. As said before a simple 5V PSU can be used via the basic PSU Plug. In this case the sound can grabbed from the HDMI or the headphone jacks to your own amplifier.
A short word about the video out. Raspberry offers HDMI and composite out. It would have been so nice to see VGA or something more sophisticated analogue signal.
The next post will shown some video adapter to get from HDMI a VGA signal with Scanlines or even RGBS for CRT or Arcade CRTs.
Thanks for your attention. Comments are welcome :)
Subscribe to:
Posts (Atom)

























































