Emulators play a crucial role in preserving the history of video games, allowing players to continue enjoying classic titles on modern hardware long after original devices have been discontinued or become obsolete. The goal of our project is to develop an FPGA-based GameBoy emulator that runs GameBoy ROMs, incorporating essential subsystems such as the CPU, Memory Mapping Unit (MMU), Pixel Processing Unit (PPU), Audio Processing Unit (APU), and input/output drivers with controller support. The system will provide VGA video output and, at a minimum, be able to run iconic games like Tetris and Dr. Mario, faithfully recreating the original GameBoy experience.
Through this project, we aim to preserve the legacy of retro gaming while showcasing the technological progress in both hardware and software that has shaped the gaming industry, helping to inform the development of future gaming hardware and software optimizations. Replicating older systems also allows future game developers to understand how past have technologies shaped modern gaming devices, while also offering insights into how current hardware and software can be improved for newer architectures.