The Ultimate Game Boy Talk (33c3)

media.ccc.de10 HN recommenders · 2017–2026
241K views · talk · evergreen · Uploaded 2016-12-30

Michael Steil's 33c3 talk explains essentially everything about the Game Boy: CPU, video hardware, peripherals, and the tricks used by games and demos. It revives the era of counting clock cycles around hardware limits.

HN treats it as the standard starting point for Game Boy emulator writers and homebrew developers, with several calling it one of their favorite talks.

Watch on YouTube

12 comments from Hacker News

@rtpg2017 · in “A list of Game Boy development resources”

The Ultimate Game Boy Talk[0] (listed in the page) is one of my favorite talks of all time. If you were to send this talk to someone, with basically just the videe they could likely build a faithful Gameboy clone. It's so dense, easy to understand, and comprehensive. I'll listen to it form time to time and think about all the cool tricks it reveals. Super impressive to have that much knowledge for a system that only had a couple thousand programs ever written for it. [0]: [VIDEO]

Strongly recommendsView on HN
@anyfoo2018 · in “Why did I spend 1.5 months creating a Gameboy emulator? (2017)”

Game Boy emulators are always great for educational or experimental projects, because the Game Boy platform is surprisingly simple, which leads to a very quick payoff, and yet very "real" in that the Game Boy was a great commercial success with thousands of software titles available, so you have plenty of software available to try in your project and actually make use of that payoff. One example to illustrate how simple the Game Boy is: There is no operating system at all, only a 256 byte boot ROM whose sole purpose is to display the Nintendo logo from the cartridge and halt if it does not checksum correctly (for both cartridge integrity and legal reasons). This entertaining 33c3 talk manages to describe the Game Boy hardware practically in its entirety (and with some previously unknown details, actually): [VIDEO]

RecommendsView on HN
@ehaskins2019 · in “GameBoy CPU Manual (2013) [pdf]”

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. [VIDEO] 1. [LINK] 2. [LINK]

RecommendsView on HN
@jchw2019 · in “GameBoy CPU Manual (2013) [pdf]”

I really like the Gameboy hardware; it's limited, but the design feels very elegant in it's simplicity. I've written a couple of toy Gameboy emulators at this point. It's a bit challenging to get anything working, and honestly I have no idea how to approach audio at all. Nevertheless, it's still quite fun. The LCD timings are a point of curiosity for me. It seems there's still a slight bit of mystery around it, still today. I was inspired to play with emulating Gameboy specifically after an excellent 33c3 talk, The Ultimate Game Boy Talk, which I highly recommend. [VIDEO] (Some day I would like to approach emulation for more platforms, both newer and older, but I feel I still have so much time learn about designing emulators that I haven't bothered with that yet. It's so open ended, and handling things like cycle counting has a lot of different approaches of varying desirability.)

Strongly recommendsView on HN
@Kipters2019 · in “Making a Game Boy Game in 2017”

For anyone interest, I recommend watching "The Ultimate Game Boy Talk" [0] from 33c3, lots of interesting details about how a Game Boy works, including the PPU [0]: [VIDEO]

RecommendsView on HN
@eliasson2019 · in “Emulating the Original Gameboy’s CPU”

Anyone interested in how the Game Boy works should watch "The Ultimate Game Boy Talk" by Michael Steil. [VIDEO]

RecommendsView on HN
@TheAceOfHearts2020 · in “Nintendo has reportedly suffered a significant legacy console leak”

Modern Vintage Gamer just released a video [0] discussing this leak in greater detail along with its expected implications. Anyone who's curious can find the download links by backtracking through all the Pokemon Prototype General threads under the Pokemon board on 4chan. One of the leaks that caught my attention was the source for Pokemon Blue, partially because of nostalgia and partially out of curiosity to see what an old game's codebase even looks like. The first thing that stood out to me was the project's flat folder structure, full of hundreds of files; I guess I was expecting things to be a bit more structured. The source is more readable and approachable than I expected, although I've only poked around in some of the more obvious places and definitions. I'd recommend watching The Ultimate Game Boy Talk [1] before trying to dive into any code. [0] [LINK] [1] [VIDEO]

RecommendsView on HN
@kaoD2022 · in “Choosing tools for Game Boy development”

It's actually Z80-ish with some features missing and some new ones included. It's a Sharp LR35902 SoC with an SM83 core (not sure if it has been used in non-GB SoCs). I can recommend The Ultimate Gameboy Talk for details on it (and much more). [VIDEO] EDIT: I had the SoC and the core names the wrong way around. Thanks svendahlstrand.

RecommendsView on HN
@chrsig2022 · in “Gameboy Doctor: debug and fix your gameboy emulator”

Personally, I've had more trouble understanding the PPU behavior than i did about the cpu instructions and timings. I'd mostly been going off of The Ultimate Game Boy Talk[0] and the pandocs[1]. In trying to quickly dig up some resources now, I found what at first glance looks like a good blog series[2], so I might take some time to squint at them soon. If any HNer has other good resources describing it, I'd be thrilled. It's been a couple years since I've hacked on my own emulator, and I got through implementing quite a bit of the behavior. As I recall, I was able to get serial output from the test roms, which was pretty cool. I put it down after getting frustrated trying to render the screen. [0] [VIDEO] [1] [LINK] [2] [LINK]

@hadlock2023 · in “RyujinX – Open Source Nintendo Switch Emulator”

This is a good place to start. Named "the ultimate game boy talk" dives into the CPU used, the instruction set(s) used by the CPU, how the video instruction sets work(ed) etc. The game boy from 1989 is a pretty simple device to start learning from. From there you can look at how various people emulated the system. [VIDEO]

RecommendsView on HN
@msarnoff2025 · in “How MOS 6502 Illegal Opcodes Work (2008)”

Michael’s blog is one of my favorites. His “Ultimate Guide” talks are great and I rewatch them at least once a year. Ultimate Guide to the C64: [LINK] Ultimate Guide to the Game Boy: [VIDEO] Ultimate Guide to the Apollo Guidance Computer: [LINK]

Strongly recommendsView on HN
@rtpg2026 · in “Game Engine White Papers Commander Keen”

the Gameboy, not the SNES, but this talk is very very good at going in detail about a bunch of internals. The graphics stuff is 29 minutes in but I love the whole video. Very much a high level guide to building a "retro-y" fantasy console for people into that stuff [VIDEO]

Strongly recommendsView on HN