Analogue Pocket OpenFPGA (“Jailbreak”) Guide

Last updated: 28SEP2022 (see Changelog for details)

The Analogue Pocket is finally able to run community-developed cores. Within the AP community, the term “jailbreak” is often used, but no jailbreaking is required; you simply need to be running the most recent version of the Analogue Pocket operating system, and then add the community cores.

As of making the guide video below, there are beta cores for Game Boy, Game Boy Color, and Game Boy Advance, as well as an early alpha core for the Neo Geo. Since then many cores have been added, and some of the old cores have been updated; as new cores are introduced I will add them to this guide.

Note: if you’d like to stay up-to-date with the latest cores available, this site has a good roundup of available options.

Table of Contents

Upgrade to Analogue OS v1.1 or higher
Auto install / update
Game Boy and Game Boy Color core
Game Boy Advance core
Nintendo Entertainment System (NES) core
Super Nintendo (SNES) core
Sega Game Gear, Sega Master System, and SG-1000 cores
Sega Genesis (Mega Drive) core
Neo Geo core
Pocket files still work!

Changelog

Upgrade to Analogue OS v1.1 or higher

If you received an Analogue Pocket prior to July 29th, 2022, you are likely running an older version of the Analogue OS. You can check this by going into Settings > About > Analogue OS and verifying the version number.

To update, go to the Analogue Pocket Support Page and download the latest firmware file; it will be in .bin format. Next, take a blank SD card that is either FAT32 or exFAT partitioned and place the firmware .bin file in the root directory of the card. Insert the card into the Pocket and then boot it up; the firmware will automatically update, and will run you through the initial orientation again.

Once the firmware is updated, power down the device, remove the SD card, and then insert it into your PC. You will see that a bunch of folders have been populated. You can now delete the firmware update .bin file.

Upgrading to v1.1 or higher will unlock the openFPGA platform, which will allow us to load cores.

Auto install / update

This new tool from mattpannella will auto install all available cores for the Analogue Pocket and will also auto-update if you run the script later. It will even update your Analogue Pocket firmware as well! It’s a very simple setup.

  • Download the latest executable that corresponds to your computer’s operating system. You can find them in the latest release page here.
  • Unzip the executable file and place the executable into the root directory of your Analogue Pocket microSD card.
  • Run the executable file (from your computer). If using a Mac, it may give you a security warning, go into the Settings > Security > General section and select “Run Anyway”. When the executable file runs, it will show you a command prompt/Terminal window and explain all of the cores that are downloaded (or skipped if you already have the latest version on your card).
  • This will also install BIOS files for your systems. Once you have this installed, follow the rest of the instructions below to add your ROM files.
  • That’s it! You can run the executable file periodically to update your cores.

Several arcade cores have been added, and they will even download the arcade ROM for you as well.

Note that as new cores are added to the program, it can turn your OpenFPGA menu into quite a comprehensive (or overwhelming) list. If you would like to pare down the list to just the cores you want to use, open the “pocket_updater_settings.json” file on your SD card with a text editor and edit the tag that says “skip”: false, to “skip”: true for all the cores you want to skip. This won’t remove the core from your SD card, so you will need to go into the Assets, Cores, and Platforms folders and delete them manually that one time.

Note there is also this tool for Windows that provides a GUI, but I haven’t tested it personally. It looks great!

Game Boy and Game Boy Color core

These two cores are made by developer spiritualized1997 that will run GB and GBC games from the SD card. You will need to provide your own BIOS file, in a dmg_bios.bin and gbc_bios.bin format, respectively. Note that there are some limitations with this core as of making this guide:

  • Analogue settings options, like display modes, are not supported at this time. This means you won’t be able to add a DMG effect to Game Boy, or and LCD grid overlay.
  • Save states are supported. To save a sate, press the Analogue (MENU) button + UP while the game is running. You can access the save state by launching the game, then going into the Memories section. You will not be able to load a save state for a different game while it is running.
  • Since making the video above, they have separated the GB and GBC cores and now they will use their own BIOS files and boot logos.
  • Rumble is supported if you add a DS rumble pak.

