Main Page
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.
Uzebox Project Pages
- Project Homepage
- Forums
- News Blog
- Facebook Page
- Twitter feed
- Schematic Downloads
- Sources
- Tool Binaries
- Uzebox Wikipedia Entry
Games & Demos
Documentation
- API Functions
- API Types
- AVR Bootloader FAQ
- C language resources
- Uzebox FAQ
- French Translation
- Getting Started on the Uzebox
- How it Works (PDF)
- Troubleshooting
- Video Modes
Tools
- AVRdude: AVR Flashing command line tool
- Eclipse Development Environment
- Emulator
- Gconvert: Tile Graphics Converter
- Layer Export GIMP Script
- LePlatz: Platz Level Editor
- Mode 7 multiplexer
- Packrom: .HEX to .UZE converter
- Pixen: bitmap graphics editor for OS X
- grafx2: bitmap graphics editor, multiplatform
- Platz: Platformer Toolset
- Python Script for Generating Tile Data
- MilkyTracker: .mod/.s3m/.it chiptune editor
- Tiled Map Editor
- Boriel's Basic Cross Compiler (work in progress)
- Basic to C converter (work in progress)
- Uzebox programming (work in progress)
- Tile Studio: Bitmap Graphic Editor and Tile Map editor. Tile Studio Tutorial: Part 1 and Part 2.
- PyxelEdit: Bitmap Graphic Editor and Tile Map editor (With zoom on tileset)
- Emscripten - How to compile Uzem into JavaScript (to play Uzebox games directly inside a web page)
Resources
Help, Tips & Tutorials
- Animating Oscillations
- Assembler Tips
- AVR Hardware Programming
- Calling the Emulator in AVRStudio
- C Tips, Tricks and Optimizations
- Controller Event Handling
- Creating new Uzebox Game Projects
- Exporting Gimp Layers in a Strip
- Generating Tiles and Maps with gconvert
- Hello World (Uzebox style)
- How I write Uzebox Games
- How Video Modes Work
- Jhysaun's Tutorial-a-Day
- Mac OS X Specific
- Mode 7 Encoding
- PCB Making Tutorials
- SD Card Troubleshooting
- Sound and Music Resources
- Source Control (Windows, Linux, Mac)
- Uzebox_Tutorials_And_Such - Many new tutorials covering many topics from beginning to end.
- Uzebox Pixel-Art with Gimp
- Video Generation
- Weber's Rants
Guidelines and Best Practices
Hardware
- Uzebox JAMMA virtual DIP switch configuration
- Uzebox JAMMA controller pin allocation
- Uzebox JAMMA EEPROM block ID Reservation List
- ATmega644 Pin Allocation
- ATmega644 Fuse Settings
- Uzebox SCART Interface
- Uzebox Keyboard
- Uzebox Mouse
- Uzebox 128+
- Uzenet
- ESP8266
- Expansion Port
- UART
- RGB HDMI Video
- SPI Ram
Other
- EEPROM Block ID Reservation List
- EUzebox TV compatibly List
- FAT16 Research
- Homemade Uzeboxes & derived projects
- SD Card Compatibility List
- SD Save Sector Reservation List
- To do list
- To do list (Uzebox JAMMA)
Related Projects Links
License & Copyrights
All content on this WIKI is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.
The Uzebox hardware design, kernel, API, tools and emulator are licensed under a GNU GPL 3.0 Public License.