This open-source hardware and software project shows just how much can be done with modern microcontrollers. It implements a fully functioning, NES-class programmable video game system in just a couple chips, a few resistors, and some other miscellaneous components.
This is a neat project that actually looks fairly powerful! Using only an ATmega644 microcontroller and an AD725 RGB-to-NTSC converter for major components, the Uzebox game console is a build-and-program-yourself project that is pretty simple, but also very impressive in the resulting product.
Hardware-wise, the console offers 4K of RAM and 64K of program space, with four channels of wavetable sound. Control inputs are setup for NES pads, but you could choose any similar input scheme since those old pads were just switches and not the complicated serial/analog stuff on modern commercial consoles.
The software is interrupt-driven, which prevents the programmer from having to count cycles, so it’s not quite as challenging to program as an Atari 2600, but should still be fun. You can access up to 256 colors thanks to the resistor-ladder DAC setup while the AD725 handles the heavy lifting to convert the signal to a standard TV-compatible NTSC signal.
Overall, it looks like you write some code that results in a very NES-class game. For example, look at the video of Tetris running on the Uzebox below and you’ll see that it’s definitely capable of NES-class games.
Not too shabby for an ATmega644 running at 28MHz! If you want to learn more or build your own, check-out the Uzebox retro video game console project. If you build one, let me know how it goes – I’m thinking I might take the plunge and try it myself!