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
, andGBA
. - I i needed to create an icon for the
GBA
section, which is linked above.
Getting started
- 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
- Copy the
MGBA
folder toGBA
and rename theNESTOPIA
folder toNES
. You’ll also want to rename theMGBA
folder toGBA
.
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
- 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 (theEXT
parameter). My files look like the following below after modification:
cpi@clockworkpi:~/apps/launcher/Menu/GameShell/20_Retro Games$ cat GBA/action.config
ROM=/home/cpi/games/GBA
ROM_SO=/home/cpi/apps/emulators/mgba_libretro.so
EXT=gba,gbx,gbc,zip
LAUNCHER=retroarch -L
TITLE=Gameboy Advanced Roms
SO_URL=http://buildbot.libretro.com/nightly/linux/armhf/latest/mgba_libretro.so.zip
cpi@clockworkpi:~/apps/launcher/Menu/GameShell/20_Retro Games$ cat GBC/action.config
ROM=/home/cpi/games/GBC
ROM_SO=/home/cpi/apps/emulators/mgba_libretro.so
EXT=gba,gbx,gbc,zip
LAUNCHER=retroarch -L
TITLE=Gameboy Color Roms
SO_URL=http://buildbot.libretro.com/nightly/linux/armhf/latest/mgba_libretro.so.zip
cpi@clockworkpi:~/apps/launcher/Menu/GameShell/20_Retro Games$ cat NES/action.config
ROM=/home/cpi/games/NES
ROM_SO=/home/cpi/apps/emulators/nestopia_libretro.so
EXT=zip,nes
LAUNCHER=retroarch -L
TITLE=Nintendo Roms
SO_URL=http://buildbot.libretro.com/nightly/linux/armhf/latest/nestopia_libretro.so.zip
- Restart the Gameshell and you should be done.