Press "Enter" to skip to content

Analogue Pocket gets future-minded FPGA “cores” update—with MiSTer in its sights


Enlarge / Every Analogue Pocket system will function as a “dev kit,” but this special developer version of the portable system will be sent to interested FPGA “core” developers starting this week as a freebie to encourage their contributions to Analogue’s new, not-quite-open OpenFPGA standard.
Analogue

Upon its launch in December, the portable Analogue Pocket system immediately stood out as a supercharged way to play classic portable cartridges from Game Boys. While its design borrows heavily from the Gunpei Yokoi original, its physical makeup is attractive and modern, and its mix of FPGA hardware and overkill, high-resolution IPS screen do wonders for old-school games.

But Analogue dropped the ball on part of its sales pitch: a sweeping “1.1” system update that was supposed to launch in “January 2022.” Analogue never said why this patch was delayed. Was it a matter of its developers struggling to deliver? Was Analogue biding its time while shipments of the $199 Pocket hardware, and its companion $99 Analogue Dock for TVs, remained scarce, partly due to a global chip shortage?

Whatever the reason, the 1.1 update finally arrives today as a free download—and it sees Analogue taking its boldest steps yet into new territory. In a conversation with Ars Technica, Analogue CEO Christopher Taber suggested that the company’s prior emphasis on console-specific FPGA systems (like the Super Nt and Mega Sg) may give way to a more open, MiSTer-like approach.

Thanks to today’s new “OpenFPGA” initiative, the Analogue Pocket could become your one-stop shop for playing multiple consoles’ games on a single system—assuming that certain uses are opened up.

A primer on FPGA, hardware emulation, and MiSTer

Analogue describes OpenFPGA as an operating system and platform for the Pocket and potential future Analogue hardware. It allows third-party developers to write and publish a “core” that can re-create any classic computer platform or console family. But “open” is relative here, so let’s clarify a few points.

For starters, what is a core? When you put a Game Boy cartridge into a Pocket, its FPGA-fueled hardware recognizes that it’s from the Game Boy, and it then parses a series of instructions (also known as a “core”) to emulate the original Game Boy on a hardware level. That’s different from software emulation, which tricks a combination of processor and OS to take calls originally intended for a Game Boy and treat them like they’re native to something like Windows or Android.

Hardware emulation tends to deliver more accurate versions of classic games in aspects like timings and hardware limitations, all while reducing button-tap lag and supporting newer video formats like HDMI. Ars readers have seen this in systems made by Analogue, which tend to revolve around a single console family and a working cartridge slot, along with the MiSTer community, which goes a different route.

MiSTer boxes combine off-the-shelf DE-10 Nano motherboards, Altera Cyclone FPGA chips, and community-developed cores to pull off the same hardware-emulation trick, only without waiting on a single manufacturer like Analogue to, say, add support for other computer and console families. You can only run Super Nintendo and Super Famicom games on a Super Nt. On a MiSTer box, you can load dozens of cores on the same piece of hardware, ranging from popular ’80s PCs like the ZX Spectrum to consoles as powerful as the first PlayStation. But you also have to contend with a completely open hardware marketplace to purchase everything you need to get a MiSTer working (though some hobbyists will sell you pre-made kits for a premium).

You can dump floppy discs or cartridges and load their games and apps onto any working MiSTer core, but as an open platform, MiSTer doesn’t mandate how you get or load games. Officially, Analogue systems have required physical cartridges, but longtime Analogue programmer Kevtris previously published “jailbreak” firmware for the company’s systems that allows users to put game ROMs onto an SD card and play them that way. Kevtris has not confirmed any plans to do the same for Analogue Pocket.

Just came in:  Markus Levin on Geospatial Data, The MetaVerse and XYO Network | Ep. 167

Open as in “mostly,” not “wholly”

For OpenFPGA, “open” means that developers don’t need to sign up with Analogue, agree to any licenses, or purchase developer-specific hardware. In an email interview with Ars Technica, Taber offered a colorful sales pitch:

There are no gatekeepers or approval processes necessary to develop with OpenFPGA on Pocket. No required developer signup or bullshit subscriptions (we only ever took Developer applications so we know who is interested and who we can offer hardware to, for free). All you need is a Pocket and you have instant access to start developing or exploring 3rd party FPGA cores. Developers own anything they develop with OpenFPGA and anything they develop with OpenFPGA can be used on any other platform in the future, from Analogue or anyone else.

OpenFPGA developers will be able to operate essentially the same as MiSTer developers do: via open, connected platforms like Github and in ways that allow the full open source development community to contribute. Analogue is pledging to not stomp on community efforts for any reason, as opposed to a platform holder like Sony, Microsoft, or Nintendo clamping down on software designed to run on jailbroken consoles.

Still, we should unpack two items from the quote above. First, “any other platform in the future” does not mean that Analogue will publish or share the hardware schematics of its OpenFPGA standard. (And to be fair, DE-10 Nano boards aren’t open source, either, but rather more widely available.) Taber is confirming that Analog is not interested in restricting any code employed on an OpenFPGA core; if something you develop for OpenFPGA also makes sense in your MiSTer core’s repository, that’s fine.

