Pi in a Super Famicom Build
-
Since my friend is going to help me with my back panel today I wanted to try to get things a little closer to "done" before going to his house. When I put the top of the Super Famicom on I found that the cartridge slot area was hitting the GPIO area of the Pi. I could have cut the cartridge slot, but I'm really trying to keep the case intact, so I decided to take everything apart, remove the standoffs and relocate the Pi forward.
Now that the top fit I realized that since the eject mechanism wont be used there was nothing to keep the button up.
I looked at the button and there's a little bit of room on the bottom between the case and the button, so I took some black craft foam (I'm not sure of the real name for it, but it comes in sheets and is a few millimeters thick) and cut it into strips to fit between the bottom of the button and the case.
It worked out well. The button is snug and I didn't need to use any glue.
Things are looking good. Hopefully my friend and I will be able to make progress on the 3D printed back plate today.I'm REALLY liking using real Nintendo controllers. With the Raphnet adapter they seem much more responsive than the old Gravis Gamepad Pro that I had been using. The 2m extension cables I bought for the controllers work without any issues. With things working this well I may abandon my idea of also using Bluetooth controllers, or maybe I'll just use the Retro Receiver that 8bitdo makes.
-
@obsidianspider that's looking sweet man! I like the way your keeping everything looking factory made! I was thinking, if you got some slightly milky looking plastic to cover the tft, then had your label have the window to match the screen, it would look really good. And help to keep the screen more subtle and less distracting while your playing
-
@moosepr said in Pi in a Super Famicom Build:
@obsidianspider that's looking sweet man! I like the way your keeping everything looking factory made! I was thinking, if you got some slightly milky looking plastic to cover the tft, then had your label have the window to match the screen, it would look really good. And help to keep the screen more subtle and less distracting while your playing
Thanks! I think it's turning out really well.
After spending the afternoon at my friend's house I think I need to look at 3D printers. That stuff is really cool. We made progress today, but there are still quite a few tweaks that need to be done, so I left the SFC shell at my friend's house so he can test fit things. The next thing for me to work on is figuring out how I want to cut out for the screen in the cartridge. I want to do some tests with plastic light switch plates and such to figure out how I want the bezel to work.
I do plan on making a label with a cut-out in it for the screen. I'm not sure what you mean by milky plastic, but I'm thinking even if the screen is inset by the thickness of the cartridge plastic it won't be too bad. Since the cartridge is rounded that adds a challenge.
While my friend works on the power plate I'll be messing with my reset button screen scripts with the weight-reduced version of my SFC Pi build.
-
@obsidianspider great progress! Your eject button sagging fix is a good idea but I was thinking it would be cool if you could add an actual button there and when pressed, it will exit the game you're in and go back to EmulationStation. If you're not in a game it does nothing or some other function. I'm assuming your Reset button will either reset EmulationStation or reset the RPi and the Power button will either turn on the RPi or gracefully shutdown.
You could set the Eject button to run something like "sudo killall retroarch" which would be helpful if a Libretro emulator crashes or freezes and you could use it to get out. I sometimes have to SSH in and run that commend to exit a game that froze. If someone was a really good script writer, they could have it check to see which emulator is running and just kill that one. Or it could just gracefully exit the Libretro emulator like what happens when you press Start+Select on your gamepad.
-
@backstander i think the eject button would be best if it exited out of the game too as that best simulates what you are doing on a real system
-
@backstander said in Pi in a Super Famicom Build:
@obsidianspider I was thinking it would be cool if you could add an actual button there and when pressed, it will exit the game you're in and go back to EmulationStation. If you're not in a game it does nothing or some other function.
The only reason I don't have the actual eject mechanism/lever in place is because of things hitting the Pi. I'm not sure an actual button would fit well in there, especially after I upgrade to a Pi 3 with a decent heatsink. Finding a way to mount another button there is something to think about if I want to add more functionality in the future, but I'm not sure what I'd want that to be right now. Exiting an emulator isn't something I'm worried about since
Start+Select
works really well for that.I'm assuming your Reset button will either reset EmulationStation or reset the RPi and the Power button will either turn on the RPi or gracefully shutdown.
The Reset button is connected to the GPIO and is toggling a script that is enabling or disabling the backlight of the secondary screen. Eventually it will cycle between the game art, system info (temps, disk usage, etc.), and if I can figure out how to parse XML with Python, game info from the approriate game list. I have to consider a lot of cases for when things need to kick off and/or refresh, but for now, turning the light on and off was cool because it means the switch detection is working.
-
@edmaul69 said in Pi in a Super Famicom Build:
@backstander i think the eject button would be best if it exited out of the game too as that best simulates what you are doing on a real system
Right now it does what a real SNES/SFC does if you press the eject button and it's turned on, nothing. ;)
The power switch activates a lever that locks the game cartridge in place so you can't eject the cartridge while the system is powered on.
-
@obsidianspider yes. It is how you change games. Just like if it exited back to the menu to, you know, change games. :D
-
@obsidianspider my 'milky plastic' idea didn't work :( I was basically thinking of you were to get something like this
which you cant see through from a distance, but once its close to something you can, Then I thought if you put that over the screen, it would be all nice and hidden until it was on. However the pixels being as small as they are on the little tft screen, you actually loose a bit of quality
so scrap that!! I was just thinking out loud
-
@backstander said in Pi in a Super Famicom Build:
check to see which emulator is running and just kill that one.
I think the best way to achiev it is looking for the command line used to launch the emulator. It's usually the 4th line in
/dev/shm/runcommand.info
. ;-) -
@meleu said in Pi in a Super Famicom Build:
It's usually the 4th line in
/dev/shm/runcommand.info
. ;-)Wow! I didn't know that
runcommand.info
existed! That will help so I don't have to create a temp file with what's going on with a given game while I'm playing it.From github
/dev/shm/runcommand.info
now contains
system
emulator
rom
full commandline
-
@obsidianspider This thread is very informative and it's a pleasure to see your progress in your SNES build. Keep up the good work
-
Really good stuff here and a great build. I want to thank you sharing everything you have been doing, it is going to save me a lot of time and many headaches because I too was looking to use a secondary screen but I want to try and stuff it in a Gamecube.
-
@darthpaul said in Pi in a Super Famicom Build:
Really good stuff here and a great build. I want to thank you sharing everything you have been doing, it is going to save me a lot of time and many headaches because I too was looking to use a secondary screen but I want to try and stuff it in a Gamecube.
I've seen a few Gamecube builds and it looks very doable. If you do use a second screen, where would you put it?
-
@obsidianspider I would replace plastic circle on the top with clear acrylic and have the screen displayed through it.
-
@darthpaul said in Pi in a Super Famicom Build:
@obsidianspider I would replace plastic circle on the top with clear acrylic and have the screen displayed through it.
Go for it!
-
You should create a how-to thread just on a secondary screen. I'm sure there are many "MAME" users who could find many ways to use that second screen on a full size Arcade cabinet.
-
@darthpaul said in Pi in a Super Famicom Build:
You should create a how-to thread just on a secondary screen. I'm sure there are many "MAME" users who could find many ways to use that second screen on a full size Arcade cabinet.
I'm still working out the kinks, and my code is a hot mess because I don't know what I'm doing, but everything I'm doing with that screen is based on the examples from Adafruit.
-
@obsidianspider it should be done in the disc drive on a gamecube. Hinged so when you open the drive the screen sits vertical.
-
@edmaul69 I like it, the hinge would have to be modified so the lid opens wider but I'm always up for a challenge.
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.