Gameboy Emulator

Gradwork



The initial project was limited to playing Tetris, so significant work was needed to enable support for additional games. By utilizing an opcode tester, opcodes could be evaluated quickly and efficiently to ensure they functioned correctly. This streamlined the process of implementing missing or malfunctioning opcodes. Test ROMs were also used to validate the opcodes in a realistic setting, leading to functional opcode support, except for the timer implementation. To accommodate a wider range of games, a memory bank controller (MBC) was added, enabling support for not only ROM-only games but also those requiring an MBC chip. Implementations for MBC1 and MBC5 were included, paving the way for emulating more complex games like The Legend of Zelda: Link's Awakening and Hoshi no Kirby. Additionally, a new sprite rendering system was introduced, allowing broader game compatibility. However, this change slightly reduced performance, though future optimizations could address this issue.

Repository
Download Executable