This isn’t an FPGA emulating Mario Bros., it’s an FPGA playing the game by analyzing the video and sending controller commands. It’s a final project for an engineering course. The ECE5760 Advanced FPGA course over at Cornell University that always provides entertainment for us every time the final projects are due.
Developed by team members [Jeremy Blum], [Jason Wright], and [Sima Mitra], the video parsing is a hack. To get things working they converted the NES’s 240p video signal to VGA. This resulted in a rolling frame show in the demo video. It also messes with the aspect ratio and causes a few other headaches but the FPGA still manages to interpret the image correctly.
Look closely at the screen capture above and you’ll see some stuff that shouldn’t be there. The team developed a set of tests used to determine obstacles in Mario’s way. The red lines signify blocks he will have to jump over. This also works for pits that he needs to avoid, with a different set of tests to detect moving enemies. Once it knows what to do the FPGA emulates the controller signals necessary, pushing them to the vintage gaming console to see him safely to the end of the first level.
We think this is more hard-core than some other autonomous Mario playing hacks just because it patches into the original console hardware instead of using an emulator.
7 thoughts on “FPGA Plays Mario Like A Champ”
Full FPGA hardware implementations (without emulation of the NES processor system, or reusing binary cartridge software) of Mario Bros. have been previously made in Verilog. Please have a look to:
Those are very cool, too. This isn’t an implementation of the game, though, but of sufficient AI to play the original game.
Very cool project indeed!
Please remove my first comment, except maybe the “Nice Project!”, which it is!
It’s ok. I was thinking this guy could hook his system into the one you mentioned.
Thanks Jeremy and company. I’ve watched all your Arduino tutorials and see your name on the Internet from time to time. Good luck in your future projects.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)