Features
----------
-240x224 graphics (40x28 characters)
-Basic sound
-Only regular SD cards are supported (SDHC won't work)
-FAT16 support only
-No fragmentation support yet. The SD card *must* be formatted before putting stuff on it or who knows what will happen!
-Only files in the root folder are detected
-Up to 128 .uze files, using page navigation
-Uses new ".uze" files. These binary versions of .HEX files with a 512 bytes header. The header includes info like game name, author, year, etc...I've made a C tool to convert .hex to .uze and it's made to be included in the MAKE process.
-When selecting a game, a check is performed against the program memory to not reprogram the same game. Uses the EEPROM to store a CRC of the flashed game. For the time being if your EEPROM is not yet "formatted", run Pac-Man, it will kindly do it for you!
-Fully open sourced
Installation
The Fuzebox owners out there, for now at least, are left if the blues. The Fuzebox already comes with a bootloader, and it *can not* overwrite itself since it has the protection fuses programmed. To flash this new bootloader you need and ISP programmer. There could be a way to reprogram the FTDI bootloader with some clever programming but then, you will not be able to reprogram any more games since the FTDI code will not be there anymore! Unless we can find a way to fit 2K in about 512 bytes...If anyone's interested let me know.
So this procedure is *only* for peoples with an ISP or high voltage programmer(i.e: AVRISPMKII, STK500 or USBtinyISP). I'm not responsible if you brick your chip using and FTDI cable!
Here's the code and procedure to install it. Note that I will only give the steps for AVR Studio since I don't know any other programmers. If you figure it out for AVR dude or other please post, I'll make a WIKI page for it.
First, you need to program the following fuses:
-BOOTSZ to 2048 words (4 Kbytes). Tells the AVR the size and start address of the bootloader.
-BOOTRST . Tells the AVR to reset into our bootloader.
Then flash the following HEX:
Latest version 0.4.5
-Small fix to the way the bootloader detect that a game is already flashed.
Notes:
- If you are confortable fiddling with fuses, after flashing the bootloader, you can set the bootloader lock bits. This will prevent game that exceeds 61440 bytes to overwrite the bootloader. In AVR Strudio: Progamming dialog->LockBits tab->BLB1="SPM Prohibited in Boot Section"
- I've put Uzeamp in there, so you may want to add a few songs from here.
- The movie demo will try to find the first ".uzm" file, if there's none it will start playing garbage. Get a movie file from here.
- Get some pre-converted .UZE files from SVN by downloading this package.
- Bootloader uses only .UZE files. Run the packrom tool to convert .HEX files to .UZE files. Check this wiki page for more info.
Cheers,
-Uze