I have to say, the Game Boy is a pretty impressive platform!
With a 4 MHz 8-bit CPU, 8 kB RAM and 8 kB video RAM it has strict limitations but some nice perspectives at the same time.
It was a rather unexpected fact to me that the 160×144 pixels screen is refreshed at 60 FPS (!) and the device has a 4 channel sound system with mono speaker (but stereo headphone jack). It has also hardware-level tile storing (8×8 or 8×16 tile data, the pixel data) and tile mapping (32×32 tiles map, that’s 256×256 pixels on this bad boy:) ) function. Also, the background-scrolling is implemented in hardware, at any given time 20×18 tiles (160×144 pixels) are visible but 32×32 tiles (256×256 pixels) are in the video RAM.
Documentations I find useful and any work I do will be stored in a git repository on GitHub: https://github.com/gheja/gameboydev/
This post was migrated and edited a bit from my old blog where it was posted on 30th March, 2013.