coffee-gb

trekawekMIT活跃维护

用 Java 写的高精度 Game Boy Color 模拟器,能准确还原 Z80 指令和硬件时序,适合跑老游戏或研究模拟器实现。

Accurate Gameboy Color emulator.

coffee-gb-2.1.8发布于 2026-11-02 10:42 UTC1,173star82fork同步于 2026-11-10 23:50 UTC

怎么上手

由 README 提炼,执行前请确认
java -jar coffee-gb.jar --portable
硬件要求按 README 说明

README 未说明具体 CPU、内存或显存要求;桌面应用基于 Java/Kotlin,需可运行 JAR 的 Java 环境。macOS 上使用手柄需系统安装兼容的 SDL2,键盘输入无需。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

高兼容性的 Game Boy 与 Game Boy Color 桌面模拟器,适合跑老游戏、自制程序和诊断 ROM

用 Java 写的高精度 Game Boy Color 模拟器,能准确还原 Z80 指令和硬件时序,适合跑老游戏或研究模拟器实现。

核心能力

  • 模拟 GB/DMG 与 GBC/CGB,支持 SGB 边框和调色板
  • 提供十个存档槽、命名、预览、自动存档与回退
  • 支持拖放加载 .gb/.gbc/.rom 及 ZIP、7z 压缩包
  • 回滚网络对战支持联机线游戏与红外通信
  • 支持 Game Genie 与 GameShark 金手指并内置可搜索数据库

容易踩的坑

