Coffee GB is a Gameboy Color emulator written in Java 8. It's meant to be a development exercise. More info can be found in the blog post. First I implemented all the Gameboy CPU opcodes. It’s not exactly the Z80, but it’s pretty close. As a reference, I’ve used the GameBoy CPU Manual - later on I discovered that it has a few typos and is not specific enough for some of the operations. After implementing the opcodes and memory (modelled by an int[] array) I was eager to check whether it’s possible to run some code on it. I had neither the cartridge nor the GPU emulation yet, so even the simplest game wouldn’t be an option. However, when the original Gameboy starts, it executes a simple 256-bytes program, a kind of firmware displaying the Nintendo logo and self-testing the system. That was exactly the thing I was looking for - after just 3 days I had an application running the Gameboy code!

Features

  • Cycle-exact Gameboy CPU emulation
  • Quite compatible (all the Blargg's tests are passed, although some game still doesn't work)
  • MBC1-5 support
  • Battery saves
  • Support for zipped ROMs
  • ROM-based compatibility tests run from Maven

Project Samples

Project Activity

See All Activity >

Categories

Emulators

License

MIT License

Follow Coffee GB

Coffee GB Web Site

Other Useful Business Software
Try Google Cloud Risk-Free With $300 in Credit Icon
Try Google Cloud Risk-Free With $300 in Credit

No hidden charges. No surprise bills. Cancel anytime.

Use your credit across every product. Compute, storage, AI, analytics. When it runs out, 20+ products stay free. You only pay when you choose to.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Coffee GB!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Programming Language

Java

Related Categories

Java Emulators

Registered

2022-10-19