1# gb-core
2
3Emulation core for the Game Boy and Game Boy Color.
4
5These systems contain the following components:
6
7* Sharp SM83 CPU clocked at 4.194304 MHz (GB) or 8.388608 MHz (GBC in double speed mode)
8  * SM83 is kind of like a Z80-lite
9* PPU (picture processing unit)
10  * Renders at 160x144 directly onto the Game Boy's LCD screen
11  * Supports 4 different colors (GB) or 32,768 different colors (GBC)
12  * GB supports a single 4-color background palette and 2 different 3-color sprite palettes
13  * GBC supports 8 different 4-color background palettes and 8 different 3-color sprite palettes
14  * Supports a scrollable background layer as well as a window layer that can replace the background in a configurable region of the screen
15  * Supports up to 40 sprites per frame and up to 10 sprites per scanline, with sprites being 8x8 pixels
16  * Supports HBlank and scanline interrupts and has a CPU-readable scanline counter, unlike the NES
17* APU (audio processing unit)
18  * Contains 4 audio channels: 2 pulse wave generators, a pseudo-random noise generator, and a custom wave channel that plays from dedicated waveform RAM (16 bytes)
19  * Supports monoaural sound through the built-in speaker and stereo sound through headphones
20* 8KB of working RAM (GB) or 32KB (GBC)
21* 8KB of VRAM (GB) or 16KB (GBC)
22* 160 bytes of OAM (object attribute memory)
23* 127 bytes of "HRAM", a small section of working RAM on a separate bus from the rest of RAM (often used during OAM DMAs)