To do list
These are some pending items left to implement and/or fix. Anyone wanting to contribute is free to do it! Just let us know on the forums or by sending a private message to uze6666 on the Uzebox forum.
- Add Paul McPhee's Hello World to the uzebox repo
- Publish custom parts library used for the schematics
- Put standard resistors on the B/W minimalist Uzebox design.
- Add vector mode from CunningFellow to kernel
- Famitracker converter. Note: Famitracker now has an export plugin API, that should make things much easier.
- Pitch bend & vibrato to music engine
- Update the emulator to support the new method that detects if controllers are connected on the ports
- Fixes for MAC here
- add a warning in Packrom when exceeding the character set.
- Add screen rotate code to Uzem (for uzebox jamma) 
- fix megatris crash at gameover. 
- Fix every error that complains about PROGMEM stuff not being declared const on newer GCC versions
- Fix video mode 2 scrolling bug: http://uzebox.org/forums/viewtopic.php?f=3&t=2362&p=17482#p17474
- Add a title-safe overlay frame to indicate the safe area for text display and avoid cropping on some CRT TVs.
- add latest patch from filipe
- complete movie recoding feature
- add gui
- MAC patch http://uzebox.org/forums/viewtopic.php?p=8707#p8707
- change emu to default to the .hex file when the extension is unspecified
- bug: Real hardware needs 17 clocks between an OUT and an IN to get valid data. The emulator lets you get away with 16
- bug: Worked out the difference between the real SD card and the emulator. After getting a CMD12 (stop transmission) the real SD card goes busy for a bit. You have to wait a while and then send two more 0xFF bytes to it before you can send a Read Multi command. The emulator you can send CMD12 and then the emulated SD card is instantly ready. You can send 4 or 5 0xFF straight away and it wont work. Wait a few 100 clock cycles and then send 2x 0xFF and it is good
- new features: H_Sync timer tracking, Stack Usage Tracking. See forums for details.
- Add WIP games (Bomber, etc)
- Add to FAQ:
[quote]is the irc channel down(#uzebox on freenode)[/quote] It was not setup by me and don't think it was ever used.
[quote]is there any tutorial for videomode 2 with sprites?[/quote] Checkout Jhysaun's Tutorial-a-Day for two quick tutorials. I'm aware that pretty soon a new game will come out that should make a pretty exaustive example of mode 2! Another game using mode is Zombienator, you can checkout it's sources here
[quote]the midi interface? what exactly is it for?[/quote] MIDI (Musical Instrument Digital Instrument) is the standard serial interface used for communication between computers and music synthesizers. It was use to turn the Uzebox in a 8-bit retro-sounding synth and help convert music for games. I don't think anybody ever built it so that's why it was removed from the latest reference design.
[quote]what is the SD card slot for?[/quote] Ahhh many things my friend! With it, you can load & flash games from a SD card, not requiring you to be connected to a computer to play different games. See the Gameloaderthread for more info. You can also stream music and movies from it!
[quote]and can i use hex files for atmega644 for the 644p or do i need to change the makefile?[/quote] No need to change the makefile, the 644p is the same as the 644 (it only includes an additional UART not used for the Uzebox anyway).
Document makefile, terminology, etc 
- Add STK500 connectivity issues:
In packrom, changes required to support 64bits platforms: All you have to do is change the typedefs from: typedef unsigned char u8; typedef signed char s8; typedef unsigned short u16; typedef signed short s16; typedef unsigned long u32;
To: typedef uint8_t u8; typedef int8_t s8; typedef uint16_t u16; typedef int16_t s16; typedef uint32_t u32;
Those types come from stdint.h.
A couple of casts are also needed towards the end: fprintf(stderr,"\tCRC32: 0x%lx\n", (long unsigned int) rom.header.crc32); fprintf(stderr,"\tProgram size: %li \n",(long int) rom.header.progSize);