Uzebox
The Uzebox is a retro-minimalist home brew game console. It is based on an AVR 8-bit general purpose micro controller 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 real time 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.
Current 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 wave table channels and 1 noise or PCM channel.
- MIDI In: With a music sequencer, allows the creation of music directly on the console.
- Retro controllers: The joypad inputs uses standard NES/SNES controllers interface.
- SNES Mouse Support
- SD/MicroSD card interface
- Expandable: I/O lines and peripherals are still available, like the UART and SPI port for one to experiment.
- Emulator: A fully, cycle-perfect, emulator was developed and greatly eases development.
- Open Source: The software and hardware design are totally free and licensed under the GPL!
Specifications
- CPU: ATmega644 micro controller
- 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: Up to 240x224 pixels (tiles-only and tiles-and-sprites modes)
- Sprites: Up to 32 simultaneous sprites on screen at any time
- Video output: NTSC Composite and S-Video
- Sound: 4 channels wave table, 8-bit mono, mixed at ~15Khz and output via PWM
- Inputs: Two NES/SNES compatible joypad inputs
- Options: MIDI-in interface and s-video output