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.18a alpha (2012-05-09)
- 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, Arcade
- 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 :)
