Pi in a Super Famicom Build
-
@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.
-
Reddit really likes a Super Famicom clock that someone made. Looks like I'll be in good company once I get back from traveling for work and can get my build "done." (Are they ever really done?)
-
Before I hack up the cartridge for my screen I decided to do a test cut on a light switch plate. To keep things simple I'm making it 36mm high and 46mm wide.
I made a rough cut with my Dremel inside the line.
I used a hand file to clean up the edge and get it to the right size.
I set it on the screen and it looks pretty good. Not perfect, but pretty good for a first try.
Now to try it for realβ¦
-
My friend is still working on the 3D printed back panel, so I decided to work on the screen in the cartridge after work today and I am really happy with how it turned out.
I started by taking the label off the cartridge. I tried putting it in boiling water, but that didn't work well and I didn't want to warp the plastic, so I soaked the label with WD-40 and then used my fingernail to scrape it off. I printed out a label to use as a mock-up so I could get placement for the screen hole.
After some careful time with a Dremel and file I got a pretty decent hole.
I decided to cut down some standoffs and glue them to the cartridge so the screen would be removable. You can also see the one screw tab that came cracked off while I was filing (I guess the tweaking in the vise must have caused stress on the 20-year old plastic) and I had to slather it with hot glue to give it strength when I put it back in.
Having the screen removable proved a good idea as my quick disconnects that I planned to use didn't fit when I tried to close things up so I had to remove them and solder the ribbon cable directly to the screen from the cartridge board.
It fit together pretty nicely
And it works really well! Now I need to design a label.
-
@obsidianspider looking slick man! You must have spent ages getting that hole just right. It looks perfect in the picture
-
@moosepr said in Pi in a Super Famicom Build:
@obsidianspider looking slick man! You must have spent ages getting that hole just right. It looks perfect in the picture
Thanks! It really did take hours. From the time I started the test cut on the light switch to the actual photos I posted here it was about 7 hours. The hole isn't perfect, but I think it's pretty good for being the second time I've done anything like that (the first time being that light switch mockup), and being freehand.
I used a piece of craft foam to smoosh between the screen and cartridge to take up the gap so the backlight doesn't bleed through since the Super Famicom cartridges aren't flat.
To anyone else who is going to attempt this, what worked well for me was to cut an undersized hole with your Dremel (~1mm inside the line) and then finish it off with a razor blade to get the melted plastic off, and hand file to get it to the right size, make it straight, and smooth it out.
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.