What is FPGA and why may I want it?

I wanted to make this topic here because I get the impression that a lot of people will probably be wondering what FPGA is.

FPGA stands for Field-Programmable Gate Array. Which doesn’t explain anything …

I’m not an expert and I might get some information here wrong and if I do I hope someone can educate me and I’ll go ahead and update this post.

I will try to explain this as simply as I can.

I think most of us are familiar with the concept of Emulators. A program that runs on a computer that allows you to run programs that are for another type of computer. So an Emulator translates something like a game in a way that your computer can kind of understand it and run it.

They never run as good as the original but sometimes they come pretty close. For many people, they are more than enough.

FPGA is a chip that can be programmed to work like other chips.

Take an SNES for example. It has different chips and different resistors and different routes for electricity to take. You can program all of that into an FPGA Core, which is basically like a file, when you run the file on the FPGA chip, the chip understands now how to behave and it will behave exactly as a SNES.

So in many ways, the FPGA chip becomes an SNES, when a rom is loaded, there is no translation going on, it is just a SNES rom being played on a SNES, as long as that SNES core is loaded, that FGPA chip is an SNES.

You can then load a Genesis core and now that chip is a Genesis and can play Genesis roms just like a real genesis console.

This is why FPGA fans often say it’s not emulation, there’s no software layer interpreting the game in real time. Instead, the FPGA chip is configured to behave like the original hardware at the circuit level, the chip simply is an SNES or Genesis, or Atari 2600 or many others based on the core that is loaded. It is doing the exact same thing the actual console would have been doing.

Except that it’s not…

The amazing people that create these cores don’t have official schematics from Nintendo or any of these companies with all the information for the systems. So they have to program things based on their best understanding. Luckily, many retro systems used off-the-shelf components, meaning developers can study existing documentation for those parts. However, some chips were custom-made, making FPGA cores harder to develop.

This means that while in theory a FPGA chip can behave 100% like a SNES (and I do believe they’ve already achieved this with the SNES) it may take a few updates before they get there.

Could Nintendo create an FPGA Core that was 100% accurate to their consoles? Yes, they could but that will never happen. FPGA is technically better than Emulation, it is more accurate to the original, but since it’s hardware, it is much more expensive than using an emulator, and since emulation is perfectly fine for the vast majority of people, then there is very little business sense to do it.

One last thing I did want to mention about FPGA. The focus is pretty much always accuracy, this means that even if the FPGA was super powerful, if it is behaving like a SNES it will behave exactly like an SNES, meaning that if the games used to slow down on a specific area in the system, it will also slow down on the FPGA chip. Some people do release Turbo Cores, to speed things up, but that is usually not the intention with FPGA.

1 Like