An FPGA implementation of Nintendo's Game Boy console, originally created as an MIT digital systems project.
FPGABoy is an FPGA implementation of Nintendo's Game Boy console that recreates the original hardware using programmable logic gates. It was originally created as a final project for MIT's 6.111 digital systems course and allows the Game Boy system to run on FPGA development boards. The project translates the Game Boy's architecture into hardware description language for execution on programmable chips.
Digital systems students, FPGA enthusiasts, retro gaming hardware hobbyists, and electrical engineering researchers interested in hardware emulation and classic console architecture.
FPGABoy provides a complete, documented hardware implementation of the Game Boy system for educational purposes, offering insights into both classic gaming hardware and modern FPGA design techniques in a single open-source project.
Implementation Nintendo's GameBoy console on an FPGA
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Includes a detailed original paper (fpgaboy.pdf) explaining the design and implementation thoroughly, which is rare and valuable for educational purposes.
Supports multiple controller types, with SNES controllers working and NES controllers supported in the original design, offering versatility for input methods.
Faithfully recreates the Game Boy's architecture using programmable logic gates, providing a hands-on learning experience for digital systems and retro hardware.
Originated as an MIT course project, making it a well-documented case study for students and enthusiasts interested in hardware design and emulation.
Explicitly stated as non-functional in the README, requiring significant debugging and updates for practical use, which limits immediate applicability.
Relies on specific FPGA boards like Digilent Atlys and outdated software (Xilinx ISE WebPACK 13.4), reducing accessibility and compatibility with modern systems.
Video output options are limited; HDMI is in development and VGA is untested, hindering deployment with contemporary displays without extra work.