Introducing Simple30, an Optimized PocketGo S30 Firmware

Last updated: 05SEP2021 (see Changelog for details)

I’m very proud of the PocketGo S30 Add-On Pack that I created last month, but something didn’t sit well with me about it. For starters, it was basically a series of clever workarounds to improve the experience, but it wasn’t perfect or sustainable. Today I’d like to introduce something I’m calling “Simple30”, which is a compilation of many improvements made by the retro handheld community that turns this device into something truly neat.

If you haven’t already, consider buying a PocketGo S30. For $60, it’s an excellent deal.

Table of Contents
First things first
Features
Installation
Required BIOS files
Supported systems
Hotkeys
Notes
Known issues

Changelog

First things first

The honest truth is that I had very little to do with the actual development of Simple30. This project is available thanks to a number of developers whose work enabled me to basically compile and streamline the user experience.

Developer bkacjois was able to create a fully-formed RetroArch 1.9.0 that works on the S30
Steve from Tech Toy Tinker (and RetroArena) added dozens of new emulators and ports to the device
DaMikki developed a safe shutdown mechanism for use with this device

So really I just took their work and put it into one package. I don’t think that Simple30 is the end of this development, either; I think that there are plenty more milestones to come.

Features

When it comes down to it, the goal of Simple30 is to give the user a fully capable device, but with a pick-up-and-play experience.

Simple30 is:

  • Optimized to allow you to play 90 systems and ports altogether, but the flexibility to pare down your system list to as few systems as you’d like (or as many as you’d like).
  • Pre-configured with optimal graphics settings to give you an excellent viewing experience without having to tinker with the settings yourself (but with the freedom to tinker if you’d like).
  • Pre-loaded with all relevant shaders and cheat files for your viewing and gaming pleasure.
  • Pre-configured with hotkeys to allow you to quickly and efficiently navigate your games.
  • Able to use a safe shutdown mechanism that allows you to safely power off your device and preserve your save games and configuration settings.

Installation

I recommend you upgrade the stock SD card in your device to a 128GB or 256GB microSD card, from a reputable brand like SanDisk or Samsung, so that you have a reliable storage option with plenty of space for your game collection. It is also confirmed that 512GB cards also work fine on this device. Here is a link to my recommended cards.

In order for this card to work on your device, you will need to format it to FAT32 file system. Windows can only format cards which are less than 32GB to FAT32, so you will need to use a program called guiformat. For Mac, you can use the Disk Utility program that comes with MacOS to format (“erase”) the card, with MS-DOS (FAT) as the format. In both cases, you can name the card “SIMPLE30”.

Once your card is formatted, download Simple30 here, and unzip the contents and drag them into your FAT32-formatted SD card. That’s it, you’re done. You can now add your game files to their respective folder within the main “roms” folder, and your BIOS files, too (more on that in the next section).

Required BIOS files

The BIOS files now need to be placed in the retroarch/system folder. Here are the necessary BIOS files for the default systems:

DREAMCAST: 
dc/dc_boot.bin
dc/dc_flash.bin

SEGA CD:
bios_CD_E.bin
bios_CD_J.bin
bios_CD_U.bin

FAMICOM DISK SYSTEM:
disksys.rom

GAME BOY (for boot logo):
gb_bios.bin

GAME BOY COLOR (for boot logo):
gbc_bios.bin

GAME BOY ADVANCE:
gba_bios.bin

NEO GEO:
neogeo.zip

PLAYSTATION:
scph1001.bin

TURBOGRAFX-CD:
syscard1.pce
syscard2.pce
syscard3.pce

Supported systems

The Simple30 image, by default, contains about 20 of the most popular classic systems:

Arcade (FinalBurn Neo)
Arcade (MAME 2003-Plus)
Arcade (Neo Geo)
Nintendo Entertainment System
Super NES
Nintendo 64

Game Boy
Game Boy Color
Game Boy Advance
Sega Master System
Sega Genesis
Sega CD
Sega 32X

Sega Dreamcast
Sega Game Gear
Sony PlayStation
Sony PSP
TurboGrafx-16
TurboGrafx-CD