To get started, download the latest core releases from this page and unzip the files. Take the SD card from your Analogue Pocket and place it in your PC. If using Windows, place the unzipped files in the root directory of your SD card, and the files and subfolders will populate appropriately. If using a Mac on the latest MacOS, select the “merge” option so that you don’t overwrite files.

In the /assets/gb/common/ folder, place the dmg_bios.bin file
In the /assets/gb/common/ folder, place your .gb ROM files
In the /assets/gbc/common/ folder, place the gbc_bios.bin file
In the /assets/gbc/common/ folder, place your .gbc ROM files
However you name the ROM files is how they will appear in the device.

To launch the games, go to openFPGA > Game Boy (or Game Boy Color) > Run > (name of game)

Game Boy Advance core

This is a core made by developer spiritualized1997 that will run GBA games from the SD card. This has a big advantage over using cartridges or flash carts in that you can leave the cartridge slot empty, giving the device better ergonomics when using the shoulder buttons. You will need to provide your own BIOS file, in a gba_bios.bin format. Note that there are some limitations with this core as of making this guide:

  • Analogue settings options, like display modes, are not supported. This means you won’t be able to add an LCD grid overlay or reduce color saturation.
  • Save states are supported. To save a sate, press the ANALOGUE (MENU) button + UP while the game is running. You can access the save state by launching the game, then going into the Memories section. You will not be able to load a save state for a different game while it is running.
  • Rumble is supported if you add a DS rumble pak.

To get started, download the latest core release from this page and unzip the file. Take the SD card from your Analogue Pocket and place it in your PC. If using Windows, place the unzipped files in the root directory of your SD card, and the files and subfolders will populate appropriately. If using a Mac on the latest MacOS, select the “merge” option so that you don’t overwrite files.

In the /assets/gba/common/ folder, place the gba_bios.bin file
In the /assets/gba/common/ folder, place the .gba ROM files. However you name the files is how they will appear in the device.

To launch the games, go to openFPGA > Game Boy Advance > Run > (name of game)

Nintendo Entertainment System (NES) core

This is a MiSTer core that was ported to the Analogue Pocket by developer agg23, that will run NES games from the SD card. No BIOS files are required.

To get started, download the latest core release from this page and unzip the file. Take the SD card from your Analogue Pocket and place it in your PC. If using Windows, place the unzipped files in the root directory of your SD card, and the files and subfolders will populate appropriately. If using a Mac on the latest MacOS, select the “merge” option so that you don’t overwrite files.

In the /assets/nes/common/ folder, place your .nes ROM files. However you name the files is how they will appear in the device.

To launch the games, go to openFPGA > NES > Run > (name of game)

Note from the developer: PAL ROMs should boot, but there may be timing and sound issues as the core currently doesn’t properly support PAL (proper support coming soon). I highly recommend you do not play PAL games at this time

The core has 5 palette options built in, changeable with a slider in Core Settings. The palettes are known as:

  1. Kitrinx 34 by Kitrinx
  2. Smooth by FirebrandX (Default)
  3. Wavebeam by NakedArthur
  4. Sony CXA by FirebrandX
  5. PC-10 Better by Kitrinx

There are several video options provided for tweaking the displayed video:

  • Hide Overscan – Hides the top and bottom 8 pixels of the video, which would normally be masked by the CRT. Adjusts the aspect ratio to correspond with this modification
  • Edge Masking – Masks the sides of the screen in black, depending on the chosen option. The auto setting automatically masks the left side when certain conditions are met.
  • Extra Sprites – Allows an extra 8 sprites to be displayed per line (up to 16 from the original 8). Will decrease flickering in some games

Here are my preferred settings:
Hide Overscan = ON
Mask Both = ON
Extra Sprites = ON
Palette = 3

The Sony CXA palette provides a nice saturated display, and the “Mask Both” option will remove that flickering on the right side of the image (but will give small black borders on each side). The “Extra Sprites” will reduce flickering in games like Blaster Master, too.

Super Nintendo (SNES) core

This is a MiSTer core that was ported to the Analogue Pocket by developer agg23, that will run SNES games from the SD card. No BIOS files are required.

To get started, download the latest core release from this page and unzip the file. Take the SD card from your Analogue Pocket and place it in your PC. If using Windows, place the unzipped files in the root directory of your SD card, and the files and subfolders will populate appropriately. If using a Mac on the latest MacOS, select the “merge” option so that you don’t overwrite files.

