Flurry of firmware updates makes Analogue Pocket an even better retro handheld
Enlarge / An Analogue Pocket running Super Mario World on an openFPGA core with the scanline filter enabled.

Andrew Cunningham

We’ve got a soft spot for the Analogue Pocket, the premium portable game console that melds 2020s technology with the design of the original Game Boy. Since its release, Analogue has added some new capabilities via firmware updates, most notably when it added support for emulating more consoles via its OpenFPGA platform in the summer of 2022. This allows the FPGA chip inside of the pocket to emulate the hardware of other systems, in addition to the portable systems the Pocket supports natively.

But aside from finalizing and releasing that 1.1 firmware, 2023 was mostly quiet for Pocket firmware updates. That changed in December when the company released not one but two major firmware upgrades for the Pocket that slipped under our radar during the holidays. These updates delivered a combination of fixes and long-promised features to the handheld, which Analogue has been re-releasing in different color palettes now that the original versions are more consistently in stock.

The most significant update for OpenFPGA fans is the ability to use display filters with third-party FPGA cores. Part of the appeal of the Pocket is its 1,600×1,440 screen, which is sharp enough to perfectly re-create the huge chunky pixels of the original Game Boy screens. By default, most FPGA cores now get access to a similarly high-quality CRT screen filter named after the Sony Trinitron TV, adding a touch of retro-blurriness to the sharp edges of 8- and 16-bit games. I’ve seen lots of bad, unconvincing scanline filters in retro game re-releases, and this isn’t one of them.

The basic Trinitron filter is available by default for “suitable” cores, which in our testing tends to mean “home consoles that were meant to be connected to a CRT TV.” FPGA cores for portable systems like the Game Boy or Game Boy Advance, which shipped with old but scanline-less LCD screens, don’t have the filter available. Third-party FPGA core developers will need to add support for additional screen filters themselves, something that most developers still haven’t done as of this writing.

The Trinitron filter looks good on the Pocket’s screen, but it’s subtle; you may appreciate the scanline effect more and notice its downside less if you’re playing while connected to a TV with the Analogue Dock. And at least on the NES and SNES cores I tested it with, it has the undesirable side effect of shrinking the game picture down on what is already a fairly small screen. This default setting can be tweaked without visibly degrading the image quality, at least not to my eyes; just switch from the default Integer scaling mode in the display settings to Integer+.

The screen filters are probably the most interesting and requested new feature for the Pocket, but both firmware updates have many other smaller fixes and additions. Firmware version 1.2 fixes numerous issues with sleep/wake and save states for various games, allows FPGA cores to use cartridge adapters, and lets FPGA cores know when the Pocket is in a dock; when docked, it also adds support for additional controllers and fixes issues with others. Version 2.0 adds support for custom color palettes for Game Boy games, allows FPGA cores to switch aspect ratios when docked, and fixes a “video issue with some openFPGA cores and resolutions” when docked.

To update the Pocket’s firmware, connect the device’s microSD card to your computer and drop one of the firmware update .bin files into the root directory (make sure you delete any older firmware files first since the Pocket won’t delete old update files once it’s done with them). Next time you boot the console, it should install the firmware update and reboot. As usual, when performing any software or firmware update, it’s best to ensure the console is fully charged or plugged in before you start the process.

Leave comment

Your email address will not be published. Required fields are marked with *.