A significant development for enthusiasts of retro gaming hardware has emerged with the release of an experimental version of the openFPGA SNES core for the Analogue Pocket, which now includes support for save states. This update, initially highlighted by Pixel Cherry Ninja and available on platforms like GitHub, marks a crucial milestone in the ongoing effort to integrate modern convenience features into hardware-accurate FPGA (Field-Programmable Gate Array) based retro consoles. The ability to save game progress at any point, a staple of software emulation for decades, has historically been a complex challenge for FPGA platforms, making its successful implementation for one of the most beloved 16-bit consoles a notable technical achievement.
The Enduring Debate: FPGA Versus Software Emulation
At the heart of the retro gaming community lies a continuous discussion regarding the optimal method for re-experiencing classic titles. On one side stands software emulation, which utilizes software programs to mimic the behavior of original hardware on modern computing devices. Emulators, running on PCs, smartphones, or dedicated devices, offer immense flexibility, including features like customizable video filters, rewind functions, and, most notably, save states. These conveniences have made software emulation highly accessible and popular, allowing players to circumvent the often-punishing difficulty or lengthy play sessions of older games without losing progress.
However, software emulation, by its very nature, is an approximation. While highly sophisticated emulators can achieve impressive levels of accuracy, they can still introduce subtle discrepancies. These may manifest as minor input lag, audio glitches, graphical anomalies, or timing inaccuracies that diverge from the original console’s behavior. For purists and those sensitive to such nuances, these imperfections, no matter how minor, can detract from the authentic experience.
Enter FPGA technology. Unlike software emulation, which simulates hardware, FPGA effectively recreates the original hardware’s logic at a transistor level within a programmable chip. This means that instead of running a program that behaves like a Super Nintendo, an FPGA core is a Super Nintendo, albeit one fabricated on a modern, reconfigurable chip. This approach delivers unparalleled accuracy, often indistinguishable from playing on original hardware, with virtually no input lag, perfect timing, and faithful reproduction of graphics and sound. Devices like the Analogue Pocket and the MiSTer FPGA project are prominent examples of this technology in the consumer market.
The Technical Chasm: Why Save States Are Harder on FPGA
Despite FPGA’s superior accuracy, the integration of features like save states presents a formidable technical hurdle. In software emulation, creating a save state is relatively straightforward: the emulator merely takes a snapshot of its internal software variables, including the virtual CPU’s registers, RAM, and the states of various virtual peripheral chips (PPU, SPU, custom chips). This data can then be saved to a file and reloaded later, restoring the emulator to that exact point in time.

For an FPGA, the challenge is fundamentally different. An FPGA core is not a software program with variables; it is a live, constantly operating digital circuit. To create a save state on an FPGA means capturing the entire instantaneous state of this hardware circuit. This includes:
- CPU Registers: The values stored in the central processing unit’s internal registers.
- RAM (Random Access Memory): The contents of the console’s working memory.
- PPU (Picture Processing Unit) State: The intricate internal state of the graphics chip, including its registers, VRAM (Video RAM), OAM (Object Attribute Memory), CGRAM (Color Generator RAM), and various scanline counters and rendering flags.
- SPU (Sound Processing Unit) State: The internal state of the audio chip, including its voices, envelopes, playback positions, and echo buffers.
- I/O (Input/Output) Registers: The state of various I/O ports and control registers that manage communication between different components and external peripherals.
- Custom Chips: Many 16-bit consoles, especially the SNES, utilized a variety of custom co-processors embedded within game cartridges (e.g., Super FX, SA-1, DSP-1/2/3/4, S-DD1, Cx4). Capturing the internal state of these complex, often undocumented chips adds another layer of difficulty.
Capturing all these dynamic elements requires a sophisticated mechanism to momentarily "freeze" the FPGA core’s operation, extract the current values from thousands or millions of logic gates and memory elements, and then store them. Reloading involves the reverse process: injecting these captured values back into the live hardware circuit. This is a far more invasive and complex operation than simply saving software variables, often requiring dedicated hardware features within the FPGA design or complex "wrapper" logic around the core itself.
The Analogue Pocket and the OpenFPGA Ecosystem
The Analogue Pocket, released by Analogue Inc., has carved out a niche as a premium portable retro gaming device. Renowned for its exquisite build quality, high-resolution display, and commitment to hardware accuracy through FPGA, it natively supports game cartridges from Game Boy, Game Boy Color, Game Boy Advance, and, with adapters, other systems like Game Gear, Neo Geo Pocket Color, and Lynx.
Crucially, Analogue also introduced the openFPGA platform, an initiative that allows independent developers to create and port FPGA cores for a vast array of other gaming systems. This open-source approach has significantly expanded the Pocket’s capabilities beyond its initial scope, enabling it to run cores for systems like the NES, Sega Genesis, TurboGrafx-16, and now, with this latest development, a more feature-rich SNES experience. The SNES core, developed by Drizzt and others within the open-source community, has been a highly anticipated addition to the Pocket’s library, bringing the vast catalog of Super Nintendo games to the portable platform with FPGA fidelity.
A Timeline of FPGA Save State Evolution
The journey towards robust save state support on FPGA platforms has been gradual, marked by incremental technical breakthroughs:
- Early FPGA Cores (Pre-2020): Many initial FPGA implementations focused solely on pure hardware accuracy, often eschewing modern conveniences like save states, believing them to compromise the "authentic" experience.
- The MiSTer FPGA Project: This community-driven project has been a pioneer in pushing the boundaries of FPGA features. While initially without save states, its developers began exploring and implementing them for various cores.
- MiSTer SNES Core (2024): A significant milestone occurred earlier in 2024 when save state support was successfully added to the MiSTer FPGA’s SNES core. This demonstrated that such complex functionality was indeed feasible for a system as intricate as the Super Nintendo, paving the way for other platforms.
- Analogue Pocket NES Core (2022): Prior to the SNES development, the openFPGA NES core for the Analogue Pocket also gained save state functionality in December 2022. This served as a proof-of-concept for the Analogue Pocket ecosystem, demonstrating that the platform could host cores with this advanced feature.
- Analogue Pocket SNES Core (Current Release): Building on these precedents and the collective knowledge of the FPGA development community, the experimental openFPGA SNES core for the Analogue Pocket has now integrated save state support. This specific implementation, available via a "nightly" build on GitHub, signifies the growing maturity and ambition of the openFPGA ecosystem.
This chronology highlights a clear trend: as FPGA technology and development tools mature, the line between hardware accuracy and modern gaming conveniences is increasingly blurring. The initial philosophical resistance to such features is giving way to a pragmatic desire to offer the best of both worlds to retro gaming enthusiasts.

