After many months of looking at NTSC waveforms on my scope (go video-sync trigger!) I have finished the Fuzebox, a fully open-source, DIY 8-bit game console (based on the Uzebox I posted about a while back). It is based almost completely on an ATmega644 with some video encoding help from the AD725.
It is designed specifically for people who know a little bit of programming (such as having messed with an Arduino) to expand into designing and creating their own video games and demos. A full-featured core runs in the background and does all the video and audio processing so that the game code stays clean and easy to understand.
Full 256 simultaneous output colors, 240×224 pixel resolution
Tile & sprite support
Two player ports, either with Super Nintendo or classic Nintendo controllers (although the kit comes with SNES)
NTSC RCA composite and S-video out (PAL not supported at this time )
4 channel PCM output mono audio for music and effects
SD/MMC card support for future expansion
Built on an Atmel AVR core, 64KB flash and 4KB of RAM
Main microcontroller chip is preprogrammed with an STK500-compatible (sometimes referred to as Arduino-compatible) bootloader
Write game code in C, using fully open source tools on any platform