Ikari just released the new firmware for the SD2SNES Super Nintendo flashcard and increased it to the final version of 1.11.0. Here is a summary of features added and fixed implemented.
The blog post contains a lot more information, so make sure to head over to his original post to read more about known issues, save states and much more.
First firmware release to support FXPAK Pro Rev. D
USB (usb2snes) support by RedGuy
Save state support (via USB/savestate2snes) by RedGuy
Stand-alone save state features by FURiOUS
Some compatibility improvements and optimizations for stand-alone save states by ikari_01
Add support for YAML list items for multiple savestate_fixes entries per game
Add support for simple bitwise operations on savestate_fixes patches
Add support for verbatim code execution on savestate_fixes patches – notably fixes Star Ocean (decompressed) save states (however the save state hook still needs CPU time optimization to prevent music glitches in Star Ocean.)
Add IRQ support on top of NMI for the save state hook – this enables save states on Out Of This World and possibly other games that only use IRQ. Also fixes controller input capture on a number of games so the game-specific input hacks could be eliminated.
Moved save state code outside of the USB hook area to make room for USB hook execution.
Earlier in the month the 3rd revision of the newer 1.10 firmware for our beloved SD2SNES flash card was released. Highlight in this firmware version is of course support for the S-DD1 chip, which is an ASIC decompressor made by Nintendo. This chip is used only by two games: Star Ocean and Street Fighter Alpha 2.
v1.10.3 ======= * fixes: – [Mk2] Revert S-DD1 bitfile to earlier build which happens to less expose a timing hazard. This will need further examination for a proper fix. Fixes severe glitches with S-DD1 – [All] Fix swapped logic terms in SA-1 and SuperFX RAM write cycles. Fixes severe glitches on SA-1 and SuperFX on Mk.II units; The bug was also present in the Pro firmware but didn’t seem to have much of an effect – [All] Fix game video mode setting in SuperCIC pair mode
v1.10.2 ======= * fixes: – [Pro] fix wrong data ROM size on uPD96050 core -> F1 ROC II track is shown properly. – [Pro] fix S-DD1 address mirroring -> Star Ocean works – [Pro] correct Cx4 core speed from 96MHz to 80MHz – [All] apply volume boost after FPGA reconfiguration (fixes MSU1 volume boost on Cx4, OBC1, SuperFX, SA-1, S-DD1) – [All] fix S-DD1 writes going to the wrong address on concurrent MCU accesses (saving not working in Star Ocean) – [All] avoid potential data corruption on MCU writes (e.g. SPC loading) – [All] Workaround for Super Nt not booting when CIC enters pair mode successfully
v1.10.1 ======= * fix bug preventing boot on sd2snes Mk.III…
v1.10.0 ======= * add S-DD1 support by magno * initial firmware release for sd2snes Mk.III (“sd2snes pro”) * fixes: – fix memory corruption on BS-X loading – reset S-RTC read state on all load and reset occasions
The new 0.87, resp. 0.88 firmware for our beloved OSSC (Open Source Scan Converter) was released earlier this month with the below changes. 0.88 fixed a bug with profile imports as per following change log:
Mode preset selection improvements
Selection made independent of physical input
480p preset defined by hsync length in auto mode
Added 720p_50, 1080i_50 and 1080p_50 presets
Minor clamp/alc related improvements
Profile import fixed in v0.88.
I used the opportunity to update the OSSC Firmware Upgrade Tutorial, as the Firmware Update function is now a sub-menu within the “Settings Opt” menu.
There is obviously much more into it. Here is the summary:
SA-1 support by RedGuy! Big thanks to RedGuy again 🙂 This was a really tight fit for the FPGA so there’s a little catch – MSU1 is not available for SA-1 games.
Also from RedGuy comes partial SRAM detection for some known games (SuperFX & SA-1). This calculates a ROM CRC and chooses to monitor only specific regions in cartridge RAM for changes. This enables automatic saving without having to resort to periodic saving, reducing wear on the SD card.
SNES CPU <-> PPU clock phase alignment. This is a long standing issue on a sub-CPU-cycle base inside the SNES. HDMA to certain registers can cause flickering sprite slabs to appear when CPU and PPU are out of phase after a cart-side reset (which does not reset the PPUs). This fixes the notorious flickering of characters with the giant frog attack in Chrono Trigger, sprites in Kirby Super Star, characters behind the text box in Star Ocean, and probably more. See https://github.com/RedGuyyyy/sd2snes/issues/6 for technical details.
Added an option to always go back to menu on reset, regardless of whether it’s a short or long reset.
LED brightness setting (16 levels)
Added an option to choose whether you want to start a game with or without cheats enabled (of those that are marked as enabled in the YAML file). You can enable / disable them later using the L+R+Start+A / L+R+Start+B button combinations if you have in-game buttons enabled.
Disable Satellaview emulation when a real Satellaview base unit is detected to avoid bus fighting and facilitate Satellaview development
System Information now shows the currently effective video mode (50 or 60 Hz).
Control signal edges are detected a bit earlier, improving stability on some consoles (GithubIssues)
Fix timing of auto region patching. This should solve cross-issues with Super Scope games because they rely on the same register that is also used to read the console region.
Fix brightness patching / limiting for games that use HDMA to alter the brightness register. (e.g. Star Fox)
Fix an occasional imaginary access cycle carried out by the FPGA after reconfiguration. This fixes lockups when loading games with dedicated FPGA files, i.e. SuperFX, SA-1, OBC-1.
Fix SuperCIC pair mode entry for consoles with ≤ 3.072MHz CIC clock (notably GPM revisions). (Github Issue)
S-RTC register state is reset when the console is reset.
If you are the lucky owner of an OSSC (Open Source Scan Converter) to scale up your retro games on your modern TV, then you like to ensure to keep your firmware of your device up to date to profit from fixes and enhancements which are constantly released. Great support on the OSSC here.