The Game Boy, a hardware autopsy - Part 1: the CPU [PART 2 OUT NOW!] -

The Game Boy, a hardware autopsy – Part 1: the CPU [PART 2 OUT NOW!]

Views: 479482
Like: 16865
Note: I made a few mistakes in this video which are addressed in part 1.5. Please make sure to watch it here:

Have you ever wondered how the Game Boy works? How the games that defined the history of the handheld world were made?
This video series hopes to answer these questions and more concerning one of the most successful gaming platforms ever.

Narration aided and recorded by the lovely Sarah –

Roller Coaster Tycoon Gameplay – tgnGamesDE –

Sonic TAS – Played by sgrunt

Game Boy pictures –

Productivity icon by Gregor Črešnar

Game Boy vector art –


  1. Hi.
    Will there be another episode?

    My love for 8bit manifested in gameboy after i played donkey kong country2.

  2. Pretty nice animations but some stuff like the WeakTyping is an a little strange example.

  3. My question is… Was the Game boy advance built on the original game boy?

  4. I think you've mixed up dynamic binding with weak typing. You can have dynamic binding and strong typing too in languages like Common Lisp.

  5. THANKS! awesome explaination. Simple and effective

  6. @11:25
    rollercoaster tycoon one of my favorite games forever
    chris sawyer is genius

  7. THANK YOU!! i never log into youtube and do not subscribe to anything, but these videos are so good that I just had to.

  8. I love this. Please make a playlist of this series!!!

  9. 1:13 I put in a set of duracell procell batteries [they are for industrial use] and turned on a gameboy. The unit died after 53 hours. I did the same thing using upgraded NIMH batteries in the gameboy battery pack. It lasted for 12.5 hours. The original NICAD batteries lasted for about 7.5 hours.

  10. What an incredibly high-quality video for YouTube.

  11. I can't listen to a technical talk in that voice seriously.

  12. This video’s not only a great look at how the gameboy works, but also a wonderful and concise way of explaining assembly to people.
    Too many times I hear people say “programming languages are like stuff you can read and it gets converted into ONES AND ZEROS for the processor!”, leaving it at that, and not teaching anyone anything.
    As someone who has programmed 6502 machine code, both in assembly and binary toggled into a minicomputer with switches, I appreciate the acknowledgement of how these systems realistically work, and that ASM and even hex aren’t completely beyond human comprehension.
    I’ll be using this video from now on, as a quick reference for people curious about assembly, and for any time I hear someone talking about machine code just being ones and zeros.

  13. WONDERFUL VIDEO!!! Quick corrections though.
    1. Variable names are a compiler feature because assembly is a compiled language. It's incorrect to say variable names are unsupported because it's assembly. If variable names are unsupported, then it's the compiler, not assembly, that doesn't support variable naming. As far as I know, all gameboy compilers both homebrew and official supported named variables. (Others in comments)

  14. In case you are looking for free coins, gold, gems, diamons, etc. for free you might want to try Gamecrook.

  15. It looks like Gamecrook is the only legit website for free gems and gold, all the rest are lying.

  16. why is the channel dead? this is some great content.

  17. How was the Game Boy "underpowered for it's time using older simpler components" compared to the Game Gear…which ALSO used the same basic CPU architecture (the Z-80)? The Master System and all the older SEGA consoles also used the Z-80. The Genesis used a Z-80 for sound and for Master System backwards compatibility. The NES also used an older commoditized CPU (the 6502) which went back even farther than the Z-80 did. The biggest mystery is why the Game Boy didn't use the 6502 also when the Super Famicom ended up using a CPU that was ALSO based on the 6502.

    If anything made the Game Boy underpowered it was the ram and display system it was matched to. Not necessarily the CPU architecture. After all, the Atari VCS, the Apple, and the Commodore 64 all used a 6502 based CPU.

  18. GameBoy games can be made with C and the GBDK. The GBDK compiles C into ARM Assembly that the GameBoy can run 😎

  19. Amazing video… pity it didnt pick up any traction at that time. I have shared this with a small community I look after, hopefully there are more views and could help inspire you to make more videos 🙂

  20. But, the gamegear had a z80 cpu, and was actually clocked lower than the gameboy

  21. Think assembly is a nightmare? Try programming in machine language.
    Assembly is converted (assembled) in to machine language which is what the CPU actually uses.

  22. Can someone tell me fast why WRAM is slower than a microcontroller ?

  23. Sorry you paid for that narrator because she just doesn't fit. Pronouncing it "oobiquitious" was a bad start, but her tone just isn't melding with the content. Liked the video though.

  24. I just looked up "Nintendo Gameboy Analysis" and came across this high quality video. Very impressive work! I'll be checking out more of your stuff 🙂

  25. This is the deepest content i've ever seen.

  26. the huge success of the gameboy with it's LESS powerful architecture proves that, simple, is often better. 🙂

  27. You messed up in showing how to print "Hello World" in Python, the instruction wouldn't be "print "Hello World"", that's how you would put it in B.A.S.I.C, in Python it would have to be "print("Hello World")".
    Also, in Python if you want to increment a variable by a number all you have to do is "(your variable) += (number)", you don't have to type out the name of the variable twice.

  28. Mad props to the mad lads at Game Freak for programming Pokemon in such a dreadful language.

    Bigger props to Iwata for fitting the entire first games map inside of the second game.

  29. I can't thank you enough for this most excellent video!

  30. I really really searched for this video. I tried to understand computers by myself just in order to understand how the old gameboy actually worked inside lol

  31. I would love to give this video multiple binary codes that each have the value "1 like"

  32. Compilers use lots of CPU time and LOTS of RAM. Even the efficient C compiler would take several minutes to generate a single program, and most entry level machines had less than 128KB back then. Compiled and optimized code was and still is much larger than "hand rolled" code, and human beings look over Assembly and quickly see lots of operations that don't need to happen. It really wasn't until the newer memory-register (VAX, 68000) processors and RISC (MIPS, SPARC, PowerPC, SuperH) that architects started building new ISAs that was designed for compiler generated code that C and C++ compilers became practical for creating software. Intel's own 80486 even had a RISC core, and the Pentium was built around a superscalar, pipelined RISC core, so compiler writers learned to write around the old ISA like a short section of rapids.

  33. Everyone hates assembler because of its hard syntax, and damn, comparing to the python, snake consuming x30 or 100x memory than assembler, when it was 70-90s people used to write on Assembler for shrinking info as much as they can(because of slow pc's and low amount of memory they use), but now even a 6 years old kid can start programming, people started to write on ENGLISH and forgot what real programming means.

  34. I loved this videos. I hope you could upload more content. If you ask me… a famicom autopsy would be awsome. Cheers!

  35. Este vídeo é um trabalho magnifico! Parabéns pela edição e animação. A muitos anos que nao vejo instruçòes do Z80…

  36. did you pay someone to do a voiceover? its kinda lifeless ngl

Leave a Reply

Your email address will not be published.