v0.1.1
======

 * initial public release


v0.1.1a (bugfix release)
========================

 * Fixes:
   - SuperCIC pair mode was erroneously enabled in firmware binary
   - SNES menu crashed on empty database


v0.1.2
======

 * New menu entry: "System Information"
 * Auto region override (eliminate "This game pak is not designed..." messages)
 * Improved mapper detection (fixes Batman vs. Joker and many PD ROMs)
 * Improved data streaming performance
   (should reduce MSU1 errors with some cards)
 * A and B buttons swapped in menu to match common key mappings
 * Fixes:
   - MSU1: Stop audio playback on end of audio file


v0.1.3
======

 * Updated logo gfx with new version from klaptra
 * Updated font to distinguish between 1 and I
 * Menu layout adjusted to move status line up by 4 scanlines
 * Run previously loaded game by pressing Start in the menu
 * Auto-scroll file names that do not fit the screen
 * SD access time measurement on System Information screen (takes a while!)
 * Cx4 memory map: mirror ROM to 40-7e/c0-ff (fixes MMX3 Zero patch)
 * Some FPGA configuration error detection (mainly useful for hardware diag)
 * Fixes:
   - FPGA-side SD clock pullup (increases reliability with some cards)


v0.1.4
======

 * SPC Player (contributed by necronomfive/blargg)
 * System Information screen now shows CPU/PPU revision (contributed by necronomfive)
 * Satellaview: basic data transmission packet support (makes some more games boot, thanks to LuigiBlood for assistance and sample data packets)
 * Number of supported files increased to 50000 per card / 16380 per directory
 * Slight speedup of menu text rendering
 * Reduce load time of menu
 * Adjust Cx4 timing to be more faithful
   (Mega Man now defeats the boss in attract mode in Mega Man X2)
 * adapt ROM mirroring size to file size if header information is invalid
   (fixes Super Noah's Ark 3D, possibly others)
 * MSU1 interface changes suggested by byuu:
   - Data offset 0 and audio track 0 are automatically requested on reset.
     This causes the busy flags to become 0 shortly after reset/startup.
   - $2000 bit 3 is now "audio error", becomes valid after "audio busy" -> 0
     set when an error occurred while preparing playback of the requested audio track
 * write LED stays on when SRAM content changes constantly
 * Fixes:
   - fix empty save files on FAT16 / incorrect free cluster count on FAT32
   - correct directory sorting (force parent directory at top of list)
   - fix text corruption when entering a directory with a scrollable name
   - fix files/dirs count in system information
   - make 'sd2snes' directory hiding case-insensitive
   - improve DAC I²S timing
   - fix occasional palette corruption in menu
   - fix SD clock glitch on ROM loading (occasional glitches/crashes)
   - fix memory write timing on ROM loading (occasional glitches/crashes)
   - fix SPI timing (ROMs not loading; System Information not working)
   - properly synchronize SNES control signals (occasional glitches/crashes)
   - fix floating IRQ output (occasional glitches/slowdowns)


v0.1.4a (bugfix release)
========================

 * Fix DMA initialization in the menu (could cause sprite corruption in some games)


v0.1.5
======

 * Sort directories by entire file name instead of first 20 characters only
 * Correctly map SRAM larger than 8192 bytes (HiROM) / 32768 bytes (LoROM)
   (fixes Dezaemon, Ongaku Tsukuuru - Kanadeeru)
 * SPC player: fix soft fade-in (first note cut off) on S-APU consoles
   (1CHIP / some Jr.)
 * More accurate BS-X memory map
 * Ignore input from non-standard controllers (Super Scope, Mouse etc.)
 * Fixes:
   - minor memory access timing tweaks
     (should help with occasional glitches on some systems)

v0.1.6
======

 * OBC1 support (Metal Combat: Falcon's Revenge works)
 * menu now displays the 10 most recently played games instead of one
 * hidden and system files are now ignored in the file browser
 * some minor internal changes for convenience of development
 * Fixes:
   - partial-size BS dumps should now load correctly
   - fixed a PSRAM mapping bug in the new BS-X mapping logic that caused
     graphical corruption on some games (notably Treasure Conflix garbled
     sprites)
   - SRAM mapping for LoROM <=16Mbits now uses the entire bank instead of
     0000-7fff only. Fixes saving in some games, e.g. Ys III Wanderers from Ys

v0.1.7
======

 * cheat support (YML files) with WRAM capability
 * reworked configuration file (plain-text YML)
 * in-game buttons
   - L+R+Select+Start: reset game
   - L+R+Select+X    : reset to sd2snes menu
   - L+R+Start+Y     : kill in-game buttons (for compatibility issues)
   - L+R+Start+X     : kill in-game buttons for 10 seconds
   - L+R+Start+B     : disable cheats
   - L+R+Start+A     : enable cheats
 * CONFIGURATION MENU:
   - date+time
   - BS-X time can be toggled between real-time/custom
   - custom date+time for Satellaview
   - toggle screen dimming
   - toggle directory sorting (speed-up on pre-sorted cards)
   - MSU1 volume boost
   - Cx4 DSP core speed
   - in-game functions (buttons, WRAM cheats, initial holdoff "stealth")
   - auto region patching
   - video mode settings for SuperCIC consoles
 * file browser:
   - L+R can be used to move to start/end of directory listing
   - end of directory listing is aligned so the last entry is at
     bottom of screen
   - Last played game is always moved to top of list of recent games
   - on-the-fly directory browsing, no more lengthy database creation
   - "Loading" window
   - do not show dotfiles, hidden and system files in browser
 * compatibility:
   - better support for part-sized BSX dumps
   - fix BSX detection for games with 2 startups left
   - emulate Type1 BSX memory pack instead of Type2 (Super Bomberman 2)
     (BSX BIOS itself crashes on Type2 packs with "copy to PSRAM" flag)
   - initialize APU RAM to support ("fix" buggy sound routine of Soul Blader)
   - properly de-init DMA to $ff (fix Pocky&Rocky US, SGnG, SSF2)
   - initialize SaveRAM before running the game so we don't miss very
     early saves
   - enable S-RTC only when needed (fix Super Play Action Football)
   - initialize WRAM (fix GP1 Part II)
   - fix wrong offsets in mapper detection (fix Human Grand Prix)
   - experimental SRAM mapping for Cx4 (for ROM hacks)
   - sample SNES data to obtain valid data on end-of-cycle events
     (fix driver/track glitches in Super Mario Kart)
   - remove faulty multicycle constraints from Cx4
     (fix random "register file error" messages)
 * MSU1 enhancements:
   - MSU1 volume boost
   - MSU1 resume feature implemented (Thanks to Michaël Larouche!)
   - interpolation filter to reduce aliasing, resulting in cleaner sound
   - fixed DC offset where volume is applied to the waveform
     (eliminate clicking/humming on volume change/fade)
   - changed MSU1 audio playback rate to exactly 44100Hz to match bsnes/higan
     implementation
 * Ultra16 awareness (mostly thanks to borti4938!):
   - show Ultra16 serial number and autoboot setting in the System Information
   - support SPC player warm-boot on Ultra16 consoles
   - prolong soft reset on Ultra16 consoles to prevent accidental entry
     of Ultra16 menu
   - disable auto region patching on Ultra16 consoles to prevent bus conflicts
 * misc:
   - rework GUI code (backbuffer stack, reentrant menus, etc.)
   - simpler, more compatible memory sharing FSM
   - cosmetic changes, make the GUI a bit more spiffy
   - only reconfigure FPGA on demand (faster soft reset)
   - on-the-fly SD card swapping supported (re-init on demand)
   - Cx4 table ROM embedded in FPGA configuration (deprecate cx4.bin)
   - new FatFS version
   - moved MCU command interface from "ROM" to FPGA block RAM
   - SRM files are now saved under "sd2snes/saves/<romname>.srm". existing
     SRM files are moved during save.
 * fixes:
   - fix menu bug where time is displayed incorrectly (thanks to devinacker!)
   - fix occasional FPGA lockup on power-up
   - properly initialize MSU1 state
   - automatically remove missing ROM files from "recent games" list
     (Thanks to borti4938!)
   - fix feature flag error where auto region patch was always on for Cx4

v0.1.7a
=======
 * fixes:
   - fix deadlock on MCU-SNES negotiation due to truncated bootstrap routine
     (fixes firmware lockup on booting Zelda 3 after soft-reset)
   - fix garbled default date for BS-X date+time (date record was backwards)
   - fix incorrect saving of "Auto Region Patch" setting