The GameLad is a (relatively) fully featured gameboy emulator that I have been working on for a few months in conjunction with TyrenDe.
It supports Tetris and some other games with a few minor issues. The emulator passes all CPU instruction tests, as well as the instruction timing tests, which means our emulation of the GameBoy's Z80 chip is pretty solid.
The biggest, and last, missing feature is sound. It does not support GBC or GBA games/features yet.
There is a fairly in-depth wiki on the GitHub page, that describes some of the inner workings of the emulator.