Main Page: Difference between revisions

From Uzebox Wiki
Jump to navigation Jump to search
No edit summary
(44 intermediate revisions by 6 users not shown)
Line 1: Line 1:
[[Image:Uzebox-ex1.jpg|thumb|alt=Alt text|Uzebox Reference Design]]
[[Image:Avcore-gamecard.jpg|thumb|alt=Alt text|Uzebox AVCore & Gamecard]]
[[Image:Avcore-gamecard.jpg|thumb|alt=Alt text|Uzebox AVCore & Gamecard]]
[[Image:Uzebox-ex1.jpg|thumb|alt=Alt text|Uzebox EX1]]
[[Image:Euzebox.jpg|thumb|alt=Alt text|EUzebox - European SCART compatible]]
[[Image:Euzebox.jpg|thumb|alt=Alt text|EUzebox]]


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.
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==
==Uzebox Project Pages==
* [http://belogic.com/uzebox Project Homepage]  
* [http://belogic.com/uzebox Project Homepage]  
* [http://uzebox.org/forums Forums]  
* [http://uzebox.org/forums Forums]  
* [http://belogic.com/uzebox/news.htm News Blog]
* [http://uzebox.org/news/ News Blog]
* [https://www.facebook.com/Uzebox Facebook Page]
* [https://www.facebook.com/Uzebox Facebook Page]
* [http://twitter.com/#uzebox Twitter feed]
* [http://twitter.com/#uzebox Twitter feed]
* [http://belogic.com/uzebox/downloads.htm Schematic Downloads]
* [http://uzebox.org/download.htm Schematic Downloads] - You can view the PCB gerber files using [https://www.kicad.org/ KiCad.]
* [http://code.google.com/p/uzebox/source/browse/#svn/trunk Sources]
* [https://github.com/Uzebox/uzebox Sources]
* [http://code.google.com/p/uzebox/downloads/list Tool Binaries]
* [http://code.google.com/p/uzebox/downloads/list Tool Binaries]
* [http://en.wikipedia.org/wiki/Uzebox Uzebox Wikipedia Entry]
* [http://en.wikipedia.org/wiki/Uzebox Uzebox Wikipedia Entry]
Line 18: Line 20:
==Games & Demos==
==Games & Demos==
* [[Games and Demos|List of Games]]
* [[Games and Demos|List of Games]]
* [[Latest Rom List|Official SD Images]]


==Documentation==
==Documentation==
* [[Getting Started on the Uzebox]]
* [[User Guide]]
* [[API Functions]]
* [[API Functions]]
* [[API Types]]
* [[API Types]]
Line 25: Line 30:
* [[C_language_ressources|C language resources]]
* [[C_language_ressources|C language resources]]
* [[FAQ|Uzebox FAQ]]
* [[FAQ|Uzebox FAQ]]
* [[UZE File format|UZE File format specification]]
* [[French Translation]]
* [[French Translation]]
* [[Getting Started on the Uzebox]]
* [http://uzebox.org/files/wiki/uzebox_how_it_works_v10.pdf How it Works (PDF)]
* [http://uzebox.org/files/wiki/uzebox_how_it_works_v10.pdf How it Works (PDF)]
* [[Troubleshooting]]
* [[Troubleshooting]]
Line 36: Line 41:
*[[Emulator]]
*[[Emulator]]
*[[Gconvert|Gconvert: Tile Graphics Converter]]
*[[Gconvert|Gconvert: Tile Graphics Converter]]
*[https://nicksen782.net/UAM/APP_gconvert/gc.html GconvertJs: Alternative web-based Gconvert].
*[https://github.com/nicksen782/inc2img inc2img: Converts Uzebox Gconvert '.inc' files back into actual graphics.]
*[[Layer_Export_GIMP_Script|Layer Export GIMP Script]]
*[[Layer_Export_GIMP_Script|Layer Export GIMP Script]]
*[[LePlatz_Level_Editor|LePlatz: Platz Level Editor]]
*[[LePlatz_Level_Editor|LePlatz: Platz Level Editor]]
*[[Mode7multiplexer.c|Mode 7 multiplexer]]
*[[Mode7multiplexer.c|Mode 7 multiplexer]]
*[[Packrom|Packrom: .HEX to .UZE converter]]
*[[Packrom|Packrom: .HEX to .UZE converter]]
*[http://opensword.org/Pixen/ Pixen: bitmap graphics editor for OS X]
*[https://pixenapp.com/ Pixen: bitmap graphics editor for OS X]
*[http://code.google.com/p/grafx2/ grafx2: bitmap graphics editor, multiplatform]
*[http://pulkomandy.tk/projects/GrafX2 grafx2: bitmap graphics editor, multiplatform]
*[[Platz_Toolset|Platz: Platformer Toolset]]
*[[Platz_Toolset|Platz: Platformer Toolset]]
*[[Python Script for Generating Tile Data]]
*[[Python Script for Generating Tile Data]]
*[http://milkytracker.org/ MilkyTracker: .mod/.s3m/.it chiptune editor]
*[http://milkytracker.org/ MilkyTracker: .mod/.s3m/.it chiptune editor]
*[http://www.mapeditor.org/ Tiled Map Editor]
*[http://www.mapeditor.org/ Tiled Map Editor]
*[[BBCC|Boriel's Basic Cross Compiler (work in progress)]]
*[[BaCon|Basic to C converter (work in progress)]]
*[[Uzebox programming (work in progress)]]
*[http://tilestudio.sourceforge.net/ Tile Studio: Bitmap Graphic Editor and Tile Map editor]. Tile Studio Tutorial: [http://www.uzebox.org/forums/viewtopic.php?f=6&t=109 Part 1] and [http://www.uzebox.org/forums/viewtopic.php?f=6&t=110 Part 2].
*[http://tilestudio.sourceforge.net/ Tile Studio: Bitmap Graphic Editor and Tile Map editor]. Tile Studio Tutorial: [http://www.uzebox.org/forums/viewtopic.php?f=6&t=109 Part 1] and [http://www.uzebox.org/forums/viewtopic.php?f=6&t=110 Part 2].
*[http://pyxeledit.com/ PyxelEdit: Bitmap Graphic Editor and Tile Map editor (With zoom on tileset)]
*[http://pyxeledit.com/ PyxelEdit: Bitmap Graphic Editor and Tile Map editor (With zoom on tileset)]
*[[Emscripten|Emscripten - How to compile Uzem into JavaScript (to play Uzebox games directly inside a web page)]]
*[[Emscripten|Emscripten - How to compile Uzem into JavaScript (to play Uzebox games directly inside a web page)]]
* [[Uzebox Patch Studio|Uzebox Patch Studio: Create, preview, and mix sound effects directly on your PC!]]


==Resources==
==Resources==
Line 63: Line 68:
* [[Calling the Emulator in AVRStudio]]
* [[Calling the Emulator in AVRStudio]]
* [[C Tips, Tricks and Optimizations]]
* [[C Tips, Tricks and Optimizations]]
* [[Configuring Kate for use as a Uzebox IDE]]
* [[Convert an image into a row of tiles using the GIMP]]
* [[Tips:Controller_Event_Handling|Controller Event Handling]]
* [[Tips:Controller_Event_Handling|Controller Event Handling]]
* [[Creating new Uzebox Game Projects]]
* [[Creating new Uzebox Game Projects]]
Line 71: Line 78:
* [[How Video Modes Work]]
* [[How Video Modes Work]]
* [[Jhysaun's Tutorial-a-Day]]
* [[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]]
* [[Mac OS X Specific]]
* [[Mode 7 Encoding]]
* [[Mode 7 Encoding]]
* [[PCB Ressources|PCB Making Tutorials]]
* [[PCB Ressources|PCB Making Tutorials]]
* [[SD Card Troubleshooting]]
* [http://programarcadegames.com/ Program Arcade Games With Python And Pygame] - If you're new to programming and games development but wish to learn how to write video games you are recommended to read this book. Although it teaches the reader how to write games in python using pygame, most of the concepts are applicable to writing games in C or any other language. It prepares the reader nicely for learning [https://godotengine.org/ godot and gdscript,] one of the most popular open source game engines, which could be used to prototype Uzebox games.
* [[Sound Resources|Sound and Music Resources]]
* [[Sound Resources|Sound and Music Resources]]
* [[Source_Control|Source Control (Windows, Linux, Mac)]]
* [[Source_Control|Source Control (Windows, Linux, Mac)]]
* [http://uzebox.org/forums/viewtopic.php?f=6&t=9977 Uzebox Mode 3 with Scrolling Guide]
* [https://www.youtube.com/watch?v=S7GWMNdyopo 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_Tutorials_And_Such]] - Many new tutorials covering many topics from beginning to end.
* [[Uzebox Pixel-Art with Gimp]]
* [[Uzebox Pixel-Art with Gimp]]
Line 88: Line 98:


==Hardware==
==Hardware==
* [[Homemade Uzeboxes & derived projects]]
* [[Uzebox JAMMA virtual DIP switch configuration]]
* [[Uzebox JAMMA virtual DIP switch configuration]]
* [[Uzebox JAMMA controller pin allocation]]
* [[Uzebox JAMMA controller pin allocation]]
Line 94: Line 105:
* [[ATmega644 Fuse Settings]]
* [[ATmega644 Fuse Settings]]
* [[Uzebox SCART Interface]]
* [[Uzebox SCART Interface]]
* [[Uzebox Keyboard]]
* [[Uzebox Keyboard Interface]]
* [[Uzebox Mouse]]
* [[Uzebox Mouse]]
* [[Uzebox 128+]]
* [[Uzebox 128+]]
Line 103: Line 114:
* [[RGB HDMI Video]]
* [[RGB HDMI Video]]
* [[SPI Ram]]
* [[SPI Ram]]
* [https://www.fpgalover.com/ip-cores/snes-controller-core How SNES controllers work]
* [https://forums.benheck.com/viewtopic.php?f=3&t=14133 SNES controller schematic]


==Other==
==Other==
Line 108: Line 121:
* [[EUzebox TV compatibly List]]
* [[EUzebox TV compatibly List]]
* [[FAT16 Research]]
* [[FAT16 Research]]
* [[Homemade Uzeboxes & derived projects]]
* [[SD Card Compatibility List]]
* [[SD Card Compatibility List]]
* [[SD Save Sector Reservation List]]
* [[SD Save Sector Reservation List]]

Revision as of 05:17, 17 March 2023

Alt text
Uzebox Reference Design
Alt text
Uzebox AVCore & Gamecard
Alt text
EUzebox - European SCART compatible

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

Games & Demos

Documentation

Tools

Resources

Help, Tips & Tutorials

Guidelines and Best Practices

Hardware

Other

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.