The Wayback Machine - https://web.archive.org/web/20080828024456/http://belogic.com:80/uzebox/
Main More details on the Uzebox Tutorials to help get started Downloads the project files Help forums

Introduction

The Uzebox is a retro-minimalist homebrew game console. It is based on an AVR 8-bit general purpose microcontroller made by Atmel. The particularity of the system is that it's based on an interrupt driven kernel and has no frame buffer. Functions such as video sync generation, tile rendering and music mixing is done realtime by a background task so games can easily be developed in C. The design goal was to be as simple as possible yet have good enough sound and graphics while leaving enough resources to implement interesting games. Emphasis was put on making it easy and fun to assemble and program for any hobbyists. The final design contains only two chips: an ATmega644 and an AD725 RGB-to-NTSC converter.

Features
  • Low parts count and cost: The system is made of only two chips and discrete components.
  • Interrupt driven kernel: No cycle counting required, sound mixing and video generation are all made in the background.
  • 256 simultaneous colors: Accomplished by using a R-2R resistor ladder DAC.
  • 4 channels sound engine: The sound subsystem is composed of 3 wavetable channels and 1 LFSR-based noise channel.
  • NES controllers: The joypad inputs uses standard NES controllers interface.
  • MIDI In: With a music sequencer, allows the creation of music directly on the console.
  • Expandable: I/O lines and peripherals are still available, like the UART and SPI port for one to experiment.
  • Open Source: The software and hardware design are totally free and licensed under the GPL!
Specifications

CPU: ATmega644 microcontroller
Total RAM: 4K
Program Memory: 64K
Speed: 28.61818Mhz (Overclocked)
Colors: 256 simultaneous colors arranged in a 3:3:2 color space (Red:3 bits, Green:3 bits, Blue: 2 bits)
Resolution: 240x224 pixels in tiles-only mode
Video output: NTSC Composite
Sound: 4 channels wavetable, 8-bit mono, mixed at ~15Khz and output via PWM
Inputs: Two NES compatible joypad inputs
Options: MIDI-in interface and s-video output

Showcase

The videos demonstrates some of the features of the Uzebox. The first one is a Tetris clone named "AVR Megatris". The game is fully functional and implements most of the official "Super Rotation System" (SRS) system complete with hold block, t-spins and ghost piece...it even plays classic Tetris songs! The second video demonstrates the MIDI in, audio and music engine.



















Copyright (c) 2008 Uze, Belogic
The Uzebox (including source code and hardware design) is released under the GNU GPL 3.0 Public Licence.
Pictures and content of this site is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.