In the /assets/snes/common/ folder, place the .sfc or .smc ROM files. However you name the files is how they will appear in the device.

Note from the developer: ROM files must not contain a SMC header. If a ROM isn’t loading and you think it should, check if it has a header with a tool like Advanced SNES ROM Utility and remove it if so.

To launch the games, go to openFPGA > SNES > Run > (name of game)

  • Save states and sleep do not work at this time. In-game saves work fine, though.
  • The currently supported expansion chips are SA-1 (Super Mario RPG), Super FX (GSU-1/2; Star Fox), DSP (Super Mario Kart), and CX4 (Mega Man X 2). Additional chip support will come in the future once several new firmware features are released.
  • The S-DD1 chip was dropped in release 0.2.0 due to sizing and popularity issues. Support will resume in a future release. In the meantime, you can use this hack to remove the S-DD1 requirement.
  • Mods like the Ted Woosely Uncensored Edition of Final Fantasy VI work great!
  • By default, games will play in 8:7 aspect ratio. To adjust the aspect ratio, go into your SD card and open the Cores/agg23.SNES/video.json file with a text editor, and swap out the 8:7 tags with the 4:3 tags, so that the 4:3 tags are in the top part of the code, and the 8:7 is in the bottom part of the code. Save the json file and you’re good to go, all games will now play in 4:3 aspect ratio. The end result should look something like this:
{
  "video": {
    "magic": "APF_VER_1",
    "scaler_modes": [
      {
        "width": 512,
        "height": 224,
        "aspect_w": 4,
        "aspect_h": 3,
        "rotation": 0,
        "mirror": 0
      },
      {
        "width": 512,
        "height": 224,
        "aspect_w": 8,
        "aspect_h": 7,
        "rotation": 0,
        "mirror": 0
      },
      {
        "width": 512,
        "height": 240,
        "aspect_w": 4,
        "aspect_h": 3,
        "rotation": 0,
        "mirror": 0
      },
      {
        "width": 512,
        "height": 240,
        "aspect_w": 8,
        "aspect_h": 7,
        "rotation": 0,
        "mirror": 0
      }
    ]
  }
}

Sega Game Gear, Sega Master System, and SG-1000 cores

Spiritualized1997 has recently released cores for Sega Game Gear, Master System, and SG-1000 systems. These cores do not require BIOS files. To install, simply download the latest core release (linked below), add the contents to your SD card, and then add your ROM files to the assets > (name of core) > common folder.

Sega Game Gear
Sega Master System
SG-1000

Sega Genesis (Mega Drive) core

This is a MiSTer core that was ported to the Analogue Pocket by developer ericlewis, that will run Sega Genesis games from the SD card. No BIOS files are required.

To get started, download the latest core release from this page and unzip the file. Take the SD card from your Analogue Pocket and place it in your PC. If using Windows, place the unzipped files in the root directory of your SD card, and the files and subfolders will populate appropriately. If using a Mac on the latest MacOS, select the “merge” option so that you don’t overwrite files.

In the /assets/snes/common/ folder, place the .md or .bin ROM files. According to the developer, they have had good success with .bin files. However you name the files is how they will appear in the device.

To launch the games, go to openFPGA > Genesis > Run > (name of game)

This build is in a very early Alpha state, so expect some bugs and many games will not boot. Notes from the developer:

  • This core is far from complete and I am aware of most issues.
  • You can report issues, but I probably won’t look at them.
  • No PAL.
  • No proper region detection (or switching).
  • Due to above, US only currently.
  • Plenty of games do not work correctly.
  • No save states work.
  • Probably other broken things… I have noticed bin ROMs tend to work okay.
  • Many missing core settings.

Neo Geo core

