Thanks to constant input from its users, the Retrode keeps on getting better and better! As far as hardware allows it, most features are implemented in a backward-compatible way, allowing users of previous models to update their device to the latest functionality.
Prerequisites
You need:
- Your Retrode at hand, and a USB cable
- A PC with USB port running Linux, Windows, or Mac OS
- Programming software (Windows: FLIP by Atmel (can be found here; Version 3.0 or higher is required), Linux/MacOS: dfu-programmer)
- The latest firmware file (scroll down on this page!).
Here’s how you install the firmware. (A more graphical version for Windows can be found on the Atmel homepage in this document, Chapter 5.)
Instructions for Windows users:
Find the version number of the installed firmware
- Check the first line in config file RETRODE.CFG to find the version of firmware installed on your device. If you find no version number, you do not have the latest version installed :-)
Install new firmware version
- Connect the Retrode as usual.
- Install FLIP.
- Hold down the HWB button. Then press and release the RESET button while still holding down HWB. Finally, let go of HWB as well. (On Retrode 1, a pair of toothpicks may come in handy to operate the buttons.)


- Windows will now recognise a new device. When asked for drivers, direct it to the “usb” subfolder in your FLIP installation directory.
- Go to the Windows device manager and look for a mysterious device called “Jungo” or “AT90USB646″ or similar. If there is none, repeat steps 3 and 4.
- Start FLIP.
- In the “Device” menu, click on “Select…”, or press Ctrl+S.
- Select the entry “AT90USB646″ from the list.
- Press Ctrl+U to open the USB connection.
- Load the firmware hex file (Ctrl+L). Attention: apparently, FLIP cannot deal with file paths that contain special characters, such as “é” or “ø”.
- Hit the “Run” button on the lower left.
- When the programming is done, hit the RESET button or cycle the USB connection. As tempting as it may seem, do NOT hit the FLIP button “Start Application”.
- Enjoy! :D
Instructions for Linux / MacOS users
Thanks go to [BryanC] for adapting the instructions to Linux. Should work under MacOS and other UNIX-like OSes as well.
- Install dfu-programmer. You probably want at least version 0.52, as 0.51 apparently has problems with AVR devices. You may have to compile it from source; this is left as an exercise for the reader, unless someone wants to bother writing instructions. ;)
- Connect the Retrode as usual.
- If you have any other flashable AVR devices plugged in (if you don’t know, you probably don’t), unplug them, as dfu-programmer gets confused if it finds more than one flash target.
- Hold down the HWB button. Then press and release the RESET button while still holding down HWB. Finally, let go of HWB as well.
- At a command line, run “dfu-programmer at90usb646 get product-revision” (without the quotes). If you get the error “dfu-programmer: no device present”, try running as the root user. If you still get that error, repeat step 5.
- Run “dfu-programmer at90usb646 erase” (without the quotes). If you needed to run dfu-programmer as root in step 6, you will need to do so in this step as well.
- Run “dfu-programmer at90usb646 flash /path/to/retrode/firmware.hex” (without the quotes, and obviously use an appropriate path). If you needed to run dfu-programmer as root in step 6, you will need to do so in this step as well.
- When the programming is done, hit the RESET button or cycle the USB connection. As tempting as it may seem, do NOT run “dfu-programmer at90usb646 start”.
- Enjoy! :D
Firmware Download
Get the latest firmware version here:
Retrode 2 Firmware Files
- Retrode2-v0.17h-alpha.zip
- Retrode2-v0.17g.zip
- Retrode2-v0.17f.zip
- Retrode2-v0.17e.zip
- Retrode2-v0.17d.zip
- Retrode2-v0.17c.zip
- Retrode2-v0.17b.zip
Retrode 1 Firmware Files
- Retrode1-v0.17h-alpha.zip
- Retrode1-v0.17g.zip
- Retrode1-v0.17f.zip
- Retrode1-v0.17e.zip
- Retrode1-v0.17d.zip
- Retrode1-v0.17c.zip
- Retrode1-v0.17b.zip
Retrode Firmware (C) 2009-2012, Matthias Hullin [matthias at retrode dot org] All rights reserved. Make sure you are using the right firmware version for your device (Retrode1 vs. Retrode2). Please see http://www.retrode.org/firmware for updating instructions. This software uses the LUFA library by Dean Camera. Learn more at http://www.fourwalledcubicle.com/LUFA.php Release history v0.17h alpha (2012-05-08) - KB Mode ([HIDMode] 3) now supports 4 players - Streamlined config file (no more key mappings, file extensions for plug-in prototypes) - Added config options for SMS and GG rom extensions - A dedicated USB PID per HIDMode setting, for smoother enumeration, and driver handling by OS - Fixed overdump mode (HWB button) - HID joystick (HIDMode 1, 2) now reports 16 buttons - N64 controller support: Connect data line via 220ohm resistor to Sega slot pins A7 (controller #1) and A5 (#2). - Startup HIDMode setting: Hold down D-pad to choose values 0 (up), 1 (up+left), 2 (left), 3 (down+left), 4 (down). Also press Start to make the setting permanent v0.17g (2012-04-17) - LED now lights up on controller activity - Cartridge re-detection now timer-based (for constant timing in different HID modes) - Experimental SRAM bankswitch for Phantasy Star IV. (Anyone care to test SRAM for that game?) - Sonic 3 SRAM bank switching bugfix - Minor tweak to SNES mouse acceleration profile v0.17f (2012-03-19) - Essential fix for SNES controllers ("B Button Problem" and others) - Bugfix SRAM writing: didn't check against total size v0.17e (2012-02-14) - Happy Valentine's Day! - Enabled SRAM for Sonic3 & Knuckles (anyone care to test?) - In case of missing game title, use "No Name" v0.17d (2012-02-02) - Complete re-write of USB HID descriptors, with five HID configurations: Off (fastest), 4 Joy + Mouse, 2 Joy, KB, iCade - Skipped the silly "Ataliri" for 2600'er Cartridges - Sega SRAM now 16-bit by default; significant improvements in detection, reading and writing - Lowered USB current request to 100mA (was 200mA) v0.17c (2012-01-19) - Version number now displayed in config file - Sonic&Knuckles lock-on technology bug fixed (Retrode 2 or Retrode 1 w/ S&K fix) - Config option for Sega SRAM "16-bit mode" (some emulators access SRAM in bytes, some in words) (Retrode 2 only) v0.17b (2011-11-24) - Major bugfix (affected Sega 6-button controllers) and improvement of controller handling in general - Re-introduced SMS/GG support v0.17a (2011-11-12) - Deactivated SMS support (unknown bug caused Retrode to crash) v0.17 (2011-11-10) - Support for NGP plug-ins by ponrev and Matthias Hullin - Support for SMS/GG plug-in (unique filename via product ID. Header contains no title string) - Support for MBC3 and MBC5 controllers on GB carts (requires revised plug-in hardware) - Support for SRAM on GB carts via plug-in - Size detection for N64 and GBA games improved - Read and write Genesis/Mega Drive SRAM (Retrode 2 only) - Auto-detection for 3- and 6-button SEGA controllers (Retrode 2 only) - "Force" config options for undetectable combinations of system, size, mappers. v0.16a (2011-03-20) - SRAM protection (SRAM contents were occasionally lost when hot-plugging cartridges) - Preparations for future hardware revisions - Re-activated LED - Added overdump button (HWB button cycles between auto size detection and 3 predefined ROM sizes. Setting is temporary and reverted to auto-detect upon device reset) v0.15u (2010-09-11) - fix 8Mbit and 16Mbit GB ROMs, affects some Pokemons and Wario Land 2. v0.15t (2010-09-01) - fix N64 size detection? (affects Ocarina of Time) - fix GBA size detection? (affects Mario Kart Advance) - default GBA size to 8 megs v0.15s (2010-08-15) - fix GBC size detection (added some more delay for ROM reading) v0.15r (2010-07-20) - apparently, something SEGA related was broken along the way. Fixed. v0.15p (2010-07-16) - SRAM/cfg writing fixed? (Update, 9/11/2010: Apparently not. Sigh.) - More reliable detection of SEGA games v0.15n (2010-06-20) - Using new EEPROM update functions (compare-before-write); extends lifetime of cfg memory v0.15l (2010-05-23) - Basic GB Memory Mapping works v0.15k2 (2010-05-23) - Tidy unified detection routine. It was about time with all the new adapters v0.15k (2010-05-23) - GBA implemented v0.15i (2010-05-18) - TG-16 detection v0.15h (2010-05-14) - improved cart detection - USB HID disabled by default v0.15e (2010-04-24) - New cluster-sector system (128MB of total virtual space on device) v0.15b (2010-04-24) - SNES Mouse support on controller port 1. Use only on 200x200 pixel displays :)









