Hello Evercade+EverSD users!
If you’re anything like me, you absolutely LOVE your Evercade and what it stands for, but you also want to run your own roms to fill out your library while you wait for your favorites to come on future carts you can buy to support the awesome developers who made them. Unfortunately, while the EverSD allows that to happen, it does so using vanilla Retroarch as the front end. IMHO this takes away from the experience a bit as the clean and simple stock UI of the Evercade is part of its pickup and play charm. Even as someone fairly well versed in using Retroarch as a frontend and configuring its vast number of options, I find myself preferring a basic interface like the stock UI offers.
With that idea in mind, I present to you my custom changes to the EverSD software, which allows you to launch supported systems & rom types directly from the stock UI while still using the updated version of Retroarch that is optionally provided as part of the EverSD downloads.
Here is a 2min video showing some of the systems not supported by the Stock UI normally, working in the Stock UI after applying my changes: Linky
EDIT (2021.08.16)
Here is a 5min video showing off most of the rom extensions supported by my work launching from the Stock UI: Linky
Prerequisites:
How To Make the Magic Happen:
Consider using a different SD card to test with if you already have built a large library of games on your EverSD. While everything here works great for me, you are not me – and while that’s great for you, it may not be for your SD card since I’m not a skilled code writer AT ALL. You won’t break anything trying my work but you might screw up the contents of your SD card enough to frustrate you into reformatting it and having to redo all of your own hard work setting it up again.
Now that you have your roms in the right place, we need to create pointer files to them in the /game/ folder. The purpose of this is to fool the stock UI into thinking that all your roms are supported so they will be displayed as well as tell the launch.sh file where they actually are and what libretro core they should load with. The following steps will work only on a windows PC since it uses my provided batch file to create the pointer files. If you’re not using windows, you can create the files by hand, wait for me to figure out how to write a bash script for linux/macOS, or write your own.
Artwork files go in the /game/ folder as always. You can use the EverSD artwork tool or some quick and dirty windows batch files I provide to convert existing box/screenshot/wheel art from a scraper to the necessary size and naming convention. If you decide to use my scripts, see the artwork section of the second post for detailed info about them.
Setting up CD games:
If you have not already copied your CD games over to your SD card /roms/ folder, do so now.
PLEASE NOTE: ROM file extensions MUST be lowercase. Also, your rom files must NOT have a period '.' anywhere in the filename. The only period should separating the filename from the extension of the rom. Having extra periods in the rom file will break the logic used to make this method work. (Sorry about that) If you rename a CD image file that has a matching .cue file, make sure to open the .cue file in a text editor and rename the image there as well!!
For each CD game, we need to create a pointer file in the /games/ folder on the SD card. To do this with a CD game that has multiple files for a single game, we first need to determine which one file the game will be opened with. For single disc games, this will always be the .cue file if it exists. If it doesn’t then it would likely be a .chd, .img, .iso, or possibly even a .ccd or .sub if it’s a playstation game that requires special data to work correctly. For single file, single disc games we clearly already know which file the game opens with, right?
Copy or make note of the FULL FILE NAME of the file the game should open with, including its extension (ie: game.iso). In the /game/ folder, create a new blank file and change its ENTIRE NAME AND EXTENSION to ‘game.iso.??.sub’ where ‘??’ is replaced with either ‘tg’, ‘md’, or ‘ps’ if it’s a TG16/PCE CD, Sega/Mega CD, or PSX game respectively. EXAMPLE: [Rom]: Super Air Zonk.chd [Pointer]: Super Air Zonk.chd.tg.sub
If your CD game is a multi-disc Playstation game, you can either use a single .pbp file (which would have been handled the same as a cart rom earlier in this guide) or create a .m3u playlist and use this as your launch file. Your pointer for ‘game_name.m3u’ would simply be ‘game_name.m3u.ps.sub’
If your CD game is a multi-disc Sega CD/Mega CD game,you unfortunately (for now) need to treat each disc as a separate game due to lack of .m3u support in the libretro core available for this system. (If you know how to build libretro cores from source for armv7-neon-hf – please contact me). Follow the single disc game steps above.
EDIT (2021.09.30) If you download the newer build of Genesis Plus GX from the attached files below and use that instead of the older one provided on Libretro's buildbot server, you will have full CHD and m3u support!! Just grab 'gen+gx_chd_compatible.7z' below and extract it to your SD card's '/retroarch/cores/' folder! If you create a .m3u playlist for a multi-disc game, your pointer file for ‘game_name.m3u’ would simply be ‘game_name.m3u.md.sub’
Custom Retroarch Configuration File:
Optionally, you can download my customized Retroarch configuration attached ‘Custom Retroarch.7z’ to get a few quality of life features setup for you if you’re a Retroarch novice or just lazy (no judgement here). This extra download is not required at all for getting games running in Retroarch from the stock UI, but they definitely go along with the idea of “Pickup and Play” convenience. Mostly is configures the Evercade’s inputs to the most rational layout I could think of, setup the most needed hotkeys as well as tweak some core performance settings and relocate game saves and states to the root of the SD card in the /saves/ and /states/ folders respectively for easy access when backing up and/or jumping from device to device with your game saves. Just make sure to backup or rename your existing SD card /retroarch/config/retroarch.cfg file before extracting my download to your SD card if you made any previous changes on your own that you don’t want to delete forever so you can switch back later.
You're all done! 
Well, this was a VERY long post. Much longer than I thought it would be. I suck at writing out directions so I hope they came out understandable. With any luck I will be able to reserve post#2 to put detailed info about libretro cores used, file extensions needed, and retroarch hotkeys for those that also use my retroarch.cfg
If you need any help with my work, reply to this thread or message me here on GBATemp and I'll do my best to help out.
If you have any suggestions for additions or changes please let me know as well.
PLEASE don’t ask for support to be added for new rom types or systems unless they already work in the vanilla Retroarch UI. Nothing I’ve done here changes what retroarch can do on the Evercade in any way. I’ve just tried to make most of the rom types accessible from the Evercade’s stock user interface.
CHANGELOG
If you’re anything like me, you absolutely LOVE your Evercade and what it stands for, but you also want to run your own roms to fill out your library while you wait for your favorites to come on future carts you can buy to support the awesome developers who made them. Unfortunately, while the EverSD allows that to happen, it does so using vanilla Retroarch as the front end. IMHO this takes away from the experience a bit as the clean and simple stock UI of the Evercade is part of its pickup and play charm. Even as someone fairly well versed in using Retroarch as a frontend and configuring its vast number of options, I find myself preferring a basic interface like the stock UI offers.
With that idea in mind, I present to you my custom changes to the EverSD software, which allows you to launch supported systems & rom types directly from the stock UI while still using the updated version of Retroarch that is optionally provided as part of the EverSD downloads.
Here is a 2min video showing some of the systems not supported by the Stock UI normally, working in the Stock UI after applying my changes: Linky
EDIT (2021.08.16)
Here is a 5min video showing off most of the rom extensions supported by my work launching from the Stock UI: Linky
Prerequisites:
- You need to have an EverSD so you can load roms from an SD card (duh!)
- Your Evercade needs to be either on firmware 1.2.0 or 1.3.1 (current as of this post)
- You need to have followed this thread to get Retroarch setup and running on your SD card which includes downloading Retroarch itself from the Gdrive mirror in the thread or the EverSD website.
How To Make the Magic Happen:
Consider using a different SD card to test with if you already have built a large library of games on your EverSD. While everything here works great for me, you are not me – and while that’s great for you, it may not be for your SD card since I’m not a skilled code writer AT ALL. You won’t break anything trying my work but you might screw up the contents of your SD card enough to frustrate you into reformatting it and having to redo all of your own hard work setting it up again.
- If you haven’t already, download the libretro “armv7-neon-hf” cores from here and extract the zips on to your SD card in the /retroarch/cores/ folder (must be unzipped so the contents are all ‘.so’ files!)
- Delete or rename your existing /game/ folder on your SD card so you can use the one I provide. Nothing in your current /game/ folder will work as-is with my setup.
- Delete or rename the existing ‘launch.sh’ file on the root of your SD card.
- If you have a folder on the root of your SD card called ‘roms’ that you created previously, you’ll need to delete or rename that as well.
- Download my ‘Starter Pack (v1.0b).7z’ and extract it to the root of your SD card. This will add the following folders: ‘game’, ‘roms’ & ‘tools’. It will also add ‘launch.sh’ and “Cores and Extensions.txt’ on the root of your SD card.
- Take a second to look at the ‘Cores and Extensions.txt’ or the second post in this thread to see a listing of the libretro cores used to play games from the stock UI and the supported extensions the rom files must have. Unless the rom is for FBNeo (arcade/neogeo) they must not be archived (ie: no .zip or .7z) and should have one of the extensions listed in the document for the given core that will be used. Required bios files for each core should be placed in the /retroarch/system/ folder.
- Place your rom files in the /roms/ folder on your SD card. I have not tested the limit (if any) that the stock UI can handle or if any slowdown occurs above a certain number of games. If you plan to store vast quantities of roms on your SD card then perhaps you’re better off with the vanilla Retroarch front end and its integrated playlist feature. You could always just populate the stock UI with your favorite games you play the most and use Retroarch’s UI for the bulk of your collection. PLEASE NOTE: ROM file extensions MUST be lowercase. Also, your rom files must NOT have a period '.' anywhere in the filename. The only period should separating the filename from the extension of the rom. Having extra periods in the rom file will break the logic used to make this method work. (Sorry about that)
Now that you have your roms in the right place, we need to create pointer files to them in the /game/ folder. The purpose of this is to fool the stock UI into thinking that all your roms are supported so they will be displayed as well as tell the launch.sh file where they actually are and what libretro core they should load with. The following steps will work only on a windows PC since it uses my provided batch file to create the pointer files. If you’re not using windows, you can create the files by hand, wait for me to figure out how to write a bash script for linux/macOS, or write your own.
- First open up two separate file explorer windows on your computer – one showing the contents of your SD card /roms/ folder, and the other showing the contents of your SD card /tools/ folder.
- Select all the CARTRIDGE rom files you want to display in the stock UI – DO NOT select any CD format games like .cue/.iso/.img/.chd/.m3u (an exception being .pbp files, which you can select now). At the moment I don’t have a batch file to handle these CD formats automatically – you’ll see why they’re special soon.
- Drag & drop the selection of cart roms (and .pbp files) on to the script in the /tools/ folder called ‘Make_Rom_Pointers’. The files will be created and placed in /game/ automatically.
Artwork files go in the /game/ folder as always. You can use the EverSD artwork tool or some quick and dirty windows batch files I provide to convert existing box/screenshot/wheel art from a scraper to the necessary size and naming convention. If you decide to use my scripts, see the artwork section of the second post for detailed info about them.
Setting up CD games:
If you have not already copied your CD games over to your SD card /roms/ folder, do so now.
PLEASE NOTE: ROM file extensions MUST be lowercase. Also, your rom files must NOT have a period '.' anywhere in the filename. The only period should separating the filename from the extension of the rom. Having extra periods in the rom file will break the logic used to make this method work. (Sorry about that) If you rename a CD image file that has a matching .cue file, make sure to open the .cue file in a text editor and rename the image there as well!!
For each CD game, we need to create a pointer file in the /games/ folder on the SD card. To do this with a CD game that has multiple files for a single game, we first need to determine which one file the game will be opened with. For single disc games, this will always be the .cue file if it exists. If it doesn’t then it would likely be a .chd, .img, .iso, or possibly even a .ccd or .sub if it’s a playstation game that requires special data to work correctly. For single file, single disc games we clearly already know which file the game opens with, right?
Copy or make note of the FULL FILE NAME of the file the game should open with, including its extension (ie: game.iso). In the /game/ folder, create a new blank file and change its ENTIRE NAME AND EXTENSION to ‘game.iso.??.sub’ where ‘??’ is replaced with either ‘tg’, ‘md’, or ‘ps’ if it’s a TG16/PCE CD, Sega/Mega CD, or PSX game respectively. EXAMPLE: [Rom]: Super Air Zonk.chd [Pointer]: Super Air Zonk.chd.tg.sub
If your CD game is a multi-disc Playstation game, you can either use a single .pbp file (which would have been handled the same as a cart rom earlier in this guide) or create a .m3u playlist and use this as your launch file. Your pointer for ‘game_name.m3u’ would simply be ‘game_name.m3u.ps.sub’
If your CD game is a multi-disc Sega CD/Mega CD game,
EDIT (2021.09.30) If you download the newer build of Genesis Plus GX from the attached files below and use that instead of the older one provided on Libretro's buildbot server, you will have full CHD and m3u support!! Just grab 'gen+gx_chd_compatible.7z' below and extract it to your SD card's '/retroarch/cores/' folder! If you create a .m3u playlist for a multi-disc game, your pointer file for ‘game_name.m3u’ would simply be ‘game_name.m3u.md.sub’
Custom Retroarch Configuration File:
Optionally, you can download my customized Retroarch configuration attached ‘Custom Retroarch.7z’ to get a few quality of life features setup for you if you’re a Retroarch novice or just lazy (no judgement here). This extra download is not required at all for getting games running in Retroarch from the stock UI, but they definitely go along with the idea of “Pickup and Play” convenience. Mostly is configures the Evercade’s inputs to the most rational layout I could think of, setup the most needed hotkeys as well as tweak some core performance settings and relocate game saves and states to the root of the SD card in the /saves/ and /states/ folders respectively for easy access when backing up and/or jumping from device to device with your game saves. Just make sure to backup or rename your existing SD card /retroarch/config/retroarch.cfg file before extracting my download to your SD card if you made any previous changes on your own that you don’t want to delete forever so you can switch back later.
Well, this was a VERY long post. Much longer than I thought it would be. I suck at writing out directions so I hope they came out understandable. With any luck I will be able to reserve post#2 to put detailed info about libretro cores used, file extensions needed, and retroarch hotkeys for those that also use my retroarch.cfg
If you need any help with my work, reply to this thread or message me here on GBATemp and I'll do my best to help out.
If you have any suggestions for additions or changes please let me know as well.
PLEASE don’t ask for support to be added for new rom types or systems unless they already work in the vanilla Retroarch UI. Nothing I’ve done here changes what retroarch can do on the Evercade in any way. I’ve just tried to make most of the rom types accessible from the Evercade’s stock user interface.
CHANGELOG
- 'gen+gx_chd_compatible.7z' - Newer/custom build of Genesis Plus GX core that allows for use of the .CHD format as well as support for .m3u playlists for multi-disc games. Add it to you SD card's '/retroarch/cores/' folder, making sure to overwrite the older Libretro official version if present.
- Tools Pack (Update 1) - Delete existing /tools/ folder first and then extract this one to the root of your SD Card. Rewrote & renamed the artwork scripts. Now comes with 4 flavors included. Stretched & Scaled direct to SD /game/ folder as well as Stretched & Scaled to a /converted/ folder at source location for use on your PC without your EverSD Card inserted in your PC.
- Starter Pack (v1.1b) - Added support for PrBOOM. WAD files are treated as rom files and as such go into SD card /roms/ folder. Pointer files can be made with included batch file.
- Starter Pack (v1.0b) - Initial release.
Attachments
Last edited by esmith13,