Instead of placing many off-the-shelf chips on the motherboard, Nintendo opted for a single-chip design to house (and hide) most of the components, including the CPU. This type of design is commonly known as a System-on-Chip (SoC) and, in this case, it was specifically crafted for this console, enabling Nintendo to tailor it to their needs (such as power efficiency, anti-piracy, and extra I/O capabilities). At the same time, the Game Boy's SoC could not be found in any retail catalogue, meaning competitors had a harder time cloning it.
That being said, the SoC used in the Game Boy is referred to as DMG-CPU or Sharp LR35902 , and as the name indicates, it was manufactured by Sharp Corporation. This company, along with Ricoh (the NES' CPU supplier), enjoyed a close relationship with Nintendo.
The CPU core
Inside the DMG-CPU, we find the main processor: a Sharp SM83 . This is just a mix of the popular Zilog Z80 (found in the Sega Master System) and the Intel 8080. It runs at ~4.19 MHz, which is faster than the average 1-MHz CPU, but remember clock speeds can be deceiving.

The DMG-CPU chip on my Game Boy's motherboard.
Now, back when I conducted the analysis of the Master System, I explained the Zilog Z80 is essentially a superset of the Intel 8080. So, what does the SM83 actually retain and omit from those two?
- Neither the Z80's
IXandIYregisters nor the 8080'sINorOUTinstructions are present. This means that Input/Output (I/O) ports are not available. I'm not certain whether this was a cost-saving measure, but one thing is for sure: components must be completely memory-mapped . - Only the Intel 8080's register set is featured. Consequently, there are only seven general-purpose registers - unlike the Z80 with its 14 (thanks to its additional 'alternate' set).
- Only portions of the Z80's extended instruction set are implemented. Specifically, bit-manipulation instructions.
Furthermore, Sharp also added a few new instructions that are not present in either the Z80 or 8080. They optimise certain operations related to the way Nintendo and Sharp arranged the hardware. One example is the new LDH instruction (meaning 'load high' ), which was strategically designed to access the last 256 bytes of the memory map (where addresses start at $FF00) and, most importantly, fits in one fewer byte (making it slightly faster).
The Color effect

Motherboard of the Game Boy Color .

The previous picture with important parts labelled.
Nearly a decade later, following the abandonment of the Virtual Boy and its cutting-edge hardware, a humble successor arrived: the Game Boy Color. Inside it, there's a new SoC named CPU CGB that carries a few additions. However, its SM83 CPU core remains mostly unchanged, one exception is its doubled clock speed (now operating at ~8.38 MHz).
It's hard to think that, after almost ten years, Nintendo still bundled the same CPU core, but such a decision did come with the following advantages:
- Developers could reuse their acquired skills to program the new console.
- It reduced costs by eliminating the need to redesign their system for a new architecture.
- Backwards compatibility became possible with minimal effort. In fact, Nintendo implemented this by programming two operational modes into CPU CGB:
- Normal mode, where the SM83 operates at ~4.19 MHz.
- Dual-speed mode, where the SM83 operates at ~8.38 MHz.
However, this came at the expense of adopting outdated technology by late-90s standards. You only have to look at the state of the CPU market to notice the capabilities Nintendo was missing out. Though, to be fair, Nintendo did make an attempt with the Virtual Boy hardware.
Hardware access
The SM83 maintains an 8-bit data bus and a 16-bit address bus, allowing up to 64 KB of memory to be addressed. The memory map is mainly composed of the following regions :
- Game Pak (i.e. the game cartridge) space.
- Work RAM (WRAM), High RAM (HRAM), and Video RAM (VRAM).
- Various I/O (including the joypad, audio, graphics, and LCD).
- Interrupt controls.
Now, don't worry about the unique names - these components are explained throughout this article.
Memory available

Memory architecture of the DMG (original Game Boy). As you can notice, the PPU arbitrates access to VRAM.
Nintendo fitted 8 KB of RAM onto the motherboard, this is for general purpose use (hence the name Work RAM or 'WRAM') . I'm obliged to point out that this is four times the amount included in the NES.
There's an additional 127 B of RAM housed in the SoC. This is called High RAM (HRAM) and provides a small space for data that can be retrieved faster (via the aforementioned LDH instruction). The idea is very similar to the MOS 6502's 'Zero Page' mode , which also optimised performance based on memory location. Apart from this, the High RAM bus is not technically faster than the Work RAM's, but it is prioritised for the CPU. You'll see the significance of this in the 'Graphics' section, where I discuss Direct Memory Access (DMA).

Expanded memory architecture of the CGB (Game Boy Color).
Later on, with the 'Color' revision, Nintendo enlarged WRAM to 32 KB. However, since the CPU's addressing capabilities remained unchanged, it was not possible to connect all the new memory without first overflowing the available address space. To tackle this, Nintendo's engineers resorted to bank switching within the console itself.
While previously found in NES cartridges, the Game Boy Color applies the principle of bank switching to access the extra 24 KB of WRAM. The trick is simple: the last 4 KB of the original 8 KB space can now be swapped across seven different banks. To make this work, the CPU bundles an extra register (called SVBK) acting as the bank switcher, this is what developers must use to examine the extended memory.