Anatomy of a hardware emulator
MetadataShow full item record
This paper describes the creation of a Nintendo Game Boy hardware emulator in C#. The system is emulated at the assembly programmer’s level, i.e., at the opcode or instruction level. It includes a complete, emulated CPU, MMU, GPU/PPU, as well as an emulated timer, and controller IO subsystem. The goal of the paper is to demonstrate basic software/hardware emulation strategies and to provide an analysis of how the hardware maps to a set of software components.