Before we get into the nitty gritty of this opinion piece, let's make one thing clear: I love my Analogue Pocket. It's one of my most-used pieces of gaming gear; I adore the form factor, that it can play my dusty old Game Boy carts on it and the fact that its screen – despite not being OLED – is gorgeous. I also love that, via FPGA, it can offer genuinely accurate replications of handheld, console and arcade games from the past few decades.
There's one thing preventing me from putting all of my other emulation handhelds away forever, though – and that's the lack of system-wide save states.
As anyone who has played retro games either via unofficial emulation or on services like Nintendo Switch Online will be aware, save states are one of the best modern comforts that emulation offers. Unlike in-game saves (which are tied to the game's code), save states allow you to "freeze" a moment in time and return to it instantly without the game even being aware you've done so.
Say you're about to face off against a tough boss or you're entering a particularly hard section of a platformer; you can create a save state and revert back to it if things go badly for you. Alternatively, you could use a save state to simply remember your progress in a game, giving you the chance to pick up where you left off later on.
For someone like myself, who often only gets a few minutes to play games each day, save states have become utterly invaluable, especially when playing retro games which lack any in-game save or password system. I simply wouldn't be able to play many of the old-school titles I do today without resorting to save states – finding a few hours in my day to play all the way through Sonic the Hedgehog or Streets of Rage 2 isn't feasible.
Before this sounds like a complete wash-out for the Analogue Pocket, it's worth noting that it does have save states – but they're limited to a select few systems at present, including the Game Boy, Game Boy Color, Game Boy Advance, Game Gear and Master System. However, via its OpenFPGA system, the Analogue Pocket is capable of playing many other classic platforms, and almost all of these lack save state support at present – and, according to some developers, implementing this support might be tricky.
Adam Gastineau – who has ported the NES and SNES MiSTer FPGA cores to the Pocket – added save state support to the former core back in 2022, but admitted that bringing it to the SNES core might be hard:
Fellow FPGA developer Robert Peip has managed to get save states working in many of his cores, but makes it clear that it's far from a simple job:
Don't underestimate the problem of pausing a core... You have to design the whole core with clock enables for each of the thousands of registers from ground up or it may takes months to change it later. It's one of the big tasks of doing savestates: halting the system at a state where no signal is changing. Then save everything that isn't self-repairing to some external memory. Loading back is more difficult, as another write port to a register "costs" more than a read port.
Given that the SNES and Genesis / Mega Drive are my two most-played consoles on the Analogue Pocket, the fact that their respective cores may never see save state support is a bit of a bummer for me personally.
The Analogue Pocket is 100% my preferred way to play retro games these days, but without system-wide support for save states, I'll always have to make sure I have an alternative option on hand – be that a 3DS, Android-based system or just a plain old emulation handheld, like those from Anbernic or Miyoo. While they don't offer the accuracy of FPGA, the ability to use save states is something I cannot live without.
It's worth noting that this isn't an issue for Analogue to solve, as such; it's more down to the difficulty of executing save states within community-made FPGA cores – so please don't take this piece as a dig at the company behind the device; the FPGA-based MiSTer suffers from a similar issue.
Could we see save states come to all of the Analogue Pocket's OpenFPGA cores in the future? I certainly hope so, but I'm also aware that this has to be done on a core-by-core basis, and some of the more demanding cores don't leave much room for save states to be implemented.
Until there's some new development, then I'll still be playing on my Pocket – but I'll be keeping alternative options close by as well.