Firmware v1.11.0 beta 1
At long last I am starting to feel confident about this release. Due to the amount of features added and since a lot of time passed since the release of v1.10.3 I figured it might be wise to do a beta version first.
As such, use at your own peril. 😉
Download here: https://sd2snes.de/files/sd2snes_firmware_v1.11.0b1.zip
Features added:
- [All] USB (usb2snes) support by RedGuy
- [All] save state support (via USB/savestate2snes) by RedGuy
- [All] stand-alone save state features by FURiOUS
- [All] 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.
- [All] SGB support by Redacted173.
- [All] favorite games list by freelancer42
Fixes:
- [All] Fixed data caching bug in MSU1 data extension which could cause wrong data to be streamed
- [All] Savestates: do not try to capture data that is already in cartridge space anyway (e.g. SRAM). Fixes text distortion in Near’s Bahamut Lagoon translation when loading a state.
- [All] Fixed YAML config parser to support comment signs after list start items
- [All] Fixed SNES open-bus contamination (fixes sprite flickering in Near’s Bahamut Lagoon translation, certain speed runs that rely on open bus behaviour)
- [All] (hopefully) fixed rapid data line toggling sometimes resulting in address line glitches, causing random crashes in extreme cases, and occasional garbled graphics on SMRPG among others
- [All] Fixed data integrity problems when loading BSX games
Usage / Testing Notes:
SGB
Note: SGB support requires at least two additional supplementary files:
- sgb#_boot.bin: The internal boot ROM of the SGB-CPU
- sgb#_snes.bin: the SGB BIOS ROM that runs on the SNES when you use the SGB.
- ‘#’ in the filename is replaced with a 1 or 2 depending on the BIOS version you select in the SGB Settings menu, e.g. if you select BIOS version 1 it will look for sgb1_boot.bin / sgb1_snes.bin.
- The status of the required files can be viewed on the System Information screen.
- SGB In-game hooks and save states only work when the files match known samples.
- Please also refer to README.SGB.txt in the sd2snes folder.
Save States
Important notes:
- Save states are currently only available on games that do not use expansion chips.
- Save states are not currently expected to be fully compatible with 100% of games. If you find a game that does not work with save states, please report – I will be working to improve compatibility.
- Save states do not include the state of the SNES’s audio subsystem (APU) due to technical restrictions of the SNES hardware design. Therefore music, sound effects, etc. will remain unchanged after loading a state. Some games maintain close synchronisation between game logic and APU state, requiring (usually) a 1-byte patch to bring them up to date with the APU. These patches are maintained in the file
savestate_fixes.yml
. For anyone proficient in debugging SNES games who wants to add their own patches, possible formats for patches are outlined in the file. - If you succeed in making a save state fix patch for a new game, please share them 🙂
- To use standalone (non-USB) in-game save states, “In-game hook” must be enabled in the “In-game Settings” menu, and “In-game savestates” must be enabled in the “Savestates Settings” menu.
- Please also refer to README.Savestates.FURiOUS.md in the sd2snes folder.
When the “Savestate slots” option is enabled, one of four save state slots can be selected in-game using a button combination.
“Load delay (frames)” is used to set a delay after loading a save state before returning control to the game. This gives you some time to let go of the save state buttons and get your fingers back into the normal playing position.
Save states can be saved and loaded in-game using button combinations on controller 1:
Buttons | Function |
---|---|
Start+L | Load state |
Start+R | Save state |
Select+D-Pad | Select save state slot |
Using the D-pad one of four save state slots may be selected (Default: Slot 1):
Buttons | Slot number |
---|---|
Select+Up | Slot 1 |
Select+Right | Slot 2 |
Select+Down | Slot 3 |
Select+Left | Slot 4 |
Favorites List
The favorites list can be viewed from the Main Menu (X button).
To add a game to the favorites list, simply navigate to it in the file browser and press Y to pull up a context menu that displays actions that can be performed on the current selection. (Right now this menu only contains a single entry – “Add to favorites”.
To remove a game from the favorites list, open the “Favorite games” list from the Main Menu, select the entry to remove, and again use the context menu (Y button) and select “Remove from favorites”.
Reporting issues
Please report any issues in the comment section, on Github, Discord (#fxpak-general), or Twitter (@orzvektor).
On a personal note
I regret to say that this release is overshadowed by a recent tragic event.
Near (formerly known as byuu) has passed away on June 27, 2021. To this day I cannot grasp the reality of it all.
On top of his outstanding contributions to the emulation and ROM hacking scene, Near was always a source of inspiration and creativity. Although there were not many occasions on which we worked together, whenever we did it was a blast and put a smile on my face. Near came up with the MSU-1 spec, I made the first hardware implementation of it – thereby turning the sd2snes into a marketable design in the first place. I made a custom SuperCIC specifically for his cartridge dumping project back in 2010. We discovered and got to the bottom of various SNES hardware quirks together. “Professional” endeavours aside, he also encouraged me in getting to know myself better.
I owe Near a lot, and wish I could have thanked him in person one day. I will miss him. A lot.
To honor Near’s memory this release contains a very brief farewell message that will be shown for a few seconds on first boot only (provided that your SD card is not write protected). I hope that you find this tolerable; it was important to me.
Looking forward to that farewell message. I just wished we knew how bad things were that we could’ve tried to help them and show them that they weren’t alone.
RIP near
R.I.P. Near, and thankyou.
Sounds like a fitting tribute, looking forward to seeing it on the first boot. Thanks for your tireless effort.
Many thanks go to Near for his contributions to the scene. He was responsible for so much behind the scenes of the retro gaming community. He must have meant a lot to you to spend the time to develop that farewell message.
This is a beautiful release. Thank you.
Matt was here, after pressing F5 every 5 minutes for 2 years! 😀
Thank you very much for this new release and the long writeup!
I was and am very sad about Near as well. Thanks for including a memento for him, I think nobody will be bothered if this stays forever. 🙂
Thks for great work Team Project SD2SNES
What a crazy release! I can only imagine the hours you and others have put in for such features. Thank you very much ikari_01.
I have yet to try the firmware and see the message about Near, but I can assure you this is very much appropriate and tolerable. Given everything they’ve done for the Super Nintendo fans around the world, all sd2snes users should know and appreciate their work. <3
Excellent! Thanks for your hard work. RIP Near.
I just tried out the beta on my SD2SNES Pro and Super NT. Many games won’t load right now and I’m getting the same black screen with Game Boy games, system information shows everything is ok with the extra files I put in. I can’t see a pattern since some SNES games do work, but I’ve switched back to the previous version of the firmware without issue.
Hi,
could you try the unofficial save state firmware by FURiOUS and see if that is also causing you trouble?
https://github.com/furious/sd2snes/releases/download/savestate_v12/sd2snes_v1.10.3-frs-v12.zip
Thanks!
That firmware seems to be working well. Not having any issues launching games with all the default settings in it. I’ll try the Beta firmware again without any modifications.
It looks like it’s caused by my custom menu files for the last firmware I was using. Everything works fine if I use the original menu files.
I’m surprised it worked as well as it did then. 😉
You can transfer your menu theme to the newest menu using https://sd2snes.de/themes
Just select your old custom menu, the menu from the newest firmware, and get a generated updated menu ROM with your theme. 🙂
(The buttons say upload/download but actually no data is transferred to my web server; it’s all client-side JavaScript)
Ah, this is exactly what I was looking for! I loved my Retro Future theme and was saddened I had to choose between RGB/ Save state support and it.. now I get the best of both worlds!!
You’re fantastic. 🙂
Hi ikari, I tried the new firmware. But unfortunately the sd2snes freezes after booting up. I tried to download and copy the firmware again to the SD card. But no success, older firmware works, this one freezes after booting.
Hi, thanks for reporting. Are you using a custom theme?
Could you try the FURiOUS unofficial firmware and see if that works better?
Hi, thanks for the reply. I don’t use a custom theme. The furious firmware works fine.
try to start with a fresh firmware folder, without the furious files 🙂
Hi Ikari! No problems on my French Super Nintendo. I haven’t tried the new features yet, but otherwise nothing to say. Great job as always, keep it up, so we can relive our younger years with this great console. And thought for Near who left us way too early. You were right to put a message at the start, I think it fades a bit too quickly. Nice gesture in any case.
Thank you (and everyone else) for your continued work on this release!
RIP Near, thank you for all the work you did
[…] O firmware 1.11.0 beta 1 para o SD2SNES, SD2SNES Pro e FXPAK Pro pode ser baixado no site oficial. […]
thank you for the effort you put into still making updates! works great for me, my set up is a fxpak pro with custom theme (updated my theme to the latest version) and super nt. i use save states often and have had no issues at all so far. i recommend users remap the save and load state buttons to new ones that dont include start/pause by editing your config.yml file, because it results in the music being preserved when they are used with games where pausing silences in game music.
doesnt work on my sfc. after startin the sd2snes is freezing. older firmware works
An exciting update for my fxpak pro. This combines the furious firmware, with plug and play support for QUsb2Snes, fixes bugs and adds a favorites menu. It’s truly exciting and stable. I did get the special chips data files from the furious firmware folder.
Rip Near (byuu) and I think this farewell message should remain. Maybe make it being displayed 5 seconds longer. Once the onscreen menu from the OSCC disappears you only have a second or two to read the farewell message.
Hello Ikari, First, thank you for sharing your feelings about Near. Of course I don’t know the guy, but I always feel sad when someone pass away. I’m sure your message will not be intrusive. What about writing a permanent page accessible from the menu, where you’ll thank people that helped the project? Second, I’m once again amazed by the amount of content that just’ve been added to SD2SNES. When I furious’s version, I was wowed by save states and SGB support, two features I didn’t think would be possible. Two bad I don’t know someone IRL to share the… Read more »
Save states in Super Ghouls ‘n’ Ghosts still have issues. Whenever I load, I lose the sound. Usually I still have the music but no sound effects. Sometimes It’s totally silent.
I have this behavior with non patched PAL version, and also with patched MSU1 US version.
Save/load states works fine with a few other games I could test (i.e. Zombies ate my Neighbors, Parodius 2, Super Castlevania IV)
Thanks for reporting, I think savestate_fixes.yml already has a fix for Super Ghouls ‘n Ghosts but only the US version. I’ll put it on my list 🙂
If you want to try immediately, try adding this line to your savestate_fixes.yml:
4044: 0002F5,2140 # super ghouls and ghosts (EU)
I don’t know the checksum value (before the ‘:’) for the MSU version right now. ^^;
It works 🙂
To be precise, thanks to your code I keep all sounds with PAL rom. I also tried and test US version (shame on me not to have tested that before).
Then I figured out the checksum for my “restoration + MSU1” patched rom, fixed it somehow, and added it to that yml file. It ALSO works 🙂
Now I’ll be able to do that damn second quest with that great metal soundtracks from Kurrono. It as frozen in hell! (aka Super Ghouls’n’ Ghost, third level)
So, with this update, is there anything different to setting this up with the auto tracking feature for Link to the Past in emotracker? Been trying to get it going, and it’s not happening.
It might be broken, I’m not yet very familiar with every present use case of the USB interface. ^^;
Could you point me to some description on how to use that normally?
Never mind, I figured it out 🙂
Here’s what I did:
Now it seems to track any chests I open and items I collect successfully.
It could be that you need to update QUsb2Snes so it recognizes the new firmware version number. It’s been changed to assume USB capabilities from “1.11.x” even without the “usbv#” string present.
Fantastic. It works! Didn’t realize my Emotracker was out of date. Checking for updates said I was up to date. Thank you!!
As an addition: I can’t get GameBoy stuff to boot past black screen either. Menu says SGB2 stuff is OK. As far as I know I followed directions properly. Also tried the unofficial firmware thing you mentioned earlier with no luck.
Disregard my previous comment about GB. I renamed all the extensions to be lower case and now things are all good.
By the way, are there any chances that save states ever works with chip enhanced roms?
Hi Ikari! Thank you so much for the amazing feat of engineering and what a great tribute to Near who devoted his life to SNES preservation. Kirby’s Dreamland 3 is now working on fully recapped early Super Famicom CPU/PPU1/PPU2: 1/1/1 and SD2SNES. The game was randomly crashing on every previous firmware. Upon further testing it was noticed that Actraiser2 is acting up on previously mentioned system. The game freezes and unfreezes constantly, there are severe graphical glitches which are very apparent right after launching the game and the game usually crashes in one minute. The last known good configuration for… Read more »
I have just tested this version and everything seems to run perfect. Great job and very nice the inclusion of Super Game Boy 🙂
Hello ikari,i have loading problem with starfox rev2 rom,my snes crash on first level in hangar
sd2snes_v1.10.3-frs-v12 no problem with this firmware
Yes, I noticed that too when in-game hooks are enabled, some Super FX games like Starfox or Stunt Race FX freeze. They work fine if you disable in-game hooks.
What’s the hashes for the SGB1 files? The ones I’ve tried work but all give a mismatch error.
I’m guessing something was mixed up when compiling the hashes to validate the files.
I’ve taken fresh CRCs from all files known as working and put them in the code; the next beta should not give any false mismatch warnings.
Hi Ikari.
Thank you, one again, for all your work/
I did think abouy you and about the scene when i heard about this sad news.
Thank you to share your feelings with us.
RIP Near.
I’m sorry for your loss and for the people who knew him. It sounds like a lot of gamers owe him a lot of thanks. Thank you for sharing your thoughts, and I feel the farewell message is absolutely appropriate. Have a good one.
The readme just gives file hashes for SBG2 roms, not SGB1 and does not mention that the SGB1 is even compatible, yet here it states it is.
[…] https://sd2snes.de/blog/archives/1157FXPak Proを購入する: […]
[…] 詳細はこちら […]
[…] β版のダウンロードはこちら […]
Is there any step needed to enable the USB port?
I tried the beta firmware and my linux computer does not see the sd2snes.
lsusb does not show any new device when I start / connect the sd2snes.
I checked the cables and connectors and they seem to work ok.
Thanks!
Normally it should register as a ttyACMx device. dmesg log: [399406.196385] usb 1-1.2: new full-speed USB device number 5 using xhci_hcd [399406.308108] usb 1-1.2: New USB device found, idVendor=1209, idProduct=5a22, bcdDevice= 1.00 [399406.308126] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [399406.308139] usb 1-1.2: Product: sd2snes [399406.308152] usb 1-1.2: Manufacturer: ikari_01 [399406.308164] usb 1-1.2: SerialNumber: DEMO00000000 [399406.377985] cdc_acm 1-1.2:1.0: ttyACM0: USB ACM device [399406.381527] usbcore: registered new interface driver cdc_acm [399406.381551] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters It then shows up as /dev/ttyACM0. lsusb shows: Bus 001 Device 005: ID 1209:5a22 Generic ikari_01… Read more »
I have it working now. The cable I used first was not working correctly.
Thanks!
Thank you very much for resuming work on SD2SNES firmware! Are there plans to add support for the special enhancement chip SPC7110?
Far East of Eden: Tengai Makyou Zero is one of the best looking and interesting games on the SNES and is sorely lacking on SD2SNES.
Yes 🙂
This is amazing news! I will look forward to it. Thank you so much! =)
That’s great news indeed! Thank you very much for everything ikari!! 🙂
Thank you for all the hard work you do with these updates!
Hello Ikari, I’ve tried this beta, and whenever I try to use save states, the game goes to a black screen. I tried the Furious firmware and that works fine, but I would like to use this beta. Any advice?
black screen can happen if you load state without a state saved. incidentally if you are used to the previous furious firmware the button bindings for save and load states have been reversed (they can be changed back by editing your config.yml file if you want). i would love to see a future update include on screen text that indicates your current save slot and if it was loaded or saved like many emulators do when loading and saving. as i often forget which slot im using after awhile and it would clear up any confusion.
Unfortunately, on screen display is basically impossible during a running game.
Thanks for the update! I’m not sure if anyone else has ever asked this – but is there any chance to implement the ability to delete games from within the menu list? The Mega Ever Drive PRO for Mega Drive allows this, and I find it exceedingly useful for trimming my games list as I finish games, or play titles which I dislike and have no intention of playing again.
Thank you for the firmware beta! I tried it out and got the system info message saying that all the SGB files were loaded correctly. I went to boot up Wario Land II for the Game Boy and although it boots up, there’s no sound. Other normal SNES ROMs have sound.
Do MSU-1 hacks have sound?
What type of console are you using?
I’ve never been able to figure out how to get sound on MSU-1 hacks, despite using the instructions I’ve seen floating around online. I’m using an Analogue Super Nt.
Nevermind, did some more googling and figured out what happened! I just needed to click the enable cartridge audio box on the console’s menu. Works fine now!
Hi Ikari, very good of you and the contributors bringing those incredible features. I haven’t tested savestates yet but the SGB feature works like a charm so far. Also romhacks and homebrew games work fine. But one general question bothers me for a long time. I have a PAL SNES without any hardware modification. If I play NTSC games, do they run at 60Hz as intended or throttled to 50Hz (my CRT definitely supports both PAL and NTSC)? I don’t have equipment to measure the framerate or something nor have I put much time into it comparing the NTSC games… Read more »
PAL games run only on 50Hz without any hardware modifications on PAL SNES so you will need to buy some SuperCIC chip and solder it.
Just updated yesterday. Think I’ve found a bug: when playing Jurassic Park (USA) (Rev 1) (same thing showed up in the Italian version), graphical artifacts appear. Sometimes the tileset gets garbled (walk south from the start and look at the main JP gate), sometimes a small white line or similar appears at the top of the screen. Upon further inspection, this doesn’t seem related to the firmware. It only happens when 1-chip transient fixes is enabled. I always leave that on since I use a 1CHIP console. Turning it off makes the graphical issues go away in both this firmware… Read more »
just freezing after starting :/
Thank you for all your hard work and for putting in a tribute to Near.
Awesome work Ikari and RedGuy! Very cool to add in that tribute, I really wish mental health was treated like physical health in this world (e.g. classes in youth schools etc.). Thank you all for the continued work on sd2snes and the snes scene.
Hey – great work with the new firmware update, and nice touch with the Near tribute. That was good of you. Just a quick note on a couple of bugs on Trials of Mana (extracted from the Collection of Mana compilation, but otherwise seems to work great on SNES): There’s a section at Heavensway where the party passes out after inhaling somnosa flowers. That seems to reset the system. Save states seem to hang the game – they save fine, but it’s frozen when you load the state again. Maybe it’s asking too much if it’s not a true SNES… Read more »
Hi, thanks for reporting! Is the resetting problem reproducible (does it happen every time during that scene)? Do you happen to have a saved game (SRM file) near that point? Have you tried running it with the in-game hook or savestates disabled? The save state handler currently consumes a lot of CPU time (around one whole scanline) even when not currently saving/loading a state. This might be enough to push some games over the edge and just crash them. Seiken Densetsu 3 / Trials of Mana has the tendency to just reboot on any sort of crash (BRK vector =… Read more »
Great – many thanks for the reply.
Yes, it’s reproducible. Save file is here – you just need to go to the right by a few screens and you’ll trigger the cutscene:
Trials of Mana (U).srm (dropbox.com)
Disabling save states resolves the issue. Thanks for that tip – I didn’t realise it could have an effect even when you weren’t actively using them. That’s helpful to know.
Enjoy your vacation!
Thanks a lot! Do you mind if I open a GitHub issue and attach the SRM file?
Please do – it’s all yours!
Have a nice vacation und gute Reise.
Hi!, any way to change the colors and Menu Image in this new version?
With thinks like this: http://www.dotsarecool.com/sd2snesimg/ the menu its broken.
Please Help.
Hi, please use https://sd2snes.de/themes/editor which is up to date for the latest firmware release.
Love the new release. Thank you for your incredible work. Save states are now working with lots of games that didn’t support the functionality in Furious’ previous firmware. Still can’t get it to work with “Death and Return of Superman” as it freezes on load.
Was touched by the boot up the message.
Hello Ikari, me and some friends were curious to know if MSU chip could implement some kind of screen improvement, like 480i support for some games and homebrew. Sorry I haven’t tested beta yet but I think I will, it is just that my SD2SNES PRO is still very expensive where I live and
I´m afraid I could break it, sorry 🙂
The MSU-1 chip isn’t the arbiter of video output. That’s largely determined by the game programming. It is possible to hack games and change their output settings, as demonstrated in a rather famous Super Mario World video.
Super Punch Out still crashes at the second opponent when savestates are enabled (and not even used) 🙁
Super Mario Kart does not start with this version but with 10.3
what? Super Mario Kart (4 (MSU-1, US, JP, EU) versions checked working fine by me, but i didn’t check any special setting and i am using a super nt.
I tried the US version and also a Hack of the game Hyper Street Kart and both freeze after start. Super Mario Kart only shows the Nintendo logo and freezes. I’m on a SNES Jr.
Have you added the DSP files to your SD card?
Sounds like they are missing or maybe, need a fresh copy to replace the current ones.
Maybe, they got corrupted.
Alternatively, you could try another SD card or reformat your current one, just to be safe.
it’s the same sd card i was using with both versions. in both cases i added the dsp files and nothing is corrupt.
I have the same issue on my SD2SNES. Super Mario Kart and all related Romhacks fail to boot after the initial Nintendo logo appears, but when I switch over to 10.3 they all boot just fine.
How do you switch? Do you possibly have the DSP ROM files in your 1.10.3 folder but not in your other folder?
I did a double check (reconfirm/redownload) of proper DSP files for Mario Kart, reformat of SD card, fresh install of beta 1.11, fresh ROM installs – none of which solved Super Mario Kart not loading on 1.11 beta firmware. As soon as I switched over to a totally fresh download of 1.10.3 stable firmware though SMK and related romhacks work fine. My console CPU/PPU1/PPU2 reads 2/1/3 if that matters. SD2SNES Pro flashcart.
I am having a bit of an odd time here. On 1.10.3-frs-v12 I can’t get SGB to work, but on 1.11.0b1 I can’t get CX4 to work but SGB does.
For Super Mario World (USA), whenever I load a state, it doesn’t load the music from that save state; rather, it continues to carry the music from whichever area I was in before I loaded the state.
Hi, yup that’s to be expected with all games. Audio isn’t currently part of save states (and might never be – with the SNES’s hardware architecture it is basically impossible to capture the audio system’s state on real hardware).
I will have another stab at it some time but it basically entails emulating a copy of the entire audio system on the FPGA — a process that poses its own challenges since the audio clock is not known to the cartridge so it would be very tricky to sync up the “shadow” APU with the real one.
in super mario allstart -> super mario bros 2, the snow/ice level creatures are black while they should be white.
Can’t wait for the next release!
Ikari, can I give you a donate somehow as a thank you for your wonderful work?)