Firmware v1.10.3 is up again! The cause of the error was a silly copy&paste bug in a single place which could be fixed and retested easily. Only SuperFX was affected.
I removed the v1.10.3 download for the time being. It has been observed to overwrite saved games with garbage on SuperFX and SA-1.
For now I recommend to keep using – or revert to – v1.10.1 (on Mk.2) or v1.10.2 (on Pro).
Sorry for the hassle.
I just updated the v1.10.3 download, it contained a wrong bitstream file for sd2snes Mk.II which broke MSU1 audio on non-expansion-chip games (except DSPx).
Firmware 1.10.3 is out with critical fixes for sd2snes Mk.II.
- [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.
Firmware 1.10.2 is out with a round of 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 occasionally 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
Firmware 1.10.1 is out. This is an important update for SD2SNES Pro users since v1.10.0 doesn’t boot on it due to a silly bug. Sorry about that!
- Actually boot on SD2SNES Pro
Firmware 1.10.0 is out. Download here!
- S-DD1 support by Magno! Big thanks to Magno who implemented it and RedGuy who helped integrate the core with the main firmware :)
- Support for sd2snes Mk.III (a.k.a. SD2SNES Pro). This works by adding a new set of support files for the new hardware so the firmware package actually contains two firmwares. This also makes it possible to swap the same card between old and new sd2sneses freely.
- Fix memory corruption on BS-X loading. (Hopefully – I could not identify a cause and suspect bitstream file corruption. Please let me know if it works again – it does for me)
- S-RTC register state is REALLY reset when the console is reset, and also when loading a game.
- Known issues:
- Firmware seems to ignore Cx4 speed setting (at least since v1.9.0)
- sd2snes Pro menu still has the old design
- Mk.III specific source code changes currently aren’t contained in the GitHub repository. Please bear with me while I figure out a way to integrate them. ;)
Firmware 1.9.0 is out. Download here!
- 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 (Github Issues)
- 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.
Firmware 1.8.0 is out. Download here!
- SuperFX support by RedGuy! This is the duck’s guts. What an accomplishment. Big thanks to RedGuy!
- EXPERIMENTAL brightness patching for S-CPUN based consoles (1CHIP/Jr). The patching is comprised of two parts:
- 1CHIP transient fix – tries to alleviate some graphical issues with 1CHIP consoles where it reacts unfavorably to sudden changes to the brightness register. This fixes the shadow in Air Strike Patrol, warped scanlines in Rudra’s Treasure, and faded scanlines at the top of the screen on certain Capcom games when the console is equipped with a de-ghosting fix involving the replacement of the C11 capacitor.
- Brightness limit – can be used to limit brightness on consoles where the stock RGB levels are too high.
NOTE: There are known problems with games that use DMA to set the brightness register. Notably Star Fox and some MSU1 video players. You should disable it if you intend to play those. For now I’m releasing it as is because I still think it can be useful (and I’ll be gone for two weeks and didn’t want to delay this release any further :-D)
- Added ExLoROM support (LoROM > 32Mbits)
- The In-game hook is now disabled by default.
- Touched up the menu a bit – dependent settings are printed in grey if the higher-level setting is disabled
- Changed the version numbering by eliminating the eternal leading zero. The last digit can now be used for small revisions or fixes.
Some minor fixes are still outstanding which I will address in a couple of weeks after I have returned from vacation.
RedGuy’s SuperFX implementation has been around for a while now as an “unofficial” build.
I merged it into the official firmware just now. Some testing has to be done and probably adjustments have to be made. Expect a release before long. ;)