Main Page
The Uzebox is an open source, retro-minimalist games console. It is based on an 8-bit Atmel AVR microcontroller and is distinguished by its interrupt-driven game engine and lack of a frame buffer. Functions such as video sync generation, tile rendering and music mixing are all handled in software by background tasks in order to ease development. Games are written in plain C using the Uzebox API.
The design goal was to be as simple as possible yet provide good enough sound and graphics to implement interesting games. Emphasis was put on making it easy and fun to assemble and program for 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 - You can view the PCB gerber files using KiCad by using KiCad's EAGLE import support.
- Sources
- Tool Binaries
- Uzebox Wikipedia Entry
Games & Demos
- List of Games
- Online Uzebox Emulator - Play Uzebox online and download the ROMs.
- Official SD Images
Documentation
- Getting Started on the Uzebox
- User Guide
- API Functions
- API Types
- AVR Bootloader FAQ
- C language resources
- Uzebox FAQ
- UZE File format specification
- Uzing the SD card
- How it Works (PDF)
- Troubleshooting
- Video Modes
Tools
- AVRdude: AVR Flashing command line tool
- Eclipse Development Environment
- Emulator
- Gconvert: Tile Graphics Converter
- GconvertJs: Alternative web-based Gconvert.
- inc2img: Converts Uzebox Gconvert '.inc' files back into actual graphics.
- 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
- telnet Remote control your machines via wifi telnet from the comfort of your Uzebox
- 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)
- Uzebox Patch Studio: Create, preview, and mix sound effects directly on your PC!
Resources
Help, Tips & Tutorials
- Animating Oscillations
- Assembler Tips
- AVR Hardware Programming
- Calling the Emulator in AVRStudio
- C Tips, Tricks and Optimizations
- Configuring Kate for use as a Uzebox IDE
- Convert an image into a row of tiles using the GIMP
- 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
- Let's Code for the Uzebox - Video tutorial series covering setting up a dev environment, using various graphics tools, and composing a MIDI track from scratch
- Mac OS X Specific
- Mode 7 Encoding
- PCB Making Tutorials
- Retro Recipe's SMD Soldering for Beginners
- Sound and Music Resources
- Source Control (Windows, Linux, Mac)
- Uzebox Mode 3 with Scrolling Guide
- Uzebox SMD soldering - Video demonstration of soldering the AD725 chip and the SD socket
- 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
- Homemade Uzeboxes & derived projects
- ATmega644 Fuse Settings
- ATmega644 Pin Allocation
- ESP8266
- Expansion Port
- NUN2SNES - nun2snes allows you to use a wiimote controller with your Uzebox or SNES.
- Omega - resources relating to the Uzebox Omega
- RGB HDMI Video
- SPI Ram
- UART
- Uzebox JAMMA controller pin allocation
- Uzebox JAMMA virtual DIP switch configuration
- Uzebox JAMMA EEPROM block ID Reservation List
- Uzebox Keyboard Interface
- Uzebox Mouse
- Uzebox SCART Interface - Notes on SCART and single chip Uzebox derivatives
- Uzebox 128+
- Uzenet
- How SNES controllers work
- SNES controller schematic
- 3D printed SNES / Uzebox arcade joystick
- Arduino SNES controller to USB adapter
- Arduino SNES PS2 mouse adapter
- 3D printed case
- 3D printed SNES connector Make your own SNES connectors by 3D printing its casing and cutting lengths of 1.9 mm diameter steel to make the pins.
Other
- EEPROM Block ID Reservation List
- EUzebox TV compatibly List
- Uzebox Omega TV compatibility list
- FAT16 Research
- Retro Game Achievements - Uzebox high scores
- SD Card Compatibility List
- SD Save Sector Reservation List
- To do list
- To do list (Uzebox JAMMA)
- Uze's interview with Techworld Australia
- 8bitworkshop - An online IDE and tutorial for developing games for the Atari 2600 plus links to other 8 bit game development learning resources.
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.