Note that with this new software, Nintendo 64 is now available. But just like Sega Dreamcast and Sony PSP, performance is relatively limited. The other systems play just fine.

If you want to remove any of these systems from your main menu, simply go to the sections/emulators folder on your SD card, and move the respective system launcher file (they’ll be labeled according to the system they support) into the sections/emulators/optional folder; this will make the system disappear from your main menu.

But additionally, there are other emulators and ports that you can play on your device, such as:

CPS1
CPS2
MAME 2010
Neo Geo CD
Famicom Disk System
Famicom
MSU1
Satellaview
Super Famicom
Sufami Turbo
N64DD
N64 (Parallel core)
Virtual Boy
Game & Watch
Super Game Boy
Atomiswave
Naomi
Dreamcast VMU
PSP Minis
Neo Geo Pocket
Neo Geo Pocket Color
Atari Lynx
Wonderswan
Wonderswan Color

ZX Spectrum
TIC-80
MSX Turbo R
MSX
MSX2
Colecovision
Odyssey Videopac
SuperGrafx
SG-1000
Atari 2600
Atari 5200
Atari 800
Atari 78
Atari ST
Vectrex
Amiga 500
Amiga CD32
PC98
PC88
Channel F
X86000
Sharp X1
Amstrad CPC

Intellivision
Thomas MO5
Commodore 64
Commodore 128
Commodore PET
Commodore Plus4
Commodore VIC20
Palm OS
2048
EasyRPG
Pokemon Mini
Wolfenstein 3D
Mr. Boom
Uzebox
Cavestory
Quake
Lutro
Rick Dangerous
DOOM
OutRun
Dinothawr

To add these systems to your device, navigate to the sections/emulators/optional/ folder, and move whatever system you would like to play into the sections/emulators folder instead. Note that some of these systems will require additional BIOS files, and the ports will require retail files added to their respective rom folder.

Hotkeys

All of the emulators (except for the standalone PSP emulator) will take advantage of RetroArch’s universal hotkeys system. Here are the hotkeys that you can use while in a game:

RetroArch hotkeys

SELECT + POWER = Quit game and return to main menu
SELECT + START = RetroArch Menu
Hold START (3 seconds) = RetroArch Menu
SELECT + Y = Toggle FPS (frames per second)
SELECT + B = reset game
SELECT + A = pause emulation
SELECT + R1 = save state
SELECT + L1 = load save state
SELECT + L2 = rewind (when enabled)
SELECT + R2 = fast forward (see note below)
SELECT + RIGHT on d-pad = save state slot +
SELECT + LEFT on d-pad = save state slot -
SELECT + UP on d-pad = volume up
SELECT + DOWN on d-pad = volume down

Thanks to developer DaMikki, we now have working Fast Forward on Simple30.

– Launch RetroArch without a game loaded, then navigate to Settings > Video > Threaded Video > ON
– Go to Main Menu > Configuration File > Save Current Configuration
– Exit RetroArch, launch a game, and then press SELECT + R2 to toggle Fast Forward

Note that threaded video will introduce some screen shimmering on certain games, which may be undesirable. If you want to have the feature only on certain games, then launch that game, turn on Threaded Video, and then save the setting within Quick Menu > Configuration File > Save Game Configuration.

Notes

Here are some random notes that may help you get the most out of this unique device:

  • If you load your roms onto your SD card and do not see them in the menu, go into the sections/emulators folder on your SD card and find the appropriate launcher file for your system. Open that file with a text editor, and find that last bit of code: (selectorfilter=gdi,cdi) or similar, and add the file extensions of your roms (.iso, .img, and so on).
  • To scrape boxart or videos for your menus, check out this section of my Starter Guide.
  • You can adjust the brightness within RetroArch by going to Settings > Video > Output > Screen Brightness. I find this easier than closing out of the game and adjusting the brightness in the main menu.
  • With the way the system is currently configured, you cannot switch between RetroArch cores in one system. For example, while most Nintendo 64 games play best with the Mupen64Plus N64 emulator, others may play better with the Parallel N64 core. There isn’t a way to set the Parallel N64 core to launch with certain games. Instead, I’ve made a Parallel N64 core section, so that you can launch the same N64 library with that core instead. To set it up, go into the sections/emulators/optional folder on your SD card, and move the file named “07 parallel (n64)” into the sections/emulators folder. Now you will see a Parallel N64 option in your main menu.
  • If you would rather just run RetroArch by default and not deal with the Simple30 menu interface, that is set up as well. Go into the bin/RA launcher folder on your SD card, and move the gmenu2x from from that folder into the bin folder (replace the one that’s already in there, although I would make a backup in case you want to revert back at some point). From now on you will launch directly into RetroArch whenever you boot up the device, and quitting RetroArch will shut down the device.

