These FPGA chips have been part of the retro gaming landscape for years, powering devices like the Analogue Pocket, MiSTer FPGA, Mega Sg, Super Nt and Analogue Duo – and the next generation of chips is going to open things up for the reproduction of more powerful systems, such as Sega Dreamcast.
Via his involvement with the Coin-Op Collection project and the upcoming MARS FPGA system, Pramod "Pr4m0d" Somashekar is one of the leading lights of the FPGA community. Working alongside Atrac17, he has created cores for a wide range of arcade games, with the most recent examples being Smash TV, NARC and Mortal Kombat.
What got you into gaming, and what's your favorite system and game of all time?
Pr4m0d: I've been into gaming for a long time. It all started when I was about 4 or 5 years old with the Commodore 64 and Sega Master System—those were the systems my brother had. Later on, I got more into programming. Another one of my brothers was studying Computer Science at university, and I would read his books and type the programs into the computer. So I spent a lot of my youth both playing games and programming them. I even got into modifying and cracking early games back in elementary school because I found it so fascinating.
I also spent a lot of time at arcades and was more intrigued by arcade games than consoles. I had plenty of games for the NES, SNES, and Genesis, but they just didn't compare to the real arcade experience. So from an early age, arcade games captured my attention more than the home console ports I saw on the C64, Amiga, or IBM PC.
As for my favorite system, that's tough to say. I probably played more games on the PlayStation, SNES, and PS2 than anything else. But I don't really play games for entertainment. I'm good at a lot of games, but what really interests me is analyzing the design, mechanics, and technical execution. Breaking down how a game works is more fascinating to me than just playing it.
Pr4m0d's work on his Raizing cores gave many a taste of shmup perfection in FPGA form.
Could you give us a little background on your career and your "day job" outside of FPGA gaming?
Outside of FPGA development as a hobby, I work as a developer. The company I work for specializes in smart implants, which are part of the medical device industry. I contribute to development and lead several areas, including test automation, cloud infrastructure, and software engineering in the Data Science & AI department.
It's exciting to see how technology can help patients recover and ease their burden. It's also amazing to see doctors use our technology to monitor patients remotely and provide support without requiring office visits.
How did you become involved with the Coin-Op Collection project, and how do you choose which titles to include in it?
I didn't start the Coin-Op Collection project—that was actually started by Atrac17. I got involved toward the end of my development on Raizing [cores]. Since then, I've been working on various FPGA-related projects, mainly cores and providing support. One of my main goals is education and enabling others.
In 2024, I made some progress in this area, creating articles, tutorials, and videos about core development and the overall process. Next year, I'll be focusing even more on this, creating my own framework and tools that will be open to everyone and designed to be easy and simple to use. There will be educational material and support to guide people through the process.
We're tired of seeing the same five people release cores. We want more people involved and to see them succeed with this technology. I hope my new framework, tools, and educational content will significantly lower the barrier to entry so more people can experience the joy of this hobby.
What are the biggest challenges when it comes to creating an FPGA core for arcade games?
The biggest challenge is often the FPGA device and its resources. The limitations of the hardware can really work against you. Keep in mind that many of the boards I work with are relatively new compared to boards like Pac-Man, Defender, or Robotron. So, there are high demands in terms of memory speed and data processing, and I don't usually work with older boards.
With FPGA, the goal is to achieve accuracy in gameplay compared to the original board, and getting that right can be challenging. There are very few cores, if any, that are 100% accurate simply because the commercial boards available aren't powerful enough to support that level of detail.
That said, I think the FPGA cores available today provide a good starting point. Just achieving playability is a worthwhile goal, especially given the advantages over software emulation, like lower input latency. As commercial boards get more powerful, we'll see more accurate cores. There will be a renaissance where we'll revisit older FPGA cores and make them more accurate, particularly with respect to memory timings, thanks to increased power on newer boards.
Industrial boards are far more powerful and also much more expensive—I'm talking about $50,000 boards. With the higher block memory, there's no need for much external memory, and the logical elements are plentiful, and the cells are faster.
So, if the board is powerful enough, recreating old boards accurately is definitely possible. But for the commercially available boards today, the power just isn't there yet.
Given that what you're doing has zero support from the original game manufacturer, how have you made the process economically viable when it comes to covering your time and costs?
Creating cores isn't profitable, nor is it economically viable. Most people I know who do this do it for preservation and as a hobby. So, I do not make any money on FPGA cores, and we do not sell FPGA cores.
For example, I spent almost two years working on a Midway project, creating and validating the CPU and the rest of the core, along with all the custom chips. I own all the original boards, manuals, and schematics published by the manufacturer. There's a lot of work involved, especially if you have to create and validate complex components like a CPU. It's easier if existing IP is available—then you only need to focus on connecting components rather than developing them from scratch.
Let's say you spend two years on a project and finally have a core ready. Even if you made it exclusive to certain devices, you'd only make a few thousand dollars at best, which is nowhere near enough to cover two years of work.
NARC is one of several Midway cores which Coin Op Collection has produced.
A more viable approach might be to create a hardware device specifically designed for the cores you make. This model, where you make money on the hardware itself and its exclusivity, could be more sustainable. People don't want the complexity of a modular solution. They would rather have a plug-and-play solution that just works out of the box. So, this, in turn, increases the addressable market of the solution beyond people looking for FPGA solutions specifically.
We've seen this model succeed before with products like the JROK boards, which were designed specifically for early Williams games and continue to sell well even 10 years later. I think we'll see more of this type of model as commercial FPGA boards become more affordable and more powerful.
MiSTer and Analogue Pocket are the two biggest FPGA platforms on the market at the moment when it comes to retro gaming. What are the respective strengths and weaknesses of these systems?
The MiSTer has an edge in terms of accessories, FPGA size, and configurability. The Analogue Pocket, on the other hand, has better external memory, interconnections with the FPGA, and ease of use and portability.
There are things that work really well on the MiSTer, particularly older games. However, a lot of the projects I work on are memory-intensive and require higher bus speeds, clocks, and memory. Some newer stuff has been done on MiSTer, but I think it relies heavily on optimization and hacks, which is fine as an initial goal, but not ultimately what an FPGA solution aims for.
My Raizing core, for example, is very memory-intensive. It works okay on MiSTer but isn't entirely accurate due to SDRAM speed limitations. I plan to revisit it with my new framework and boost everything to resolve the current issues. I wasn't able to get Midway running well on MiSTer, but it works on the Pocket thanks to its memory and bus speed and the ability to overclock the memory stably.
Keep in mind, though, that I spent six months slimming everything down, even eliminating a GPU, to make it fit in the Pocket. It's not a complete solution, but I'm happy that it works on something current, rather than having to defer it to MARS, where we have more power.
At least people can play it, which is rewarding, considering the time I spent on it.
I think the next step is more advanced commercial dev boards with faster and more plentiful memory. That's the key bottleneck in today's solutions, and I've run into those limitations repeatedly.
I generally don't work with consoles—the subsystems are too complex for my approach, and testing is more challenging. I prefer focusing on reverse-engineering arcade platforms.
That said, I'm looking to target more advanced arcade systems, such as Primal Rage, Street Fighter: The Movie, and other memory-intensive titles. Of course, I'll continue working on the Midway series, including the T-unit and Wolf-unit boards, and we have (a big project) in the works that we haven't announced yet.
You're also involved in the MARS project. I know you're not ready to share too much on that right now, but how are things progressing?
Yes, the MARS project is still ongoing, and we work on it every day as a team. We're not ready to share any details yet, but keep an eye on our MARS Twitter account for any announcements.