Adding Shortcuts to "Retro Games" on Clockork Menu

Hello all,
This is a guide of sorts (if this has been done before I apologize; it did not come up in search). I just spent a bit of time adding a Sega Game Gear section to my retro games folder for easy access without having to load a core from retroarch every time and I thought I would share my knowledge.

Before we begin, and to keep the guide from being ridiculously long; I assume you already know how to do the following.

  • SSH into your gameshell
  • Download cores from retroarch
  • Copy files from your computer to your gameshell

Now, assuming you have all three of the bullet points above checked off; let’s get into the guide which will add a sega game gear emulator option to your retro games menu. However, the steps are basically the same for adding any emulator core to the menu so feel free to follow along. Also, for your convenience I will provide a config file and an icon for you to use in case you just want the game gear folder. I will also be dissecting the config file in the post itself in case you’d rather just create the config on your device.

link to config file + image: http://www.teragentech.net/downloads/ggear.zip
NOTE: You can also just download this straight to your gameshell by sshing into it and running wget http://www.teragentech.net/downloads/ggear.zip if you just want the game gear stuff and don’t want your own icon.

Finally, before starting the guide; mandatory disclaimer to only use this emulator if you already own the roms you will be using as anything else is piracy and is bad.

  1. Open retroarch and download the gearsystem core (or whatever core you want to download)
  2. SSH into your pi and from the home directory navigate to /home/cpi/.config/retroarch/cores
  3. copy gearsystem_libretro.so to /home/cpi/apps/emulators
  4. navigate to /home/cpi/apps/launcher/Menu/Gameshell/20_Retro\ Games
  5. make a new directory (mkdir GGEAR) for your emulator
  6. inside the directory you created, create a file called action.config.
  7. Either copy one of the action.config files from one of the other emulator folders or copy the action.config from my link above.
  8. Modify the action.config with your desired settings.
  9. Navigate to /home/cpi/apps/launcher/skin/default/Menu/GameShell/20_Retro\ Games
  10. copy either the .png file i gave you or whatever png file you want to appear in the retro games menu for your emulator icon. it should be noted that you need to name your .png file whatever you named your emulator folder back in step 5. e.g. if you named your folder SNES, your icon needs to be named SNES.png
  11. exit the ssh session by typing exit and reboot your GameShell. you should be able to see your new icon under the retro games section (you may have to scroll with left or right) and if you click on the icon you should be brought to a menu similar to the other emulators preloaded.

action.cfg

ROM=/home/cpi/games/SEGA
ROM_SO=/home/cpi/apps/emulators/gearsystem_libretro.so
EXT=md,gg
LAUNCHER=retroarch -L
TITLE=GGEAR Roms
SO_URL=https://buildbot.libretro.com/nightly/linux/x86_64/2018-10-01_cores/gearsystem_libretro.so.zip

Most of this is pretty self-explanatory; the title is the title that displays when you boot into the emulator menu so you can put whatever you want here. The only thing I’m not sure about is the SO_URL. I went ahead and found a link to the zip and pasted it there and that site had a lot of the other cores there but I’m not sure if that link is just for update purposes or if it actually does something under the hood.

I really hope this guide helps people and if I missed anything or anyone has any trouble following the steps please feel free to comment

7 Likes

I have a complicated question about the launcher file.
Its hard to explain since my english is far from perfect.

How would you write the code in a action.config for dos games that uses folders?

Ex. I have a DOS game folder in ~/games/DOS/ and I have .sh scripts in ~/launcher/Menu/GameShell/20_Retro Games/DOS to launch all games.

So when I go in the Gameshell at Retro Games - DOS, I see all my games but they are shown with round icons. I would like them to be shown as a text list, like I get with other emulators using an action.config.

I tried moving all my .sh scripts to my ~/games/DOS folder and create a new action.config in the Launcher folder but dosbox load with an error. I am using dosbox-svn through a vanilla install so I am not launching through RetroArch.

So what should the action.config file look like?

Could you post a properly formatted command line to launch a DOS game? That would help in formatting the action.config file. Since I don’t currently use DOSBox, I’m not familiar with the package.

Currently I use the code like this in a .sh
/home/cpi/dosbox-svn-master/src/dosbox ~/games/DOS/aliensyndrome/ALIEN.EXE -exit -exit

Okay! Create, in the ~/games/DOS folder a file titled, Alien Syndrome.bat containing the following:

echo off
cd aliensyndrome
ALIEN.EXE -exit -exit

…or name the bat file aliensyndrome.bat and create an additional text file named, aliensyndrome.alias containing only:

Alien Syndrome

Now write your action.config file with the following:

ROM=/home/cpi/games/DOS
EXT=bat
LAUNCHER=~/dosbox-svn-master/src/dosbox
TITLE=DOS Box Games

You also want to create an action.json file in the same folder, containing:

{
"ROM":"/home/cpi/games/DOS",
"EXT":["bat"],
"LAUNCHER":"~/dosbox-svn-master/src/dosbox",
"TITLE":"DOS Box Games"
}

That should do it!

Wow I was far from this method. lol
Thanks very much good sir, I will try this first thing in the morning. :slight_smile:

Could not wait so I tried it right away.
Well its not working, I get an error message when dosbox boot.
Its pretty hard to read what it says but I think it this:

c:\call ALIENSYNDROME.BAT
Illegal command: ALIENSYNDROME.

Found it, its the length of the names. Dosbox cannot use names longer than 8 characters…
I then use your .alias method with a shorter name. Now it boot! Good.

Other issue now, when I quit a game, it fall back to the dos prompt, not to the Gameshell menu…
Found the solution for this.

Your code become for the action.config:

ROM=/home/cpi/games/DOS
EXT=bat
LAUNCHER=~/dosbox-svn-master/src/dosbox  -exit -exit
TITLE=DOS Games

And I added the same to the action.json

{
"ROM":"/home/cpi/games/DOS",
"EXT":["bat"],
"LAUNCHER":"~/dosbox-svn-master/src/dosbox -exit -exit",
"TITLE":"DOS Games"
}
1 Like

Then you’ll want to remove the -exit -exit from within the bat file. This is where you would place conditions for the specific DOS game.

Good!
Quick last question on the same subject.
Would it be possible somehow to call a specific mapping file for certain games?

it seem you could have a custom conf file for each game

Different games will naturally work best with different configuration settings. Something to consider is to define a conf file for each game that will set the appropriate configurations and start the game for you. Then, create a shortcut such as DOSBox.exe -conf “DOSbox-GameName.conf” so that you can start your game in the least possible number of steps.

https://www.dosbox.com/wiki/Dosbox.conf#Creation_and_Location


also, it seem that instead of loading game you could load a conf file :

Thanks for your quick answer, I’ll try that this weekend. :slight_smile:

hello
can anyone help me setup shortcuts for my snes9x2010 it works from retroarch the shortcut and icon appear on the menu also the rom directory is fine but it wont run when i click a rom it just takes me back to the main menu

this is what my action file looks like :slight_smile:

ROM=/home/cpi/games/SNES9x2010
ROM_SO=/home/cpi/apps/emulators/snes9x2010_libretro.so
EXT=sfc,zip,smc
LAUNCHER=retroarch -L
TITLE=snes9x2010
SO_URL=http://buildbot.libretro.com/nightly/linux/armv7-neon-hf/latest/snes9x2010_libretro.so.zip

I’ve tested this action.config with Rockman/Mega Man ,it works very well