Gameboy Emulator

Gradwork



Because the given project could only play Tetris, a lot had to be done before the emulator could supports more games. By using an opcode tester, it was possible to quickly and effectively test the opcodes to see if they worked. Because this was done quickly, the implementation of missing opcodes and failed opcodes could proceed more quickly. The use of test ROMS also made it easy to test the opcodes in a realistic environment. As a result, all opcode functions worked except for the timer implementation. Since multiple games need to be supported, a memory bank controller implementation was added. This allowed not only ROMONLY games to run, but also games that had an MBC chip. The MBCs that were implemented were eventually MBC1 & MBC5. Eventually many more games could be emulated such as Legend of Zelda - Link's Awakening and Hoshi no Kirby. Because there is a new implementation of the sprite rendering, which makes sure that more games are supported, the program does run a little slower than before. But this could be optimized in the future.

Repository
Download Executable