2026-08-11

Coffee GB v2.0.1

EmuCR: Erockus ArcadeCoffee GB v2.0.1 is released. Coffee GB is a Gameboy Color emulator written in Java 16 (core) and Kotlin (UI). It's meant to be a development exercise.

Features:
Full support for GB & GBC emulation.
Partial Super Gameboy emulation (borders and palette).
Cycle-exact CPU emulation. Each opcode is split into a few micro-operations (load value from memory, store it to register, etc.) and each micro-operation is run in a separate CPU cycle.
Quite compatible (all the Blargg's tests are passed, although some game still doesn't work)
Rollback-based netplay
MBC1-5 support
Battery saves
Support for zipped ROMs
ROM-based compatibility tests run from Maven

Coffee GB Changelog:
Coffee GB 2.0.1 improves desktop audio resilience, emulator performance, native distribution, and release reliability.
Highlights
Eliminates Windows UI audio gaps and adds adaptive frame skipping under audio pressure.
Restores Harry Potter intro performance while reducing steady-state work across PPU/GPU/STAT timing, input, DMA/HDMA, Game Genie lookup, rendering, and audio mixing.
Publishes a verified single-file Windows portable EXE that launches Coffee GB directly.
Adds a reproducible emulation performance harness and streamlines the user-facing README.
Aligns the reviewed third-party component inventory with the runtime SBOM so release packaging passes its exact legal-inventory gate.
Native package verification
All four native targets were built, inspected, unpacked, and launch-smoke-tested on their target architectures. These packages are unsigned:
linux-x86-64: unsigned
windows-x86-64: unsigned
macos-x86-64: unsigned
macos-aarch64: unsigned
On macOS, game controllers require a compatible system SDL2 installation; keyboard input and emulation remain usable without it.
Merged pull requests
#465 — Streamline emulator tests, internals, and documentation
#481 — Publish Windows portable EXE
#482 — Optimize GPU method-call hot paths
#483 — Reduce subsystem method-call overhead
#485 — Cache GPU timing mode during emulation ticks
#486 — Cache PixelTransfer speed mode during ticks
#487 — Reuse CPU state across Gameboy tick checks
#488 — Cache STAT console hardware mode
#489 — Gate steady-state emulator work
#490 — Consume DIV reset once per tick
#491 — Refresh GPU timing mode only when dirty
#492 — Fast-path PixelTransfer WY sampling
#493 — Batch PPU interrupt bookkeeping
#494 — Cache STAT GPU timing snapshot
#495 — Share production STAT CPU phase snapshot
#496 — Pack CPU phase queries for STAT and HDMA
#497 — Reduce settled joypad tick method calls
#498 — Fuse pixel output and machine tick
#499 — Optimize PPU timing and audio hot paths
#500 — Optimize sparse STAT event evaluation
#501 — Lazily resolve CPU STAT read phase
#502 — Add adaptive frame skipping under audio pressure
#503 — Cache stable stereo mixer output
#504 — Optimize steady-state emulator tick paths
#505 — Restore Harry Potter intro performance
#506 — Eliminate Windows UI audio gaps
#507 — Update release legal component versions
Direct commits
9188faa — Add the emulation performance harness
09b9cf2 — Streamline the README for users
Fixed issues
None.
Thanks to @trekawek for all changes in this release.

Download: Coffee GB v2.0.1
Source: Here

0 Comments

Post a Comment