separating snes/super famicom games
-
@groviar no my apologies I had it confused. Depends on how you prefer to theme it. You are correct.
-
Ah, okay then. I wanted to make sure I had that part right at least. Thanks for that link!
-
So here we go...
This is a small tutorial with images that should help you to connect to your RPi so that you can later add or edit themes, even themes that are only available on github or other sources. I will use the words ES and RPi which stand for EmulationStation and Raspberry PiWhat we need:
- WiFi connection or ethernet cable
- Putty
- Filezilla
- Notepad++ or any other text editor
- Carbon theme (files from github) https://github.com/RetroPie/es-theme-carbon
- If you're not British try to find an image of a UK keyboard layout might be useful later in Putty
Plug in your Ethernet cable and power on your RPi or power on your RPi and setup your WiFi through the RetroPie menu in EmulationStation.
Now find out what IP address your RPi has by going to the RetroPie menu in ES under show IPThen install or/and open Filezilla.
Follow these 6 Stepsonce you did that and could create the connection you should see this on your right side
double click on the emulationstation folder
create a directory and name it themes
Now open Putty.
Under Host Name (or IP address) enter the word retropie and hit enter.
login as: pi
pi@retropie's password: raspberryyou should see something like this
Type
sudo nano /etc/samba/smb.conf
Scroll all the way to the bottom and add the following:
[themes] comment = themes path = "/home/pi/.emulationstation/themes" writeable = yes guest ok = yes create mask = 0644 directory mask = 0755 force user = pi
Ctrl+x then y hit enter to save.
After that, you will need to restart the samba service:sudo /etc/init.d/samba stop sudo /etc/init.d/samba start
Access your RPi through the Network in Windows. You should be able to see these folders.
You could access the carbon theme folder that is already inside your Pi but I like to keep them separated since I customize the themes a bit to my liking.
You should have the carbon theme files already so open the themes folder and create a new folder and name it to what you like for this example we call it carbon-custom
Put the files in that new folder.Now we need to create a new es_systems.cfg file which contains the system launch data. here you will enter the codes for all the systems that you want to use in future.
In your case you want the SNES and stuff separated so you could use something like this.<?xml version="1.0"?> <systemList> <system> <name>megadrive</name> <fullname>Sega Mega Drive</fullname> <path>/home/pi/RetroPie/roms/megadrive</path> <extension>.smd .bin .gen .md .sg .zip .SMD .BIN .GEN .MD .SG .ZIP</extension> <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ megadrive %ROM%</command> <platform>megadrive</platform> <theme>megadrive</theme> </system> <system> <name>nes</name> <fullname>Nintendo Entertainment System</fullname> <path>/home/pi/RetroPie/roms/nes</path> <extension>.nes .zip .NES .ZIP</extension> <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ nes %ROM%</command> <platform>nes</platform> <theme>nes</theme> </system> <system> <name>snes</name> <fullname>Super Nintendo</fullname> <path>/home/pi/RetroPie/roms/snes</path> <extension>.bin .smc .sfc .fig .swc .mgd .zip .BIN .SMC .SFC .FIG .SWC .MGD .ZIP</extension> <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ snes %ROM%</command> <platform>snes</platform> <theme>snes</theme> </system> <system> <name>snes</name> <fullname>Super Nintendo</fullname> <path>/home/pi/RetroPie/roms/superfamicom</path> <extension>.bin .smc .sfc .fig .swc .mgd .zip .BIN .SMC .SFC .FIG .SWC .MGD .ZIP</extension> <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ snes %ROM%</command> <platform>snes</platform> <theme>superfamicom</theme> </system> <system> <name>nes</name> <fullname>Nintendo Entertainment System</fullname> <path>/home/pi/RetroPie/roms/famicom</path> <extension>.nes .zip .NES .ZIP</extension> <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ nes %ROM%</command> <platform>nes</platform> <theme>famicom</theme> </system> <system> <name>pcengine</name> <fullname>PC Engine</fullname> <path>/home/pi/RetroPie/roms/pcengine</path> <extension>.pce .ccd .cue .zip .PCE .CCD .CUE .ZIP</extension> <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ pcengine %ROM%</command> <platform>pcengine</platform> <theme>pcengine</theme> </system> <system> <name>pcengine</name> <fullname>PC Engine</fullname> <path>/home/pi/RetroPie/roms/turbo16</path> <extension>.pce .ccd .cue .zip .PCE .CCD .CUE .ZIP</extension> <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ pcengine %ROM%</command> <platform>pcengine</platform> <theme>turbo16</theme> </system> <system> <name>retropie</name> <fullname>RetroPie</fullname> <path>~/RetroPie/retropiemenu</path> <extension>.rp .sh</extension> <command>sudo /home/pi/RetroPie-Setup/retropie_packages.sh retropiemenu launch %ROM% </dev/tty >/dev/tty</command> <platform/> <theme>retropie</theme> </system> </systemList>
If you want to know the definitions for other systems open the original es_systems.cfg file, but don't edit that file just copy&paste code from there into your es_systems.cfg file.
Save that file on to your desktop. Of course name it es_systems.cfg
Now back in Filezilla again access that emulationstation folder from before (/opt/retropie/configs/all/emulationstation) and transfer the es_systems.cfg file. This file now has priority over the other cfg file that is already inside the Pi.
In this cfg you can edit things add or remove systems as you please.Now access your Pi through the PC Network again and go into the roms folder to create the famicom, superfamicom, turbo16 and all other roms folders that you need and are not there yet.
The last task for now would be to create the themes for those systems. So either you copy&paste an existing system and replace the logos with Famicom, Super Famicom, Turbografx16 and so on or you contact the creator of the carbon theme and ask him if he could do that for you. He is a busy guy though so don't hold your breath.
I took the freedom to create the Famicom and Super Famicom logos so if you need them just tell me any time. Other logos like Turbografx are sometimes included in varous themes as alternative logo, sometimes named as system2.svg. You can find the turbografx16 logo in my theme for example in the pcengine folder.I hope this will help you a bit. I know it's a lot for just wanting separate systems but that is how it works with RetroPie & Co.
I didn't know more than you, I never touched Linux before 3 months ago when I first time registered here in this forum but I had certain basics regarding file transfer and access to other devices.
Within those 3 months I created a theme, converting PNG logos to SVG format and are helping out people. So hang in there. Anything is just ask in the forum there are plenty of skilled, kind people around. -
the following is the terminal version of the guide above
It is not recommended to make any direct edits to any themes installed from the setup script or the default
/etc/emulationstation/es_systems.cfg
More details why here:
https://retropie.org.uk/docs/EmulationStation/#editing-es-configs
If you aren't afraid of the terminal you can start here:
Theme
Create custom theme directory:
mkdir ~/. emulationstation/themes
Copy theme:
sudo cp -r /etc/emulationstation/themes/carbon ~/. emulationstation/carbon_custom
Change custom theme to owner pi:
sudo chown -r pi:pi ~/.emulationstation/themes
Then you should be able to edit your custom theme over samba from the configs folder without messing with samba share configs as I believe the theme will be editable from the
/configs/all/emulationstation
folder or something like thates_systems.cfg
Copy es_systems.cfg
sudo cp /etc/emulationstation/es_systems.cfg ~/. emulationstation/es_systems.cfg
Chang owner to pi:
sudo chown pi:pi ~/. emulationstation/es_systems.cfg
Again as above now it can be modified from the config folder on samba shares
More notes here:
https://retropie.org.uk/docs/EmulationStation/#es_systemscfg-edits
There's also a guide on the docs: https://retropie.org.uk/docs/Add-a-New-System-in-EmulationStation/
Formatting is a bit off and I need to fix that but basically summarises everything on this thread
Multiple ways to do things through Linux.
-
Okay, I just checked in and saw that you guys posted a bunch of stuff here. Thanks so much. I may not get to it until tomorrow since my cold is still dragging me down and I had another rough night of sleep and I want to give this a fresh start. So I'll post back after I give it a whirl and see what happens. I'm getting ahead of myself here but I'll definitely want those logos for the Japanese systems. Thanks again!
-
@groviar - I've done this too, separated our famicom from nes, sfc from snes, etc. Following this link (like @herb_fargus said) is what you need to do:
https://retropie.org.uk/docs/Add-a-New-System-in-EmulationStation/I find it nice to keep this organized. The only pain is that not all themes have the japanese systems configured by default. Pixel definitely has famicom, sfc, megadrive, pcengine, tg16, tg-cd, etc.
Basic steps:
- make the copy of the default es_systems.cfg:
sudo cp /etc/emulationstation/es_systems.cfg /opt/retropie/configs/all/emulationstation/es_systems.cfg - in the new copy of es_systems.cfg copy the < system > tag and change its info so you now have (for example) a nes and famicom entry
- don't forget to change the 'nes' word in the < command > line of your new system entry to be 'famicom':
<command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 SYS nes %ROM%</command>
should be
<command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 SYS famicom %ROM%</command> - make a copy of the nes folder in /opt/configs/ and rename it famicom so you have /opt/configs/famicom
- edit the emulators.cfg in /opt/retropie/configs/famicom to change any references from /opt/retropie/configs/nes to /opt/retropie/configs/famicom
- double-check the retroarch.cfg in the same folder for similar things.
- done!!
One thing I do too (this is just for bonus points) is make a folder called " All" in the rom folder for a system and put all the roms in there. So, for nes all my roms are in "/home/pi/Retro-Pie/roms/nes/ All/". The space before the A in " All" is just to make sure that it would always be at the top of the list. Then I make a 'sym-link' for my favorite roms from the " All" folder back to the /home/pi/Retro-Pie/roms/nes folder. That way my favorites show up when I navigate to the NES system in emulation station, but I always have access to every rom if I need it! You use the 'ln -s' command for this, it's not too bad:
ln -s "/home/pi/Retro-Pie/roms/nes/ All/mario3.zip" "/home/pi/Retro-Pie/roms/nes/mario3.zip"
If you do this, you'll need to make sure to change the default save state folder in the /opt/retropie/configs/nes/retroarch.cfg file - it's super-easy to do:
https://www.reddit.com/r/RetroPie/comments/3dyki2/changing_the_location_of_savefile_directory_and/ - make the copy of the default es_systems.cfg:
-
Okay, I'm following your guide since I'm more comfortable working within Windows a bit more currently. All is going well so far, but I'm stuck here:
"If you want to know the definitions for other systems open the original es_systems.cfg file, but don't edit that file just copy&paste code from there into your es_systems.cfg file."
I can't find that file anywhere. I was going to copy all that data and paste it into my new es_systems.cfg file, and just make the necessary changes for the additional systems, but I can't find the file. I searched the entire RETROPIE folder (bios, configs, roms, splashscreens, themes) and it's nowhere. Is it hidden or in a different location?
Also, I downloaded "es-theme-carbon-master.zip" from your link and extracted all the carbon folders for each system into my new "carbon-custom" themes folder. There were 84 total folders. Is it okay to copy them all in there or just the systems I plan to use? And there are 5 additional files in that zip file:
- .gitattributes
- .gitignore
- carbon.xml
- readme.txt
- theme.xml
I'm guessing I should leave those out, and just copy the folders, but I wanted to make sure?
-
Ok, so I figured out what I was doing wrong with finding the es_systems.cfg file. I went into putty and typed:
sudo cp /etc/emulationstation/es_systems.cfg /opt/retropie/configs/all/emulationstation/es_systems.cfg
which made a copy, then I copied that copy over to my desktop through Filezilla so I could edit it.
That's where I'm at now.
-
@groviar - now that you've copied it to /opt/retropie/configs/all, you should be able to find it in Windows Explorer by going to
\RETROPIE\configs\all
you can edit it directly there, but I'd make a backup copy first just in case!
-
How is your cold? Any better?
Very good. You are doing fine thus far.If you are done editing the new es_systems.cfg file put that into the emulationstation folder via Filezilla. Folder is here /opt/retropie/configs/all/emulationstation
Or access /home/pi/ and click on the emulationstation short cut there. -
Hi,
thanks for asking about my cold. It's still hanging on. I had a 3rd rough night last night, waking up every hour. Lots of cold sweats. But right now I feel pretty good. I've been taking Sudafed (the real Sudafed, not the otc) and while it's been reducing my stuffiness/sinus pain, I think it's contributing to my poor sleep.
Anyways, I just finished up editing the es_systems.cfg on my desktop and I'm about to copy it back over to:
/opt/retropie/configs/all/emulationstation/es_systems.cfg
using Filezilla. But I have a question about the new systems I added. I just used the exact copy of the es_systems.cfg on my desktop and copy-pasted the nes, snes and pcengine system entries to add tubo16, famicom, and superfamcom according to your example. But I'm curious - under "name" or "fullname", would I still leave those as they orignally were, like in your examples? For instance:
<name>pcengine</name> <fullname>PC Engine</fullname>
For the turbo16 entry, I wouldn't change <fullname> to "TurboGrafix-16" and/or <name> to turbo16? Just curious - I'm trying to figure out how these lines affect the configs. Right now I have those entries exactly as you typed them. Does the <fullname> entry change what is actually displayed in Retropie when I scroll through the systems?
And what about those extra files in the carbon themes zip I downloaded:
.gitattributes
.gitignore
carbon.xml
readme.txt
theme.xmlDo I just leave those files out and just copy all the folders over, even the systems I'm not currently using?
-
And once I finish copying over the new es_systems.cfg, what do I do to create the new themes for turbo16, famicom and superfamicom? In the new "carbon-custom" folder I created, with all the carbon themes I extracted from the downloaded zip, I see there is a folder named "pcengine" and also one named "tg16". I'm guessing "tg16" is the Turbografix-16. Should I rename that to "turbo16" to match the roms folder and es_systems.cfg file? Or should I leave the folder named "tg16" and change the cfg entries and rom folder to "tg16" to match? Does it matter as long as the names match? There is no carbon folder for famicom and superfamicom. So do I just copy the "nes" and "snes" folders and name them "famicom" and "superfamicom"? What about the files inside? Inside the custom "nes" carbon folder I see 1 file and 1 folder. The file is named "theme.xml" and the folder is named "art" with the following files inside:
controller.svg
system.svg
system2.svgDo I need to make any changes to those files? Where do I put the new logos? There doesn't seem to be any images or logos in the new carbon theme folders I downloaded, unless I'm missing the obvious.
If you could share your logos for the turbografix-16, famicom and superfamicom I'd be very grateful. The only thing I'm stuck on now is just how to move forward with setting up the custom themes. I guess like you said the easiest way is to copy the current themes folders and just replace the logos, but that's what I'm stuck on. Where are the current themes on my Retropie with the graphics and logos - i don't see them in Filezilla? And should my "carbon-custom" folder have all the carbon folders from that zip file or just the new systems I'm adding - famicom, superfamicom, and turbografix16?
Sorry for all the questions - it's really just the themes I'm confused with now.
-
Regarding the Fullname and name tags in the system cfg file. I left them as they are in my theme setup. But you can rename them if you want to
<name>famicom</name> <fullname>Family Computer</fullname>
You seem to be in luck because the carbon theme comes with a TurboGrafx 16 theme already so you only need to copy&paste the PC engine system definitions and change the paths to the t16 roms folder inside the es_systems.cfg file. Also rename the name and full name to t16 and TurboGrafx16 if you like.
<system> <name>tg16</name> <fullname>TurboGrafx16</fullname> <path>/home/pi/RetroPie/roms/t16</path> <extension>.bin .smc .sfc .fig .swc .mgd .zip .BIN .SMC .SFC .FIG .SWC .MGD .ZIP</extension> <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ tg16 %ROM%</command> <platform>tg16</platform> <theme>tg16</theme> </system>
Not sure about the <platform> tag but I think that needs to stay as pcengine since that is used for scraping the roms later. Maybe I someone else can chime in and confirm that.
These two files you won't need.gitattributes
.gitignoredelete them.
There is no carbon folder for famicom and superfamicom. So do I just copy the "nes" and "snes" folders and name them "famicom" and "superfamicom"?
Yes exactly. Copy and paste those folders, create also the rom folders, don't forget to add the systems definitions for them with the path to the correct rom folder.
Most theme creators name their logos system.svg and they sometimes add alternative logos and name them system2.svg
You can edit the theme.xml file to use either one. So if you want to use the system2.svg logo just change the image name inside the theme.xml file.
you will need the famicom and super famicom logos which I have. I am currently working on some Japanese MegaDrive logos and will offer them for download later. (Tomorrow?) -
Okay, I see jdorion mentioned:
"don't forget to change the 'nes' word in the < command > line of your new system entry to be 'famicom':
<command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 SYS nes %ROM%</command>
should be
<command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 SYS famicom %ROM%</command>"I see you hadn't done that in your examples. Did you just overlook that by accident?
How about the
carbon.xml
theme.xmlfiles from the carbon zip folder? Should those 2 stay in the "carbon-custom" folder?
-
@FlyingTomahawk
In your es_systems.cfg example the TurboGrafx-16 istg16
and nott16
.I could be wrong but I think when you use like
<platform>pcengine</platform>
it will scrape the Europe art and if you put<platform>tg16</platform>
it will scrape the USA art. Not sure where the Japan art fits in this but I would assume it's with the "pcengine" platform. -
That's good to know. So I'll change the <platform> entry to "tg16" for the Turbografix entry. I'll leave the famicom and superfamicom <platform> entries alone since I don't know how they will scrape.
-
Not sure about that one. I didn't do it in my RPi and had no issues thus far. But if he says you should do it, do it and see what happens. If you have any issues just revert it back.
Inside the carbon-custom folder you should have an art folder (includes all the necessary images for the theme.), various system folders and in each of them the theme.xml file and another art folder with the system.svg logos.
and usually at the bottom the carbon.xml file and probably a readme.txt file. -
Yeah thanks for pointing that out, my bad. Fixed it.
Not sure about the platform thing. Last time I scraped some PCengine games it gave me mostly TG16 images. Isn't that a rom thing? If it is a Japanese version rom it will scrape Japanese images? Something like that I thought, not sure though. -
@groviar
Here's the list of supported platforms for Steven Selph's Scraper:
https://github.com/sselph/scraper/wiki/Supported-Platforms...but it doesn't tell you exactly what to put in the
<platform>
entry. Does anyone have a list like that?Not sure about the platform thing. Last time I scraped some PCengine games it gave me mostly TG16 images. Isn't that a rom thing? If it is a Japanese version rom it will scrape Japanese images? Something like that I thought, not sure though.
Yeah, Steven Selph's Scraper uses the hash of the file to check against a database of known hashes to get box art. I think the one built into EmulationStation might rely on this
<platform>
entry more. -
@groviar @FlyingTomahawk - changing nes to famicom in the <command> portion of es_systems.cfg will tell retroarch to look in the /opt/configs/famicom folder for its emulators.cfg and retroarch.cfg files when launching a rom. It's not 100% necessary, but would help if, for instance, you are doing the "All" folder thing and want the savegames for nes and famicom to be saved in the correct folders.
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.