ROM 文件不随项目提供,需自备游戏 ROM;macOS 用手柄需额外安装兼容的 SDL2;网络对战为未加密 TCP 直连,仅限可信对象。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本coffee-gb-2.1.8
  1. coffee-gb-2.1.8Coffee GB 2.1.8最新正式版2026-11-02 · 2026-11-02 10:42 UTC

    Changes

    • On Windows, store settings in %LOCALAPPDATA%\Coffee GB\coffeegb.properties. Existing settings are imported from the user profile without changing the old file.
    • Add --portable to keep settings beside the JAR or an unpacked application launcher. The application directory must be writable; saves and other application data retain their existing locations. The single-file Windows EXE extracts to a temporary directory, so use the JAR or an unpacked application image for persistent portable settings.

    Known platform limitations

    • On macOS, game controllers require a compatible system SDL2 installation. Keyboard input and emulation remain usable without it.

    Merged pull requests

    Fixed issues

    Full changelog: https://github.com/trekawek/coffee-gb/compare/coffee-gb-2.1.7...coffee-gb-2.1.8

  2. coffee-gb-2.1.7Coffee GB 2.1.72026-10-01 · 2026-10-01 10:31 UTC
    查看更新说明

    Coffee GB 2.1.7 adds link-cable startup support for Renju Club, improves netplay handoff and recovery, restores a Java ROM-loading constructor overload, and adds pressed-state feedback to Android touch controls. Compatibility documentation and acknowledgments were also updated.

    Merged pull requests

    Fixed issues

    None.

    Known platform limitations

    On macOS, game controllers require a compatible system SDL2 installation; keyboard input and emulation remain usable without it.

  3. coffee-gb-2.1.6Coffee GB 2.1.62026-09-20 · 2026-09-20 13:21 UTC
    查看更新说明

    Coffee GB 2.1.6 adds BESS save-state interchange, expands Game Boy peripheral support, and brings connection choices and device controls together in the desktop menu.

    Changes

    • Load and save BESS-compatible states from the File menu, with validated ROM matching and interchange for supported DMG, CGB, and SGB configurations.
    • Use HuC-1/HuC-3 cartridge infrared and send or receive GBKiss GBF files.
    • Scan EAN-13 barcodes with the separate Barcode Taisen Bardigun reader.
    • Run Pocket Sonar with MBC1S sensor emulation and simulated sonar input. Scene changes now end active input recording, and the mapper is included in state coverage checks.
    • Use Turbo File GB internal memory and removable cards, including import/export, persistence, and write protection. The GBA-only Advance choice is no longer exposed in the menu; legacy state and storage support is retained.
    • Emulate Singer and Jaguar sewing machines, including the JN-2000 embroidery arm, live stitch preview, and PNG export.
    • Organize Peripherals into Link port, Cartridge, and Infrared. Device submenus combine Connect with their controls; Mobile Adapter configuration moves from Preferences into its device submenu.
    • Fix Android CI setup by replacing the retired SDK tools package request with platform-tools.

    Merged pull requests

    • #679 — Add HuC cartridge IR and GBKiss Link file transfers — @trekawek
    • #680 — Fix Android CI SDK package setup — @trekawek
    • #681 — Add the Bardigun optical barcode reader — @trekawek
    • #682 — Add Pocket Sonar MBC1S sensor emulation — @trekawek
    • #683 — Add Turbo File GB and Turbo File Advance support — @trekawek
    • #684 — Add Singer and Jaguar sewing machine emulation — @trekawek
    • #686 — Add BESS state loading and saving — @trekawek
    • #687 — Group peripheral connections and controls by device — @trekawek

    Fixed issues

    • #672 — GBKiss emulation.
    • #674 — Barcode Taisen Bardigun emulation.
    • #675 — Pocket Sonar emulation.
    • #676 — Turbo File peripheral support; Advance remains an internal compatibility model.
    • #677 — Game Boy sewing machine emulation.
    • #685 — BESS-compatible save states.

    Sewing machine controls and a simulated zigzag stitch pattern

    Sewing machine controls displaying an original synthetic pattern (#677).

    Known platform limitations

    On macOS, game controllers require a compatible system SDL2 installation; keyboard input and emulation remain usable without it.

    Full changelog: 2.1.5…2.1.6

  4. coffee-gb-2.1.5Coffee GB 2.1.52026-09-13 · 2026-09-13 20:51 UTC
    查看更新说明

    This release fixes Razor Freestyle Scooter multiplayer startup and race disconnects, and keeps netplay input logs available only as an internal diagnostic feature.

    • Starting netplay in Razor now lets the host coordinate a fresh boot of both games with the link connected. The reboot explicitly bypasses autosave loading on both machines.
    • Opposing directional inputs are resolved consistently, preventing the race disconnect reproduced from a supplied input log.
    • Netplay diagnostic logs capture every player's input and rollback timing. They are hidden and disabled by default; developers can opt in with -Dcoffeegb.netplay.inputRecording=true. Ordinary input recording and playback are unchanged.

    Merged pull requests

    • #673 — Fix Razor netplay startup and race disconnects, by @trekawek.
    • #678 — Hide netplay input diagnostics behind an opt-in flag, by @trekawek.

    Fixed issues

    • #663 — Razor Freestyle Scooter multiplayer remains unavailable after loading a ROM before connecting; the follow-up fix also addresses disconnects during racing.

    Razor remains in a multiplayer race after replaying the input sequence that previously caused a disconnect

    Razor remains racing after the input sequence that previously broke the link (#663).

    Known platform limitations

    On macOS, game controllers require a compatible system SDL2 installation; keyboard input and emulation remain usable without it.

    Full changelog: 2.1.4 → 2.1.5

  5. coffee-gb-2.1.4Coffee GB 2.1.42026-09-09 · 2026-09-09 19:35 UTC
    查看更新说明

    What's changed

    • Expand performance-mode batching across CPU, PPU, DMA, memory access, and peripherals, with additional state/replay regression coverage, diagnostics, and Android performance tooling.
    • Fix simultaneous 2P connections in Mach Go Go Go when the machines' timing phases differ. Each player still needs a saved car: complete a solo race and choose きろくする (Record) before entering 2P Battle.
    • Prevent competing Coffee GB processes sharing a Saves directory from freezing the host during netplay autosave handoff. All instances sharing Saves should use the updated version.
    • Restore GBVisualizer audio when skipping the boot ROM and initialize deterministic post-boot CPU, audio, palette, joypad, and DMA register defaults. Refresh state and replay baselines for these defaults; older SKIP boot-reference recordings may report divergence.

    Merged pull requests

    • #668: Expand performance-mode batching and regression coverage — @trekawek.
    • #670: Fix simultaneous 2P connection in Mach Go Go Go — @trekawek.
    • #671: Prevent autosave races from freezing netplay connections — @trekawek.
    • #669: Initialize skipped-boot registers and fix GBVisualizer audio — @trekawek.

    Fixed issues

    • #665: Fix the connection-time host freeze caused by shared-save autosave races, reported with Master Karateka.
    • #666: Fix Mach Go Go Go's simultaneous 2P connection failure.
    • #667: Restore missing GBVisualizer music with skipped boot.

    Mach Go Go Go connected at course selection after the fix

    Mach Go Go Go reaches course selection after the connection fix (#666).

    Known platform limitations

    On macOS, game controllers require a compatible system SDL2 installation; keyboard input and emulation remain usable without it.

    Full changelog: coffee-gb-2.1.3...coffee-gb-2.1.4

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Coffee GB

    Coffee GB emulates the original Game Boy (GB/DMG) and Game Boy Color (GBC/CGB). It is built for high compatibility across the historic game library, unusual cartridges and accessories, and modern homebrew, demos, and diagnostic ROMs. The reusable emulation core is written in Java; the desktop application and its orchestration layer use Kotlin and Java.

    Download the latest Coffee GB release

    Features

    • Game Boy and Game Boy Color emulation, with Super Game Boy borders and palettes.
    • High compatibility across commercial games, unusual cartridges, homebrew, demos, and diagnostic ROMs.
    • Save states and rewind, including ten save slots, named states, previews, autosave and resume, BESS state interchange, screenshots, deterministic input recordings, and battery-backed saves.
    • Easy game loading with drag and drop and support for .gb, .gbc, and .rom files, either directly or from ZIP and 7z archives.
    • Rollback netplay for link-cable games, with synchronized infrared communication through CGB and HuC-1/HuC-3 cartridge hardware.
    • GBKiss Link for sending and receiving .gbf files through the cartridge's infrared port.
    • Customizable display and sound, including fullscreen, scaling, rotation, grayscale, color correction, LCD ghosting, audio-device selection, and volume and latency controls.
    • Keyboard and game-controller support, including independent controls for up to four players in compatible Super Game Boy games.
    • Broad cartridge and accessory support, including real-time clocks, rumble, tilt controls, Game Boy Camera, Game Boy Printer, Barcode Boy, Bardigun Reader, Full Changer, Pocket Sonar, Turbo File GB/Advance, Singer/Jaguar sewing machines, and Datel Action Replay pass-through.
    • Game Genie and GameShark cheats, with a bundled searchable libretro cheat database.

    ROM files are not included.

    Configuration

    On Windows, Coffee GB stores its settings in %LOCALAPPDATA%\Coffee GB\coffeegb.properties. If that file does not exist, settings from the earlier %USERPROFILE%\.coffeegb.properties location are loaded when available; subsequent changes are saved to the new location. On other platforms, the default settings file remains ~/.coffeegb.properties.

    To keep the properties file beside the application, start the JAR with:

    java -jar coffee-gb.jar --portable
    

    Portable mode uses coffeegb.properties in the JAR's directory and does not import the normal settings file. With an unpacked native application image it uses the launcher directory. The Windows single-file EXE extracts its launcher to a temporary directory, so use the JAR or an unpacked application image for portable settings. The application directory must be writable. This option controls the properties file; game saves and other application data keep their own locations.

    Controls

    Default keyboard controls:

    ActionKey
    D-padArrow keys
    A / BZ / X
    Start / SelectEnter / Shift
    Open menu / resume paused gameEsc
    PauseSpace
    Save / load stateF5 / F7
    Take screenshotF12
    Start input recordingCtrl/Cmd+Shift+R
    RewindHold Backspace
    Toggle fullscreenF11

    Keyboard and game-controller bindings can be changed in File > Preferences…. The same window contains display, sound, and save settings. On macOS, game-controller input requires a compatible system SDL2 installation; keyboard input works without it.

    Use Game > Manage States… to choose among the ten save slots, name states, preview them, and export them. Autosave and resume settings are under File > Preferences… > Saves & Rewind. See save states, autosave, screenshots, input recording, and rewind for more details. Pause, save states, and rewind are unavailable during netplay.

    Use File > Load BESS state and File > Save BESS state to exchange states with other BESS-compatible emulators. Open the matching ROM first; see the BESS compatibility notes.

    Compatibility

    Compatibility is a defining feature of Coffee GB. Its test profiles exercise 5,858 automated verdicts from 17 suite families, covering all popular Game Boy and Game Boy Color test suites, and every verdict passes. Coffee GB also earns the maximum score in GBEmulatorShootout.

    Every exact-reference image suite is pixel-perfect: both Acid2 tests, CGB-ACID-HELL, Strikethrough, all four CasualPokePlayer tests, and all 24 Mealybug Tearoom tests.

    Test suiteCases exercisedCurrent result
    Blargg5454 / 54 pass*
    Mooneye Test Suite130130 / 130 selected cases pass
    RTC3Test33 / 3 menus pass
    SameSuite7171 / 71 later-revision cases pass
    Gambatte HWTests4,6744,674 / 4,674 canonical DMG/CGB verdicts match hardware
    BullyGB22 / 2 DMG and CGB cases pass
    MBC30Test11 / 1 ROM banking and SRAM case passes
    GBEmulatorShootout — specific tests9Maximum score; 8 / 8 images and the ROM+RAM test pass
    DMG-ACID2 and CGB-ACID222 / 2 are pixel-perfect
    CGB-ACID-HELL11 / 1 is pixel-perfect
    Strikethrough11 / 1 is pixel-perfect
    CasualPokePlayer test ROMs44 / 4 are pixel-perfect
    Mealybug Tearoom2424 / 24 are pixel-perfect
    GBMicrotest482482 / 482 machine-readable verdicts pass; 31 additional diagnostics have no automated verdict
    DocBoy Test Suite162162 / 162 selected machine-readable DMG, CGB, and CGB-in-DMG-mode verdicts pass
    gbc-hw-tests221221 / 221 selected hardware-reference verdicts match exactly
    Misc.-GB-Tests1717 / 17 pass verdicts match
    Total5,8585,858 / 5,858 automated verdicts pass

    * Blargg's aggregate and individual checks overlap by design.

    Every automated case must produce its documented pass value, match its selected external hardware reference, or satisfy its upstream image oracle. The source revisions, archive membership, hardware models, and ROM revisions used by these profiles are fixed for reproducibility. GBMicrotest's 31 non-verdict diagnostics are tracked separately and are not included in the 5,858 automated verdicts.

    Netplay

    For link-cable multiplayer, open Game > Netplay…. One player selects Host > Start hosting; the other selects Join, enters the host's address, and selects Join game. Netplay uses a direct, unencrypted TCP connection, so play only with people and networks you trust. When a game is running under an SGB or SGB2 profile, starting or joining netplay restarts that game in DMG mode for the current session without changing the saved hardware-profile preference.

    Project history

    Coffee GB began as a six-week deep dive into how a small computer works. The 2017 origin story covers the CPU, pixel pipeline, audio, early compatibility testing, and first GBC implementation. The later rollback-netplay article explains how per-frame snapshots made high-latency link play practical.

    DateMilestone
    31 Dec 2016The project starts.
    14 Jan 2017The first playable version runs Tetris, two weeks after the initial commit.
    5–7 Feb 2017Game Boy Color support lands with double-speed mode, banked RAM and VRAM, color graphics, and the GBC boot path.
    22 Dec 2017Coffee GB 1.0.0 is released.
    29 Feb 2024Save-state support is added.
    Jul 2025Fast mementos enable rollback netplay, released in 1.5.0.
    Aug 2025Super Game Boy borders and palettes arrive alongside Super Game Boy command support and predefined game palettes.

    Kudos

    Coffee GB owes a great deal to the Game Boy hardware research community and to the authors of every test suite linked above.

    Thanks to:

    • The authors and contributors of SuperSnes9x for their research, testing, and documentation of Game Boy and Game Boy Color link cable compatibility.
    • Shonumi for detailed research into Game Boy hardware and peripherals in the Edge of Emulation series.
    • @ScottNash042 for issue reports and feature suggestions.

    License

    Coffee GB is available under the MIT License.