Software Emulators vs FPGAs

preview_player
Показать описание
Today, I’m wrestling with the question that’s on everyone’s mind… if software emulators are so good and inexpensive, then why are there people spending the money on FPGA-based devices like the Analogue Pocket and the MiSTer? But in order to understand this, we need to go a bit deep.
So, in this video, I’m going to take you through the basics of how old game consoles work, and I’m going to discuss how both software emulators and FPGAs go about recreating that experience on different devices. And along the way, I’ll touch on various nuances of both approaches, and perhaps surprise you with a couple of things you may not have known about emulation. This video is a bit more technical than my usual content, but I think you’ll find the explanations and diagrams quite accessible.

🔗 Links Referenced in this Video:

🔗 Further Study on How the NES and GameBoy Work:

🔗 Further Study on How Software Emulators Work:

🔗 Further Study on How FPGAs Work:
Рекомендации по теме
Комментарии
Автор

Those first 8 minutes or so are an amazingly done explanation of how computer hardware and software works in general.

go-away-
Автор

Hands down, the best concise explanation of what an FPGA is. Subbed.

MyChannel-vmdw
Автор

This channel is such a hidden gem. Outstanding video, content, editing, it has it all. Great video, as always. Thanks, Ken.

TheMikeyb
Автор

"Thirty years ago, when I was sitting in front of my living room TV-"

Playing the NES, yeah, I remember that.

"- playing Super Nintendo-"

*YOU SHUT YOUR DIRTY MOUTH! I'M NOT OLD, YOU'RE OLD!*

GENERIC_CHANNEL_HANDLE
Автор

One thing that was not mentioned is reduced input lag that fpga can provide. This is due the parallel cycle accurate nature of the fpga emulation as it can run in sync with the display output as the original hardware did. Basically all the software emulators have render to a "backbuffer" which is displayed at least a frame later.

SpacemanX
Автор

i am a computer engineer, I cant imagine how much work he put in this. R&D, explanation, videography, sounds, animation, testing, compiling .... wow

mpty
Автор

Thank you for this video! I recently started using an Analogue Pocket because I didn't understand the hype for fpga when compared to cheaper emulation handhelds. But now I have a slightly better understanding and appreciation for fpga.

FiftyFive
Автор

My brain misheard the full name of FPGAs as "Field Programmable Gatorade" and I can't stop giggling

woofy
Автор

I'm an FPGA engineer with some comments:

Short explanation about "simulating clock cycle accurate requirements": Say I need accuracy because my FPGA is going to run a car's dashboard software and hardware interface. I'm expecting to simulate 1 second per DAY on a beefed up server farm for a simulated 1080p display. But this is important because I need to check the equivalent of Speedy Gonzalez button #523 in level 17, but for a car. Don't want your ABS to not work because it's January 19, 2038.

HDLs are also completely compatible with creating an ASIC. That is, I can send over a netlist (intermediate design file) to the blokes over in Taiwan and after a few 1000s of dollars, I can create a big box of NES/PS1/N64 on chips the size of a particularly large postage stamp. Per unit cost is far, far cheaper. You often use FPGAs to prototype this kind of thing before sending it off to be fabricated.

About power draw, we have a big honking huge window in the FPGA simulator that talks all about how the FPGA design you're making is gonna suck up the wattage of a hairdryer. And where do you think all of that energy goes? You'll be on the verge of deaf in FPGA labs from the cooling fans, let me tell ya.

Finally, a lot of games work on BUGS of the console, rather than the intended functionality. You see 25:55, right? I can assure you that the dev of your childhood favorite game got a cool animation to work because they used undocumented opcodes that did weird things. Or maybe overloading the PSX vbuffer causes a rather cool transparency effect that's hard to emulate. What if you somehow got 2-3 FPS extra in a game by glitching out the GPU with some wild string of bits? I actually find a few bugs in FPGAs where signals are ten NANOSECONDS late and that causes a bug. That's how picky these effects can be.

adissentingopinion
Автор

I heard the word fpga a lot and I just assumed it was a framework to physically hand create chips. I had no idea that you actually can flash them to different setups and emulate multiple systems off the same chip. That's super cool and super informative, thank you for this video!

negativerainbow
Автор

This was a fantastic explanation of the differences between hardware and software emulation! You're consistently putting out great content.

bollothegreat
Автор

I love all the options. I have emulation running on my Steam Deck and use FPGA on my Analogue Pocket and Mister FPGA. I'm not sure I'm the type of person who would notice the differences too much between them.

DevilsHandyman
Автор

The way the video was presented reminded me of one of those “How it’s made type shows.” I didn’t even know I was interested enough to know what’s going on behind the scenes of all these games and systems I play to watch this type of deep dive video, but this was really informative and genuinely fun to watch. Awesome job man!

peterkefalos
Автор

You are making super comprehensive videos on super hard subject, thank you, and I’m a video game designer ;) was waiting years to get this level of clarity in an explanation. Ken you are a master of your craft, keep posting content !!!!❤❤

stanislasdewavrin
Автор

Software emulators can be as accurate as FPGAs, and FPGAs can be as bad as glitchy software emulators. The Air Strike quirk in software emulation has been fixed years ago, and not through tricks but actual cycle accurate software emulation. Same with Speedy Gonzales. It was one of BSNES's highlights to prove that it was more accurate than the other software emulators of its time, and that was like 14 years ago! If you still see that bug in handheld software emulation devices it can be for several reasons: the company selling these devices don't ship them with up to date emulators, you as a user or the company selling these products aren't using the right emulators, or the device is not powerful enough to run accurate emulators and has to resort to speed hacks that sacrifice accuracy for performance. 22:48 just like a well programmed software emulator. Why so many FPGA/Software emulation comparison videos focus on bad software emulators or emulators meant for cheap and under powered devices?

kathleendelcourt
Автор

FPGAs allow more direct implementation of the original circuit, if it's known. This is a lot less error-prone and more reliable than coding it in software. In a lot of cases it's the only one possible performance-wise if you want 100% fidelity to the original because you have to take shortcuts in a software implementation. Both can still suffer from inaccuracy because they both require 100% accurate and complete reverse-engineering of the original system. This video is a good overview of emulation and the two main approaches.

gblargg
Автор

my 4 year undergraduate in electronics and computers got its money worth while watching this video. thank you so much for such a comprehensive look on these systems.

adityarao
Автор

Rest in Peace to Bsnes’s developer, he took his own life years back and it was very sad.

I remember reading that article years ago shown at 13:30 and being so interested in the progress of Bsnes. I try to use it any chance I get on my main gaming PC.

casedistorted
Автор

I am glad I stumbled upon this video. It is an enlightenment to me as a casual gamer who has been confused about all these technical terms for a long time. I appreciate the pace you talked so I can really catch up, digest and understand the explanations. And the effort not to polarize opinions is commendable. Please keep up the good work and grow the content, and I am sure this channel will be a great success.

lio
Автор

Excellent videos.Despite using FPGAs to emulate retro gaming hardware. It’s also used in flashcart(like everdrive) for emulating NES mapper and SNES custom chip. It's very convenient and saves a lot of money to enjoy games on the original hardwares

Diyloverasia