Coffee GB is a Game Boy Color emulator developed in Java 16 (for the heart) and Kotlin (for the GUI). Designed as a personal project and a programming exercise, it is distinguished by an ambitious technical approach: the emulation of the CPU is cycle-exact, each instruction being broken down into micro-operations executed at the actual rate of the console.
Despite its experimental appearance, Coffee GB offers high compatibility, validated by the famous Blargg and Mooneye GB tests, guaranteeing a behavior faithful to the original console. It supports cartridges with MBC1 to MBC5 memory controllers, as well as battery backups, allowing game data to be stored as on a real Game Boy.
The emulator also reads compressed ROMs (.zip), offers key configuration via a .properties file, and incorporates a netplay feature with rollback (still experimental) to play online with state synchronization.
For developers or curious techniques, the project includes automated testing via Maven, and the...