-
Notifications
You must be signed in to change notification settings - Fork 8
Firmware
Get current stable Firmware
You can download the current AVR firmware here
Build Firmware
You can build it from source with a normal avr gcc toolchain, libc and avrdude. All the other dependencies are included in the git repos. The firmware uses the vusb library for the USB communication. So you need to have libusb installed on your computer to get things working. To flash a new firmware version, you can use the same USB connection as for the normal upload process. You can build the firmware like this:
git clone git://github.com/optixx/quickdev16.git
cd quickdev/avr/usbload
make all
Flash Firmware
First you need to enable the firmware upload function on the hardware. You need to carefully shorten the two "btldr en" pads on the backside of the Quickdev16 PCB. To enable the firmware update mode on the Quickdev, just press the reset button on the PCB. Now the bootloader is active as you can see by the led flashing at ~1hz. You have to flash the firmware within the next 20 seconds:
avrdude -c usbasp -p atmega644 -U flash:w:main.hex:i
SNES Loader
The loader is included in the firmware of the AVR. When you turn on the SNES, the microcontroller extracts the small loader-rom into the cartridge RAM that is mapped into the SNES addressspace. It copies itself to SNES’s WRAM and jumps into it. So the cartridge RAM is unaccessed and we can safely switch back to the AVR mode to push the real payload rom onto the cartridge. We are also working on a shared memory function so that we can use the cartridge RAM to exchange infomation between the AVR and the SNES. This will be used to display a proper Progressbar while uploading a rom. The loader is done in assembler using wla-dx.