Skip to content
Screenshot published by the gameboy.live project
Screenshot published in the gameboy.live project's official README. Image source: gameboy.live project on GitHub.

gameboy.live

GAME BOY COLOR EMULATOR

gameboy.live

Gameboy.Live is an open-source, Go-written Game Boy / Game Boy Color emulator with a desktop GUI and a telnet-based "cloud gaming" mode that renders frames server-side and accepts input from terminal clients.

game boy colorPRIMARY SYSTEM
2019PROJECT BEGAN
Open sourcePROJECT MODEL

WHY IT MATTERS

Why this project matters

Gameboy.Live is a compact, learning-focused emulator implemented in Go that demonstrates both traditional local emulation (Fyne GUI) and an experimental terminal/cloud-playback model (telnet/HTTP/WebSocket streaming). It is useful as a study example for emulator architecture, simple debugging features, and unconventional streaming/playback approaches.

BEST FOR

Best for

Developers and hobbyists who want a readable, Go-based Game Boy emulation codebase and a simple way to experiment with server-side rendering and telnet/HTTP/WebSocket input streams. Not intended as a high-accuracy production emulator.

Wario Land 3 gameplay on Game Boy Color
Gameplay from Wario Land 3 on Game Boy Color.

The people behind gameboy.live

History & status

The project was published in 2019 and appears to have been demonstrated publicly in May 2019. The repository on GitHub is the primary upstream source; there are archived mirrors/releases visible on SourceForge. The project README describes goals and many TODO items (e.g., improving sound, expanding cartridge mapper support, and explicit Game Boy Color support). Releases (binary downloads) were made available by the author. Because the upstream repo is the authoritative source for current status and commits, check the project's GitHub releases and commit history for the latest activity before relying on the software in a production environment.

What gameboy.live supports

  • Game Boy (ROM-only, MBC1, MBC2, MBC3 implementations mentioned in README)
  • Planned / partial: Game Boy Color (explicit GBC support listed as TODO)
  • Controller mapping via keyboard; server-side input via telnet/HTTP/WebSocket
  • Save/load at cartridge level (planned)
  • Simple built-in debugger (breakpoints at ROM entry point)

Download and availability

OFFICIAL DOWNLOADS

Get gameboy.live

Official binaries and release archives are published on the project's GitHub Releases page; source builds are supported via Go (go 1.11+). A SourceForge mirror also hosts historical release files.

Get gameboy.live ↗

DOCUMENTATION

Official documentation

Read the official configuration, compatibility, and troubleshooting material before changing advanced options.

Read official documentation ↗
Broken or missing download? Emulator projects move and official links sometimes change. Please contact Retro Replay so the source can be verified and updated.

gameboy.live setup guide

Setup note: This guide covers obtaining the source or a release, building the project, and running it locally or as a simple cloud-gaming server. It follows the project's README and required runtime notes.

  1. Get the code or download a release: Preferred: visit the project's GitHub repository and download a prebuilt release from the Releases page. Alternatively clone the repository: git clone https://github.com/HFO4/gameboy.live.git
  2. Build requirements: You need Go 1.11 or newer to build from source. On Debian/Ubuntu systems the README recommends installing libasound2-dev and libgl1-mesa-dev for audio/graphics support. The project uses the Fyne toolkit for GUI mode, so configure your environment for Go GUI builds if building the GUI binary.
  3. Build from source: In the repository root run: go build -o gbdotlive main.go This produces the gbdotlive executable. Ensure your GOPATH/GOMOD settings allow dependencies to be fetched; go.mod is present in the repo.
  4. Run in GUI mode (desktop): Start a GUI session to play a ROM locally: ./gbdotlive -G -r "path/to/game.gb" The README documents command-line flags (e.g., -m to toggle sound, -f to set FPS). Keyboard mapping is defined in the README (Z/X for A/B, arrows for directions, Enter/Backspace for Start/Select).
  5. Start a cloud-gaming server (telnet/static image mode): Create a gamelist.json describing available ROMs (example provided in README). Start the server with: ./gbdotlive -s -c "gamelist.json" The server defaults to port 1989. Clients can connect via telnet: telnet <server-ip> 1989 The emulator renders frames server-side and the terminal client interacts using ANSI/UTF-8-compatible terminals. There is also an HTTP/WS-based static server mode (./gbdotlive -S -r "path/to/game.gb") that exposes routes for the latest image and accepts control inputs via HTTP or a websocket stream.
  6. Debugging and test ROMs: A simple debugger can be enabled with the -d flag: ./gbdotlive -r test.gb -d=true The emulator will break at the ROM entry point (0x0100) and print register/memory dumps as described in the README. The README recommends testing ROMs locally before adding them to a public config for cloud play.
  7. Practical notes and limitations: The README lists several unimplemented or incomplete features: Game Boy Color support is explicitly listed as TODO; sound emulation is incomplete and noted to differ from real hardware; support for some cartridge mappers (MBC4, MBC5, HuC1) is missing. The project is intended for learning and experimentation rather than full-compatibility with all commercial titles. The project does not include any commercial ROMs, BIOS, or firmware; users must supply their own legally-obtained ROM files.

Software reminder: Do not distribute or use copyrighted commercial ROMs unless you own them and local law permits. The project does not include BIOS/firmware or commercial games.

Sources and further reading

Detailed guides and tutorials

Explore step-by-step guides for gameboy.live as they are published.