Most excitingly, there is a working alpha port of the Neo Geo core made by Furrtek. The port was made by developer Murray Aickin. This is the first time a 4:3 system has been playable on the device and is a good indication of how things will look once NES, SNES, Genesis, and other 4:3 systems are available. Note that there are some limitations when using this core:

  • Only ONE SPECIFIC romset is supported, and it is called the “Darksoft” romset. You are on your own to find the appropriate archive of this pack. The ROM files will be in a folder format instead of in a traditional .zip file, and will be structured as follows:
    • 68K Asset: prom
    • Z80 Asset: m1rom
    • CROM Asset: crom0
    • SFIX Asset: srom
    • Voice Asset: vroma0
  • The core also requires three BIOS files in order to run. These two files can be commonly found in neogeo.zip BIOS files; just unzip one of those files and extract the following two files:
    • uni-bios_1_0.rom
    • 000-lo.lo
    • sfix.sfix
  • Save states (“Memories”) are not supported at this time.

To get started, download the latest core release from this page and unzip the file. Take the SD card from your Analogue Pocket and place it in your PC. If using Windows, place the unzipped files in the root directory of your SD card, and the files and subfolders will populate appropriately. If using a Mac on the latest MacOS, select the “merge” option so that you don’t overwrite files.

In the /assets/ng/common/ folder, place the uni-bios_1_0.rom, 000-lo.lo, and sfix.sfix BIOS files
In the /assets/ng/common/ folder, place the ROM files within a subfolder of their own. I recommend using the subfolders found within the Darksoft romset pack.

Note that the setup video above is now outdated, because with Alpha 0.6.0 and later, when starting a game, you simply have to choose it from the menu. If you have the appropriate files inside of the common folder with the Darksoft naming convention. If you have any questions as to what it should be named, check out the json files found in the Assets > ng > Mazamars312.NeoGeo folder (open the json files with a text editor). There it will show the expected subfolder name (labeled as “data path”).

Note that as of Alpha 0.6.0, the Xeno Crisis Neo Geo ROM (Darksoft version) will work with the core, and has a pre-loaded json file as well. The subfolder within your common folder should be named “XenoCrisis”.

Note that some Neo Geo games will have audio or video glitching, or won’t play at all. You can press the Left Trigger to reset the core, which can sometimes fix glitching or crashing game launches.

Pocket files still work!

As demonstrated in my initial (pre-jailbreak) video above, the Analogue Pocket can run .pocket files for the GB/GBC, which behave just like cartridge files. The advantage of these .pocket files is that they support display modes, so you can tweak the image to your preference. Other features, like sleep mode and save states (“Memories”) also work on the device.

To get started, check out the video above. Here are the links mentioned in the video:

RetroPatcher (for creating .pocket files)

To check the MD5 Checksum of a file, head over to this website and drop your ROM file inside. You can then compare it to the MD5 in the RetroPatcher website to see if your ROM file is compatible with the tool.

The Pocket Patches website also has a list of patched GB/GBC games and a list of working hacks.

Pokemon Prism patch file (in pinned post)
Official Pokemon Prism website (with patcher tool)

In order to create a Pokemon Prism ROM file you will need to download the patch file, and then add an original Pokemon Crystal (Rev 1) ROM + the patch file into the official patcher tool. It will output a ROM file that you can then use within RetroPatcher to run on the Analogue Pocket.

Finally, the Everdrive still works for GBA games, and will also allow you to use save states (“Memories”), but not sleep mode.

Everdrive GBA mini via Krikzz (out of stock as of video release)
Everdrive GBA mini via eBay (higher price but available)


Changelog

28SEP2022
– separated GB and GBC core instructions

26SEP2022
– added NES core
– updated other sections
– added additional auto updater tool
– added Table of Contents

23SEP2022
– added Genesis core

16SEP2022
– added SNES core

17AUG2022
– updated Neo Geo section to reflect 0.6.0 process
– added link to PocketCore Auto Update tool

08AUG2022
– added Game Gear, Master System, SG-1000 cores

07AUG2022
– published guide

2 thoughts on “Analogue Pocket OpenFPGA (“Jailbreak”) Guide

  1. I wrote a script that checks for core updates, new cores, new firmware versions, etc. It will even download and extract any core updates that are available. Admittedly, I made this for myself and so it requires Node.js v16+ installed and a minimal amount of developer knowledge to use. https://gitlab.com/jgdigitaljedi/pocket-update-notifier

    That said, I have already started work on creating an Electron app so there can be a cross-platform desktop that will run on Linux, Mac, in Windows to make this idea more accessible to others.

    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 )

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