Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Game Boy Development
  3. VerilogBoy

VerilogBoy

NOASSERTIONVerilog

An open-source Game Boy compatible console implemented in Verilog RTL for FPGA hardware.

Visit WebsiteGitHubGitHub
531 stars63 forks0 contributors

What is VerilogBoy?

VerilogBoy is an open-source hardware implementation of a Nintendo Game Boy compatible console written in Verilog. It provides a complete RTL (Register Transfer Level) design that can be programmed onto FPGA boards to create physical hardware capable of running original Game Boy games. The project implements the Game Boy's SM83 CPU, PPU graphics unit, sound generator, and other core components in hardware description language.

Target Audience

FPGA developers, digital design engineers, and retro computing enthusiasts interested in hardware emulation and Game Boy architecture. It's particularly suited for those wanting to understand or modify Game Boy hardware at the RTL level.

Value Proposition

Unlike software emulators, VerilogBoy runs on actual FPGA hardware, providing a unique hands-on approach to retro gaming preservation and hardware design education. It offers a complete, synthesizable implementation with demonstrated commercial game compatibility.

Overview

A Pi emulating a GameBoy sounds cheap. What about an FPGA?

Use Cases

Best For

  • Learning Game Boy hardware architecture through RTL implementation
  • Creating FPGA-based Game Boy compatible hardware
  • Digital logic and Verilog educational projects
  • Hardware preservation of retro gaming systems
  • Developing custom Game Boy hardware modifications
  • Experimenting with hardware emulation on FPGA platforms

Not Ideal For

  • Projects requiring high accuracy or cycle-accurate Game Boy emulation
  • Developers looking for a ready-to-use, multi-platform FPGA solution
  • Teams needing extensive documentation and community support for quick integration
  • Those wanting a simple, software-based Game Boy emulator without hardware dependencies

Pros & Cons

Pros

Accurate CPU Core

The SM83 CPU implementation passes all Blargg's tests and key Mooneye timing tests, ensuring functional correctness for most game logic.

Comprehensive Simulation Environment

Includes a Verilator-based simulator with SDL support, allowing ROM testing without FPGA hardware and detailed waveform tracing.

Demonstrated Game Compatibility

Successfully runs commercial games like Tobu Tobu Girl on the Pano G1 FPGA, proving real-world usability for retro gaming.

Educational RTL Design

Provides a complete, synthesizable Verilog implementation ideal for learning Game Boy hardware architecture and digital design.

Cons

Limited Platform Support

Currently only targets the Pano Logic G1 FPGA, with no out-of-the-box support for common development boards like DE10-Nano or Arty.

Incomplete PPU Accuracy

The README admits the PPU implementation is 'wrong,' failing multiple timing and interrupt tests due to architectural simplifications like a single fetcher.

Complex Setup Dependencies

Requires multiple tools like Verilator, SDL2, and rgbds, with non-trivial installation steps across different operating systems.

Sparse and Outdated Documentation

Architecture diagrams are marked as outdated, and guidance for porting or advanced customization is minimal, relying on user exploration.

Frequently Asked Questions

Quick Stats

Stars531
Forks63
Contributors0
Open Issues5
Last commit3 years ago
CreatedSince 2018

Tags

#fpga#embedded-systems#rtl-design#game-boy#hardware-emulation#verilog#retro-gaming#hdl

Built With

S
SDL2
V
Verilator
V
Verilog

Links & Resources

Website

Included in

Game Boy Development4.4k
Auto-fetched 11 hours ago

Related Projects

ArduinoBoyArduinoBoy

Official ArduinoBoy Repository for serial MIDI communication to the Nintendo Gameboy.

Stars367
Forks52
Last commit5 years ago
mGBmGB

mGB - Nintendo Gameboy MIDI control for Arduinoboy

Stars268
Forks33
Last commit1 year ago
lsdpatchlsdpatch

LSDj Patcher

Stars214
Forks17
Last commit8 months ago
gb-save-statesgb-save-states

💾 Patches to add save state support to Game Boy games when playing on the original hardware

Stars184
Forks15
Last commit1 year ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub