Adventures in modifying the menu


So i got and assembled my gameshell yesterday, and started to poke about to get it working how i intended for it to work. I generally prefer to have a more “stock” experience than using a ton of disparate tooling, so I wanted to look into supporting retro gaming within the stock menu system instead of using retro-arch. To be honest, it was a pretty quick hack to get it all working as i expected. For remote access I used a SFTP client and SSH.

Before we begin

  • I didn’t like how the game folders were broken down by application, to I instead broke them down by system. For this example, I have NES, GBC, and GBA.
  • I i needed to create an icon for the GBA section, which is linked above.

Getting started

  1. Copy the GBA icon into the ~/apps/launcher/skin/default/Menu/GameShell/20_Retro Games folder and rename the images to denote the name of the icon.
cpi@clockworkpi:~/apps/launcher/skin/default/Menu/GameShell/20_Retro Games$ ls -lah
total 28K
drwxr-xr-x 2 cpi cpi 4.0K Jul 26 14:40 .
drwxr-xr-x 3 cpi cpi 4.0K Jun  1 09:32 ..
-rw-r--r-- 1 cpi cpi 7.1K Jul 26 14:39 GBA.png
-rw-r--r-- 1 cpi cpi 2.9K Jun  8 09:52 GBC.png
-rw-r--r-- 1 cpi cpi 3.3K Jun  1 09:32 MAME.png
-rw-r--r-- 1 cpi cpi 3.0K Jun  8 09:52 NES.png
  1. Copy the MGBA folder to GBA and rename the NESTOPIA folder to NES. You’ll also want to rename the MGBA folder to GBA.
cpi@clockworkpi:~$ cd ~/apps/launcher/Menu/GameShell/20_Retro\ Games
cpi@clockworkpi:~/apps/launcher/Menu/GameShell/20_Retro Games$ cp -a MGBA GBC
cpi@clockworkpi:~/apps/launcher/Menu/GameShell/20_Retro Games$ mv MGBA GBA
cpi@clockworkpi:~/apps/launcher/Menu/GameShell/20_Retro Games$ mv NESTOPIA NES
cpi@clockworkpi:~/apps/launcher/Menu/GameShell/20_Retro Games$ ls -lah
total 24K
drwxr-xr-x 6 cpi cpi 4.0K Jul 26 14:31 .
drwxr-xr-x 7 cpi cpi 4.0K Jun  1 09:32 ..
drwxr-xr-x 2 cpi cpi 4.0K Jul 26 14:28 GBA
drwxr-xr-x 2 cpi cpi 4.0K Jul 26 14:27 GBC
drwxr-xr-x 2 cpi cpi 4.0K Jul 25 19:47 MAME
drwxr-xr-x 2 cpi cpi 4.0K Jul 26 14:29 NES
  1. edit each action.config file located in the specified folders and make the appropriate changes. the ROM path needs to be changed to match where the ROMs are located, and I generally modified the supported extensions (the EXT parameter). My files look like the following below after modification:
cpi@clockworkpi:~/apps/launcher/Menu/GameShell/20_Retro Games$ cat GBA/action.config
LAUNCHER=retroarch -L
TITLE=Gameboy Advanced Roms
cpi@clockworkpi:~/apps/launcher/Menu/GameShell/20_Retro Games$ cat GBC/action.config
LAUNCHER=retroarch -L
TITLE=Gameboy Color Roms
cpi@clockworkpi:~/apps/launcher/Menu/GameShell/20_Retro Games$ cat NES/action.config
LAUNCHER=retroarch -L
TITLE=Nintendo Roms
  1. Restart the Gameshell and you should be done.

I was limited to putting 1 image in the post as I was a new user, here is the GBA icon i had created.

1 Like

@Serj_Targarien also made some icons!

Maybe we need to ask yong to make a repo to hold links to the user created icon repos

Yeah, We should figure out a way to collect all of these icons and maybe even write something to walk down the menu and inject the appropriate icons into the appropriate place.