Enlarge / The Analogue Debug Key, meant to load software from an outside computer via serial-to-USB-C.
Analogue

Second, that part about “offering hardware” comes to fruition this week in the form of special “developer” versions of the Analogue Pocket system shipping to select developers. These systems appear to be identical to the systems sold to consumers; the functional difference is that developer systems include a unique “debug key” card designed to fit directly into the Pocket’s cartridge slot and interface with an external system’s serial port via a USB Type-C connector.

Should you not be considered worthy of an Analogue system giveaway, you’ll still need to physically access an Analogue Pocket to load and test any core designed for OpenFPGA and Analogue’s hardware.

“You’re essentially working for Analogue, FOR FREE”

Before today’s announcement, the FPGA and MiSTer community got into heated discussions at a developer’s Patreon site about the potential of Analogue Pocket’s future developments. Developer José Tejada Gómez, better known to the gaming community by his online handle Jotego, runs a Patreon as a tip jar for fans who download and use his otherwise free contributions to the MiSTer core library. On Tuesday, he asked his followers what they thought of him taking time to port existing MiSTer cores to Analogue’s OpenFPGA universe.

The poll saw his Patreon supporters splitting roughly down the middle on “yes” and “no” votes. Gómez didn’t formally comment on the poll’s results, but he shared two social media posts about the matter. The first remarked on how much processing power and other specs buyers get from a $200 purchase of the Analogue Pocket —especially as MiSTer components have jumped in price over the past two years.

The second, written by RetroRGB founder and retro gaming savant Robert Neal, began with a simple if/then proposal: “If it’s easy, sure!” But the statement also called out the conditionally “open” part of OpenFPGA: “Porting your cores means you’re essentially working for Analogue, FOR FREE, to help boost sales of their device, that they’re 100 percent in control of.”

Just came in:  Microsoft’s fall event 2022: all the news from the online Surface event

When pressed on the feasibility of “easy” ports from the MiSTer core family to Analogue’s OpenFPGA, Taber said that “in our judgment, every pre-existing third-party FPGA core should be able to run on Pocket.” Taber said that a select few developers were invited to test and build content on a preview version of the OpenFPGA SDK, and he claimed that “we’ve seen initial developers port their cores in a matter of days or less.” So it’s doable, but it’s not automatic by any stretch. Unfortunately, Taber declined to send us any of these preview cores to test on our Analogue Pocket to confirm his claims.

Ramming home a point about RAM

Still, Taber is blunt about his expectations for the Analogue Pocket as a home to community-developed cores. “There is no other piece of hardware ever created specifically for video game hardware preservation on FPGA—let alone one that comes remotely close to its ease of use for development, especially at its price point,” he said. Though DE-10 Nano boards come equipped with the more powerful Altera Cyclone chips than those found on Analogue Pocket, Taber repeatedly pointed to their lack of “appropriate RAM, either included or externally addable.” The Pocket’s combined RAM pools include 0.425 MB of BRAM on its larger Cyclone V chip, 32MB of cellular RAM, 64MB of synchronous DRAM, and 256KB of asynchronous SRAM.

Additionally, OpenFPGA developers will get access to both of Pocket’s Altera chips, including the 49,000 logic elements (LEs, also known as ALMs) on its Cyclone V and the 15,000 LEs on its weaker Cyclone 10. This is a superior processing capability to what we’d previously assumed about OpenFPGA; original Analogue comments suggested that only the Cyclone 10 would be available to OpenFPGA developers. It’s unclear how developers will be able to leverage both FPGA chips simultaneously in a way that’s useful or efficient, but their combined 64,000 LEs easily meet every existing MiSTer core’s technical requirements, as seen in this community-managed spreadsheet.

All will apparently be unveiled as soon as this article goes live, including a developer-specific hub that Taber described as “formatted on the web with diagrams, code samples, and inter-connected/linked.” He again offered a colorful pledge about what to expect from this portal: “[Our] developer documentation is beyond what I think anyone is expecting. We’re not fucking around with OpenFPGA—this is the real deal.”

But one element about this open-to-developers, core-crazy OpenFPGA pledge remains unexplained: how typical Analogue Pocket owners will take advantage of it. As Analogue’s developer portal states:

Pocket is not designed to play copyrighted ROM files from the SD card slot. Pocket is designed to play original legacy game cartridges from the cartridge slot. The SD card slot is for firmware updates and other unique features. Analogue does not support piracy.

That paragraph ignores how easy it is to acquire or generate classic ROM files in legal ways, whether by dumping cartridges via physical reader devices that may not be compatible with the Pocket or by getting ROM licenses from modern marketplaces like Steam. And it ignores the reality of MiSTer making no such demands on its users—which could make all the difference in which platform someone favors to, say, juggle libraries of software from the likes of the BBC Micro and Commodore 64.