Known issues

Like any software solution, Simple30 is a work in progress. Here are some of the issues that I have noted:

  • The “Save Content Directory Overrides” function does not work, which means that you cannot save settings specific to one game folder for systems that use the same core. For example, you cannot save Game Gear specific settings because it shares the same core as Master System, Genesis, and Sega CD.
  • Some shaders will rotate the screen when turned on.
  • Fast forward function does not work at this time.
  • Volume and brightness levels are reset when the device is powered off/on.
  • With MAME2003-Plus, some button presses register as multiple buttons. Until a fix is in place, you can do a workaround by swapping out the RetroArch core with MAME2003 (open the sections/emulators/ folder, find the MAME 2003-Plus file, open it with a text editor, and change the core to (params=-v -c retroarch-arcade.cfg -L mame2003_libretro.so).

Changelog

05SEP2021
– Added Fast Forward instructions

13FEB2021
– Published guide

16FEB2021
– Added note about adding additional file extensions
– Added known issue about MAME 2003-Plus buttons

217 thoughts on “Introducing Simple30, an Optimized PocketGo S30 Firmware

  1. I installed this and when it boots up it just scrolls in the menu on its own and then I tried to go back to original firmware and it’s just stuck on the boot logo

    Like

  2. Doom (PrBoom) does not work correctly, L2 and R2 buttons do not change weapons, another problem is that it does not enter the retroarch menu when we are using Doom (PrBoom), does anyone know how to fix it?

    Like

  3. I’m also having issues with a joystick calibration issue, when I used the base firmware out of the box it didn’t appear to have this issue (or any of the additional features of Simple30) but now it fails to register the controls in RetroArch but scrolls continuously and cannot calibrate correctly in the base OS.

    Like

    1. To those with Joystick issues, Dan G (look in older comments) had the same problem and required a hardware replacement to fix the issue. Without a faulty unit to test, I am unable to investigate this issue further I am afraid.

      Kind Regards

      DaMikki

      Like

  4. I have the same problem that a few others have mentioned about the menu scrolling as if a direction was being pressed, when nothing is pressed. I can also confirm that it is not due to joystick calibration since even when I disconnected the the joystick the menu screen would still scroll uncontrollably. Though as being alluded in comments here and on YouTube, the calibration does not seem to work, and for me at least made it worse once it started.

    In addition to this I can attest that after receiving a second unit (because the first one had a punctured battery and wouldn’t turn on) that both units have the same problem. This happens with the original SD card, (I even had retromini send me the original firmware and had the same issue, like if whatever setting were being saved to the unit somehow) and the Simple 30 firmware.

    There might be some hardware triggers because of some variance with the chip used for the inbuilt controller, but I have no way of making sure that is the case. I have the first S30 and the revised version with the tighter L2 and R2 triggers, so I don’t thing it is necessarily a hardware fault issue.

    Adding to this, I have managed to confirmed that both my units work with the firmware offered for download by TechToyTinker, https://techtoytinker.com/handheld-corner. It works with no scrolling or calibration issues, though I wish I could figure what is the cause of the scrolling with the Simple 30 firmware since I do like how it is setup vs the S30RetroArenaEmulationStation100v6 from TechToyTinker. At least, thanks to TechToyTinker I now have a working device, 2 of them once I get the replacement battery.

    I just hope Ross has a chance to verify this with the developer of Simple 30 so they may fix this. Please if someone can reach Ross and let him know of this issue since I have yet to get a reply to the message I sent a few of days ago…

    Like

    1. Hello Baltazar,

      Thank you for your detailed reply, interesting that Tech Toy Tinkers firmware works OK. I would suggest that the issue is the kernel version being used. I think that Pocket Go S-30 is using a different chip revision and so the older version of the Kernel in Simple 30 may be the issue. However I have an earlier model so I am not really able to test. It maybe possible to use the Kernel from Tech Toy Tinkers firmware with Simple 30 (I can test that at least).

      As for the developer of Simple 30 that was mostly Russ (<- not Ross LOL) with some help from others. I am a developer but I only helped out with a few bits and pieces on Simple 30.

      Kind Regards

      DaMikki

      Like

      1. Well, thanks DaMikki,

        And, excuse my dyslexic typos… hard to keep track of them at times. Had a few there. (thing instead of think, guess I did not think that hard on Russ name that much either… lol…)

        Anyhow, I find it odd that when I first used the device with their original firmware the issue was not there. It just came abut the moment I tried the Simple 30 firmware and then even the original would present this constant scrolling behavior. It is as if something was being changed in the unit, though I find that a bit odd since eider way or reason for such thing should be reverted/reset. At least I do know I’m not the only one as there are others with this issue.

        Thanks for looking into this, though I do understand that it is a bit hard to figure out the cause without having a unit that has the issue or knowing exactly what causes the issue. I do know it is not the analog stick, since I disconnected mine and turning on the units would still keep the same issue with both the original and the Simple 30 firmware.

        Thanks again for the reply! Let me know if there is anything I can try on my end to identify the hardware or chips of my S30s.

        Like

  5. Hi Baltazar,

    Russ aka Ross, I am sure won’t mind his name being dyslexic typed on occasion LOL

    I have taken a brief look at Tech Toy Tinkers firmware and it uses emulation station instead of gmenu2x so navigation will function differently.

    Here are a few things to try :-
    On my copy of Simple 30 I have an autoconfig folder in the root of the sd-card I would try deleting that and then try running Simple 30.

    Failing that try copying the zktest file from Tech Toy Tinkers firmware over to the root of the Simple 30 sd-card to replace the Kernel and see if that works.

    As mentioned I am sorry but I don’t have a way to replicate the issue but hopefully the above may help if you want to use Simple 30.

    Thanks for the offer of help to identify hardware, I will let you know if I have an idea. The problem is there is a very limited list of available commands within the various firmwares as it’s more like a busy box than a full terminal.

    Kind Regards

    DaMikki

    Like

    1. Hey DaMikki,

      I tried your suggestions but unfortunately they did not work.

      I am wondering where to does the zkjoycalib file writes to, since I see that if I manage to run the calibration utility the problem actually worsens… Also, I do manage to get the scrolling to stop when a fresh image is used and the scrolling is present by lightly pressing up left on the analog. This pressing is barely touching the up left direction and holding it there while with my other hand I manage to navigate the menus.

      Now, like I mentioned, this seems to not be because of the analog itself since 1- the Retro Arena image does not present this problem and 2- even if the analog is physically disconnected the scrolling is present.

      I would like to know where to is this zkjoycalib file writing to and if it is a regular configuration file to what line. To me it seems as if some minor difference to how the analog is handled is at fault here. Even more so considering that using the zkjoycalib to calibrate results in worse scrolling instead of it being calibrated and also considering that this only happens with the Original firmware as well as the Simple 30 one to some of us with this particular PocketGo 30 units. And I have 2 of them, a version 1 and the revision, which make it difficult to think it is hardware failure for me at least.

      Like

  6. Всем привет! А есть версия RetroArch которая работает, не прокручивает циклично меню?
    Киньте ссылку.

    Like

  7. Does anyone know how to fix the prboom core? does not open mrenu retroarch when using it, another problem is that the Lr and R2 buttons do not work and due to the retroarch menu not opening it is impossible to try to configure

    Like

  8. it would be amazing to have a “simple 30” for the anbernic PAP II console, this console is very interesting but it has audio delay, especially in ps1 games

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s