Inferred Community Reaction and Developer Insights
The news of SNES save states arriving on the Analogue Pocket has been met with widespread enthusiasm within the retro gaming community. Forums, social media channels, and dedicated retro gaming news outlets are abuzz with excitement. For many Analogue Pocket owners, this feature is a "game-changer," addressing one of the few remaining functional advantages software emulation held over their preferred hardware. Players can now confidently tackle notoriously difficult SNES titles like Super Ghouls ‘n Ghosts or explore expansive RPGs like Chrono Trigger without the fear of losing hours of progress or relying solely on in-game save points, which were often scarce.
While no official statement from Analogue Inc. regarding this specific openFPGA core update is typically issued (as they do not directly develop these community cores), the openFPGA initiative itself underscores Analogue’s commitment to fostering a vibrant and evolving ecosystem. Developers contributing to the openFPGA project, like Drizzt, often express the immense technical effort involved in such undertakings. The designation "experimental" for this initial release suggests that while the core functionality is present, further refinements, bug fixes, and performance optimizations will likely follow. The open-source nature allows for community contributions and rapid iteration, a stark contrast to proprietary, closed development cycles. It is reasonable to infer that developers view this as a significant technical triumph, showcasing the power of collaborative development in pushing the boundaries of FPGA retro gaming.
Implications and Broader Impact on Retro Gaming
The addition of save state support to the Analogue Pocket’s SNES core carries several profound implications for the retro gaming landscape:
- Enhanced User Experience: This is the most immediate and tangible benefit. Users can now enjoy the unparalleled accuracy of FPGA SNES gaming with the added convenience that modern players have come to expect. This makes challenging games more accessible and lengthy games less daunting, potentially introducing classic SNES titles to a broader audience.
- Narrowing the Feature Gap: The primary advantage of software emulation—its flexibility and feature set—is steadily being eroded by advancements in FPGA development. As FPGA platforms gain more of these "quality of life" features without compromising accuracy, they become an even more compelling proposition for discerning retro gamers. This could lead to a shift in preferences for those who previously balanced accuracy against convenience.
- Validation of the OpenFPGA Ecosystem: The success of implementing save states for a complex system like the SNES further validates Analogue’s openFPGA strategy. It demonstrates the power of community-driven development in extending the capabilities of premium hardware platforms, offering a continuous stream of new features and system support. This model benefits both Analogue, by enhancing the value proposition of its device, and the user base, by providing a dynamic and evolving platform.
- Future of FPGA Development: This achievement sets a precedent and provides valuable technical blueprints for implementing similar features on other complex FPGA cores. It encourages developers to tackle more ambitious projects, potentially leading to advanced features like rewind functions, slow-motion, or even network play for other systems in the future, all while maintaining hardware accuracy.
- Reaffirming Analogue Pocket’s Market Position: In a crowded market of retro handhelds, the Analogue Pocket stands out due to its premium build and FPGA accuracy. Continually adding sought-after features through the openFPGA framework strengthens its position as a top-tier device for dedicated retro enthusiasts, justifying its higher price point by offering a continually evolving and high-fidelity experience.
- Evolving Definition of "Authenticity": The integration of save states sparks an interesting philosophical discussion about what constitutes an "authentic" retro gaming experience. While some purists might argue against any deviation from original hardware limitations, the widespread adoption and demand for such features suggest that for many, authenticity is increasingly defined by fidelity to the original hardware’s behavior rather than strict adherence to its every historical limitation. Modern conveniences, when implemented without compromising core accuracy, are seen as enhancements rather than compromises.
In conclusion, the experimental release of save state support for the Analogue Pocket’s openFPGA SNES core represents a significant stride in retro gaming technology. It not only enhances the user experience for countless enthusiasts but also underscores the remarkable ingenuity of the open-source development community. By successfully blending the unparalleled accuracy of FPGA with the convenience of modern features, this development signals a promising future where players no longer have to choose between a perfectly authentic recreation and the practicalities of contemporary gaming. The Analogue Pocket, through its openFPGA ecosystem, continues to evolve as a flagship platform, pushing the boundaries of what is possible in the world of classic gaming preservation and enjoyment.
