HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
Gekkio
mooneye-gb
Rust2017–2021
Gekkio / mooneye-gb

mooneye-gb

A Game Boy research project and emulator written in Rust

5Distinct people
5Mentions
1Explicit recommenders
972GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A Game Boy research project and emulator written in Rust

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

I've been working on a GB emulator for awhile. Step one is to understand the architecture of the system. What are the different hardware components? How do they interact? A…

ehaskins used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year5 dated mentions

Observed mentions: 2017-12-09 05:40:46 UTC to 2021-09-24 07:20:52 UTC.

012017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2021

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC101
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC101
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC101
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC101
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC101

What Hacker News says

5 sources
A few months ago the whole GameBoy SoC (DMG-CPU) was reversed engineered in the same way [1], except for the CPU part - this means the schematics include pixel processor unit, timer, serial port, IRQ controller, etc. However, it seems that the CPU itself is pretty straight-forward to emulate anyway, since Gekkio, author of the mooneye-gb [2], figured it's a variant of a well-documented SM83. Anyway, reverse-engineering efforts like this are pretty exciting, as they should allow to create a 100% accurate emulators - and we know they are accurate not only because all the games are running as expected, but because they are based on the actual hardware design (which is even better than the producer's specification). GB is not a complex piece of hardware, in comparison to eg. SNES, but there are some emulation issues really hard to tackle, esp
Read the rest
ecially around the pixel processing unit IRQ timings - it's like solving a complex set of linear equations, but we don't even know what the variables are (eg. what can affect a 4-processor-tick shift in the HBlank IRQ timing this way or another). Looking forward to a complete, transistor-level GB simulator, something like Visual6502. [1] https://github.com/furrtek/DMG-CPU-Inside [2] https://github.com/Gekkio/mooneye-gb [3] http://www.visual6502.org/
In Reverse-engineering the audio chip in the Nintendo Game Boy Color
ehaskins·Apr 15, 2019Recommendation phrase
I've been working on a GB emulator for awhile. Step one is to understand the architecture of the system. What are the different hardware components? How do they interact? A simple emulator boils down to: While(true) Emulate_one_cpu_cycle() For each cycle you have to produce any side effects from the various peripherals (serial comms, update the display, generate audio, etc.), process any external changes (button presses, serial data), and emulate the next CPU instruction (basically a big switch). I recommend "The Ultimate Gameboy Talk (33c3)" [0], for an overview of the Gameboy and it's internal peripherals. There are various test ROMs available that you can use to verify the basic functionality. [1][2] 0. https://m.youtube.com/watch?v=HyzD8pNlpwI 1. http://gbdev.gg8.se/wiki/articles/Test_ROMs 2. https://github.com/Gekkio/mooneye-gb
In GameBoy CPU Manual (2013) [pdf]
i have been writing a gameboy emulator for the last year (with short bursts of work where i implement some module), and it's been very challanging and fun, i recommend everyone to try it. it has a very simple 8-bit (risc) architecture, but obviously tailored for games (for example, it has a dedicated sprite memory sector). i recommend people to try it out because it is has fun quirks compared with "regular" architectures, like arm and x86, for example in the way it handles cartridges, or in that some cartridges actually had non-trivial logic inside them and weren't just a rom. it always amazes me how active gameboy research and development is still today, for example there's a very recent gameboy emulator / research project done in rust https://github.com/Gekkio/mooneye-gb there are even test roms with which you can test your emulator to
Read the rest
see if it implements all opcodes, interrupts and whatnot correctly (where correctly not only means "with respect to the effects" but also with respect to how many cycles everything should take). example of these test roms: http://gbdev.gg8.se/files/roms/blargg-gb-tests/ also for example this disasm of pokemon red: https://github.com/pret/pokered if you want to write an emulator or a game and you have basic computer organization knowledge, i'd start with the famous pandocs.
In Making a Game Boy game in 2017

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.