But the Pocket already offers a workaround for ROM use: its “GB Studio” interface, which is built into Pocket systems to allow hobbyist game makers to test and share games made using the software suite of the same name. But enterprising users quickly figured out how to take retail Game Boy and Game Boy Color games, patch them with a GB Studio signature, and load them on Pocket using the SD card slot.

At least one functional classic-computing core—and a new Analogue Dock feature to match

If Analogue wants to classify that as taking advantage of the “other unique features” line in its official statement, so be it. As a commercial enterprise, Analogue obviously has to put on a certain public face to guarantee that it’s not giving copyright holders a way to litigate over claims of profiting off piracy. But Taber went tit-for-tat with MiSTer in his comments to Ars, going so far as to criticize the MiSTer platform’s accessibility. “Have you ever tried to set up [a MiSTer box] before? It is difficult and a headache for even intermediate-level enthusiasts,” he said. Comments like that ignore the immediate historical ROM access that has made MiSTer beloved as a community-driven hardware-emulation ecosystem.

Just came in:  So, Made By Google Has A Podcast

Taber did not immediately respond to questions about ROM access via the Analogue Pocket’s SD card slot.

In the meantime, Analogue Pocket firmware 1.1 comes with one proof of concept of the OpenFPGA promise: a working, accurate, and impressive implementation of the PDP-1. This classic computer is often considered the first “gaming” platform, thanks to the creation of the game Spacewar! on an MIT PDP-1 installation in 1962. Analogue notes that Spacewar! is in the public domain, so it’s included in today’s public download.

Spacewar! immediately boots upon any launch of the PDP-1 in the Analogue Pocket’s new OpenFPGA menu tab, but its launch screen lacks key instructions about how the game works, what each Analogue Pocket button does, and why the game is probably better played on the Dock (see below). If you’re a savvy PDP-1 historian and have software ready to load as a virtual “tape,” however, the current OpenFPGA implementation doesn’t support such ambitious PDP-1 use. (At least one existing MiSTer core for the PDP-1 does support such functionality.)

This game’s introduction also exposes a new previously promised feature finally working on the Analogue Dock: multiplayer support. This is good because Spacewar! doesn’t include any single-player practice mode; it always expects two players, making it less than ideal in handheld mode. If you want to test Spacewar! as it was originally intended, you’ll need to attach the Analogue Pocket to the Analogue Dock, then sync a second gamepad via Bluetooth, USB, or—in the case of compatible 8Bitdo gamepads, which just received a wave of firmware updates for this feature—2.4 GHz connections. Support for up to four players is likely meant to be taken advantage of by other OpenFPGA cores, as the Analogue Pocket’s default cores are all meant for the single-player Game Boy family. (Remember, multiplayer on those handhelds revolved largely around “link cables” instead of syncing a second controller to a friend’s handheld—that was true even for Super Game Boy fare.)

The rest of this week’s new Pocket perks and estimates of future tweaks to come

Pocket firmware 1.1, available for download now, includes two other welcome updates: save states and game info cards.

Enlarge / Save states from a variety of games—including a colorized version of Dr. Mario that I have installed via the system’s GB Studio workaround.
Sam Machkovech

The Analogue Pocket now lets players freeze their progress in any game, either to resume it later or to restart at a tricky point. Even better, the system can now store save points for up to 120 games in their collection. This has been a standard feature in emulation since the 1990s, and the Pocket impressed by adding it as a default feature upon its launch—a first for a cartridge-based system.

But that version only supported a single save state, which would be wiped if you switched cartridges. The 1.1 update means you no longer have to worry about your latest save state automatically overwriting one from another game. You can even save multiple save states per game, and the feature also works with games loaded via flash carts. Analogue says a fancier version of the interface, complete with snapshot images of each save state, will arrive in “September.” (Due to 1.1 taking so long, however, we no longer trust Analogue’s time estimates on this or any other features below.)

Analogue also now identifies any cartridge you insert from its four supported libraries (Game Boy, Game Boy Color, Game Boy Advance, Game Gear) and presents an “info card” before each game loads, displaying its name, region, version number, title screen, publisher, developer, and release year. This display even works on unusual cartridges like a series of Japan-only “Nintendo Power” multi-game carts, but the same does not apply to popular third-party flash cartridges like the Everdrive.

This feature is a more limited version of the previously advertised “Library” tab, which, according to Analogue’s official messaging, is meant to include “a reference level database to play, explore, and share” and “a scholarly cataloging of the entirety of video game history.” Analogue is nowhere near this level yet, and the company pledges to deliver its original vision by September. In the meantime, Analogue recommends perusing the Library section on the system’s SD card and adding custom images to your favorite games’ folders so that when the cartridge is inserted, more relevant images appear in its otherwise limited listing page.

The rest of Analogue Pocket’s estimated updates are as follows:

  • Ongoing OpenFPGA features: August
  • DAC support: September
  • Full button mapping: September
  • Screenshots: September
  • GB camera image saving: September
  • New original display modes: October
  • Tracking tools: October

Sadly missing from that list: any estimates of when Pocket’s cartridge adapters for Neo Geo Pocket or Atari Lynx will go on sale.

Source