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/.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