Meet the "RetroG"!! [Update 17/8: Paintjob Pics]
-
@Danik
Ok, understand. Will try something similar for my arcade. I got inspired and ordered an arduino-kit after I saw your project. Will try it out when it arrives. Only just started with the woodworking though. -
@bizxaero don't forget the new features of
runcommand.sh
! It can help you a lot.
And, please, share your results with us. ;-) -
Today the Atari Controllers arrived! I needed to tweak my config files, but everything is done now! Tomorrow I'll take it apart to paint it.
I tried to handle the lcd screen using the runcommand-onstart/end.sh but, I couldn't pass the arguments correctly.
When I manually "python lcdwrite.py emulatorname romname" it works but in the script it doesn't work... Back to previous (working) scenario for now until I figure it out.EDIT: Something else that bothers me is that the driver switching for the DSUB9 ports isn't as stable as I'd like it to be. Sometimes, the machine hangs upon driver switch (the driver switch is merely a modprobe -r command followed by another modprobe command, with 1s delay between them (doesn't help), some other times it leads to kernel panic, most of the time it is working. But it is not implemented correctly, it is a python script that is called on rc.local using & to not wait for it to finish (so that it is constantly running its loop which waits for keypresses on the GPIO (the two buttons on the front panel I mention in the original post). Maybe I must do it as a service? Actually maybe instead of having lots of shell scripts and python scripts calling each other I could write it all in one python script that runs as a service (is that even possible?)
-
This is fantastic. I really love the display, and I'm definitely inspired to do something like it with my own build.
Do you have the system set up only to use Bluetooth for systems that don't have a dedicated port because of a technical limitation or was that a conscious choice? I'm working on putting a Pi in a Super Famicom (when it gets here) and I'm wondering how it will work if I wanted to use GPIO controller ports, or if I wanted to sometimes use a Bluetooth controller.
-
It was a conscious choice. However, to make retroarch to listen to two ports simultaneously, it would take some effort. You could always use a hardware switch and read its state via a simple python script that reads the gpio pins it is connected to, then editing the appropriate config file.
-
@Danik what's the gpio joystick names? (How are they showed in the jslist/joystick_selection tool?)
-
@Danik said in Meet the "RetroG"!!:
It was a conscious choice. However, to make retroarch to listen to two ports simultaneously, it would take some effort. You could always use a hardware switch and read its state via a simple python script that reads the gpio pins it is connected to, then editing the appropriate config file.
I'm defintitely going to need to learn more Python. :)
-
@meleu Hopefully I'm going to put it back together tonight, so, I'll get back to you soon!
-
This is what it looks like, painted and all:
I'll try to make some time for more pics and maybe a video!
In the meantime I just discovered that I am using the Raspberry 0/1 version of RetroPie, while using a Raspberry 3. I have messed a lot with the configuration to make it work like this (recompiled a lot of stuff, too), so I was wandering, what is really different and what do I gain from moving to the RPi3 version as well as wether there is a way to "upgrade" without losing config files...?
-
@Danik First, great job on the paint. It looks very nice.
I don't know of a way to update without losing your config files. Even when updating within the same Pi version, stuff gets overwritten with defaults. Maybe either make a full backup of the SD card you have, or just install RetroPie on a totally new SD card and then copy stuff over from the old one?
-
@obsidianspider Even so, what is really different with the other version? The Pi runs smoothly with the 0/1 version, so I was wondering what do I have to gain?
-
@Danik I'm not sure of the differences, but here in America we have a saying, "If it ain't broke, don't fix it." So if everything is working and you're happy, I'd say stay with what you have.
-
@obsidianspider I am aware of the saying (a wise one, too), but if I was to gain a lot of performance boost (multicore optimizations?), maybe it is worth the extra effort. The problem with backing up the SD is that I still need access to the EXT3 partition, so I think the best option is to buy another SD card and work from there by rebooting with the old SD and getting files via FTP, then reboot with new SD and transfer again via FTP.
-
@Danik With SD cards being so inexpensive I think that would be the best way to go. Then, worst case scenario, if you can't get the new setup working you can just pop in the old card. You've put a TON of time into quite an elaborate system and inspired me for some things on my own build. Let us know how things go with the updated/other version of RetroPie!
-
@Danik
Cool build man!Where did you get the anti-vandal on/off button to go with the control block? And what is the voltage of the LED?
I have one for my powerblock, but it's pretty small... I've been trying to find a larger one, but the LED voltage has to be 2 volts according to the powerblock documentation. It's been driving me mad... haha
-
I found the switch at a local shop here in Athens, Greece. It runs on 5V and the switch is latching type. Should be faily easy to track something similar down on ebay or farnell/mouser I think
-
Yes, the 5V ones are easy to find! You know what, I think I am getting confused with forward voltage.
I read that the LED needs a forward voltage of 2 volts... but this is just the voltage drop across the LED, right? So I can still use a 5V LED?
-
Well, generally"forward voltage" as I understand it (need I remind you, I'm not an expert) is the voltage used by the LED when it's on. That means that with a forward voltage of 2 volts and 5 volt input, the rest must be absorbed by the resistor. With LED power ratings and ohm's law (or simply, a LED resistor calculator) you can figure out the resistor to use. But in our case we don't have any 5V source, we have a PowerBlock. There are no warnings about using a resistor or watching out too much for LED voltages in the manual. Since ControlBlock is a very well designed and thought-out product (kudos to @petrockblog ), what I did is I put a blue 5V led with the same rating as my switch LED directly across the LED pins and it worked, so I assumed it was safe for the switch LED too. Hadn't had all the time in the world to figure out stuff like voltage output, since it uses software (possibly PWM), I just plugged it in with the correct polarity.
-
@meleu said in Meet the "RetroG"!! [Update 17/8: Paintjob Pics]:
@Danik what's the gpio joystick names? (How are they showed in the jslist/joystick_selection tool?)
There are 3 cases, depending on the currently selected db9 mode. If you remember I use the same DSUB9 port for three kinds of controllers, so I have implemented a software switch via the front panel pushbuttons and a python script that switches between SEGA Genesis Controller, SEGA Master System controller ant Atari 2600 Controller, as well as printing a message on the LCD to provide feedback to the user.
Here is the ouput of jslist for each case:
SEGA Genesis Mode:
0:ControlBlock SNES Gamepad
1:ControlBlock SNES Gamepad
2:Genesis pad
3:Genesis pad
4:PLAYSTATION(R)3 Controller
5:PLAYSTATION(R)3 ControllerSEGA Master System Mode:
0:ControlBlock SNES Gamepad
1:ControlBlock SNES Gamepad
2:Multisystem joystick (2 fire)
3:Multisystem joystick (2 fire)
4:PLAYSTATION(R)3 Controller
5:PLAYSTATION(R)3 ControllerAtari 2600 Mode:
0:ControlBlock SNES Gamepad
1:ControlBlock SNES Gamepad
2:Multisystem joystick
3:Multisystem joystick
4:PLAYSTATION(R)3 Controller
5:PLAYSTATION(R)3 Controller -
Hi @Danik,
Im building my own system right now, quite simmilar to your project. Right now im at the start of it. Could you pleasegive me some information how you implimentet the driver change now?
Right now i cannot have the SNES/NES driver from controlblock and db9_gpio_rpi driver for the megadrive active at the same time.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.