Current status for v0.1.7
Here’s what I’ve been working on in the meantime:
- More refactorings of the menu ROM. This will facilitate further UI development (sub-menus etc.)
- NMI+IRQ hook routine – these are required for WRAM cheats and in-game reset. The latter is in working state as of now. I’d like some input on which key combinations would be desirable 😉 (some conflicts can arise with existing SNES mods, see below). There is now a dedicated memory area in FPGA block RAM mapped to $2a00-$2aff which is used for the hook routine and command exchange between a running game and the sd2snes main CPU.
- Game loading handshake between SNES menu and sd2snes CPU – this is a technical prerequisite for error handling (such as missing supplementary files, write-protected SD Card, etc.)
- LED blink codes for file system errors – e.g. in case the SRM file cannot be saved this will tell you that something’s gone wrong. Also the sd2snes will retry saving until it works so you have the chance to swap out the SD Card etc.
- “Screen saver” – the screen is darkened after some idle time to reduce wear on CRT and plasma screens.
- Memory sharing between SNES and the sd2snes CPU is greatly simplified (The FSM is reduced to only 5 states instead of 18) and timing is more relaxed. This should help with stability on a wider range of consoles.
- Fixed some compatibility issues with a number of games. (Super Play Action Football (S-RTC interference), GP1 Part II (WRAM initialization), Human Grand Prix (mapper detection bug))
To do for the upcoming release:
- Cheat management – technical prerequisites for cheats (ROM+WRAM) are met, now to code the GUI for it…
- Finish on-the-fly file browsing
- Decide on key combinations for in-game functions. (en/disable cheats, kill cheat engine, reset game, reset to menu)
About key combinations:
I wanted to use combinations that don’t interfere with my SNES IGR mod. This mod uses L+R+Select in combination with Start, A, B, X, or Y to perform different operations. In that scenario I still had the four directional buttons left to put other functions on. However 😀 With borti4938’s release of the feature-enriched uIGR these are now taken.
So far this is my new proposal for key combinations (UPDATED 2014-06-24):
Buttons | Function |
---|---|
L+R+Select+Start | Reset game |
L+R+Select+X | Reset to sd2snes menu |
L+R+Start+B | Disable cheats |
L+R+Start+A | Enable cheats |
L+R+Start+Y | Kill in-game routines (in case they interfere with game operation). |
Updated to reflect some of your suggestions. Already looks better to me. I steered clear of L+R+Start+X because it’s similar to L+R+Select+X. 😉
I’ve seen the commits you did the past days after relaxing of my moving. Great work on that btw 🙂
To your proposed key combinations:
– L+R+left+ … is a good combination to access in every case
– exchange L+R+left+A and L+R+left+B to have both – “disable cheats” and “kill in-game routines” – on the outer right side of the pad
– is there a need for additional combinations for “reset game” and “reset to sd2snes menu”? Is there any interference if you use the same combinations as for “reset” and “double reset” of the IGR?
Best 🙂
True, I could put the reset functions on the same key combinations as the IGR. The only downside is that the “long reset” takes longer than a pure “reset to menu” acted out by the sd2snes itself. 😀
It’s just a double tap on the reset line 😉 Unfortunately, for the first version of the uIGR I implemented a third long push for about ~1.2s after the initial two to circumvent the undetectable double reset at this time… I removed that for the current version end of last year.
It won’t come back again 😛 Even not in the upcoming just refined version 😉
Still the SuperCIC holds the console in reset for about 6 seconds. The sd2snes doesn’t take that long to reset itself. 😉
Oh – I forget about that 😀 As you know I running in “pairmode light” 😛
Is it possible to support both combinations?
Great!
I don’t see an exemple of game where L+R+left is used. Didn’t find also via Google. Seems to be a good key combination to me.
SNESiously yours,
ekyo
The only games I use both shoulder buttons at once are the Final Fantasies, to run from a battle. These combinations would be perfectly fine to me! Thanks for the update and the incredible work!
Cheat support coming is wonderful news. Thank you for continuing to work on this project.
Would it be possible to have a setting to change L+R+left to L+R+select for those that don’t have the IGR mod? I have worries, too, with games like Mario Kart, F-Zero, and fighting games, where L+R+left+? may be accidentally hit.
I think if you went with the IGR mapping for the reset functions that would be the best, as that is the same method used in a lot of PSX rpgs (they added L2 and R2 as well, of course) and is the least likely the accidentally get pressed during a game. It would really suck to be playing Mario Kart or even a Street Fighter game (button mashers, mainly) and have the game reset. As for enabling and disabling cheats I’d be fine with just about any key combo, as if it was mistakenly pressed it wouldn’t kill the… Read more »
Would it be possible to allow users who don’t have the IGR mod to configure L+R+select instead of L+R+left? I, too, am concerned that the L+R+left combos may be accidentally pressed while playing Mario Kart, F-Zero, and fighting games.
I believe there’s a secret door somewhere in Chrono Trigger that actually has L+R+A as the command to unlock it, but if ‘left’ is thrown in there too, I would imagine it would be ok. (Might be worth a test though.)
On a side note, I know that on a few emulators I’ve used, I was able to map their “fast forward” functionality to a particular button combination, which was extremely handy for getting through lengthy cut scenes. Does the software/engine support this kind of thing?
Fast forward cannot work – the game still runs on the SNES after all 😉 And there’s no way to make the SNES go faster.
Generally, I think adding key combinations like L+R+something is a bad idea. Why? Because there are commercial games that actually use them (think Secret of Mana or Chrono Trigger, which let you reset the game by pressing L+R+Start+Select simultaneously).
I wouldn’t mind putting all those extra feature key combos on the 2nd Joypad, though. Then, it would be very unlikely that you’d actually interfere with button combinations used in commercial games. 🙂
IMO it makes no difference if L+R+Select+Start resets the game or the console (and thereby the game) 😉 All the other combinations should be very uncommon to say the least. Using controller 2 presents another challenge – everything and their dog could be connected to port 2. I need to weed out all the special controllers. And I’m on a size limit for the hook routine, it should be as small and fast as possible so it doesn’t alter the game’s timing too much 😉
From a user perspective I’d say using controller 2 is impractical.
Hmm … good point about the hook routine size limit. 😉
> IMO it makes no difference if L+R+Select+Start resets the game or the console (and thereby the game)
True — except for when debugging using real hardware will eventually become a reality. 🙂
Nice update!! Pretty meaty!
Here’s some other little UI things that I’d like to see in the future if possible.
The ability to change the background in the main menu.
The ability to delete files from the sd card in menu.
A fast forward feature. (That’s probably a toughfeature to implement.)
Also (and I’m sure you haven’t got this question a billion times already) what would it take to make SD2SNES support the RETRON5? Or is that totally up to Hyperkin, Weather they support the SD2SNES?
Thanks. Keep it up!!
Skin support is definitely in the queue, as well as file operations. Fast forward is impossible 🙂 The SNES cannot go faster as it was made to be. It’s easy for an emulator. RETRON5 cannot be supported because it basically works like a Retrode attached to a PC running an emulator. It loads the cartridge once as a ROM image and then uses an emulator to run the game without the cartridge. The SNES and sd2snes interact heavily with each other and the sd2snes dynamically changes the contents of the cartridge as perceived by the console. The RETRON5 sees nothing… Read more »
AWW! That’s to bad about the RETRON 5… Well then, what’s the best HD upscaler to use with a SNES?
I know it’s a little off topic but I gotta know what the pro’s recommend.
I have an XRGB Mini and I’m quite satisfied with it, but it can require a bit of manual tweaking per console (SNES, Mega Drive, Neo-Geo etc.)
I personally think start and/or select should be part of these routines in order to fully avoid accidental activation. Personally I would support a button command that makes people move their hands out of the usual grip. L+left+Start+A, for example. Weird to press? Sure. But that’s the point. Also, will the screen saver apply in-game or just on the menu? I’m not sure I like the idea of it changing the games themselves, however slight or beneficial. Authenticity and all. Maybe a screen saver option that lets you choose On, Only in menu, and Off? And with all these new… Read more »
Involving the Start button is a good idea, actually I favor it. Makes the combinations less likely to be pressed by accident.
So maybe I will keep the IGR mappings for Reset (L+R+Select+Start, L+R+Select+X) and put the rest on L+R+Start+…
Oh, and the screen saver only applies to the menu of course. 😉
I realize its super nitpicky but could there be a toggle in the SD2SNES menu to disable these extra features? As great as it is to see the SD2SNES enhance the experience with in-game resets and cheat on/off commands, it does change how the game functions by adding controller commands the actual cartridge wouldn’t recognize. And it’d be nice to have an option to eschew these features in order to perfectly simulate playing a real cart where, for example, pressing L+R+Select+Start would have no effect outside of the few games that already had it built in.
Updated the button mapping table.
Since you’re deciding key combinations, how about reserving 2 combinations for real time save and real time restore?
Awesome work; I’m looking forward to cheat support!
The updated mappings sound very good so far.
I’d like to request global enable / disable options for the new hooking routine and its features though.
If someone wants to make absolutely sure the game is playing 100% faithful, they can disable the new functions.
This stops all worries about accidentally hitting a key combination, too.
Personally, I really welcome the reset functionality and the occasional cheat would be great as well 😉
+1 for the global enable/disable option 🙂 A very good idea! (Might also be an option for releases after 0.1.7)
It will be there 😉
(I really need to do some generic menu coding – value selects etc… :/)
Great 😀
I know gui coding is a pain, I hate it with a passion :p
Each news on this blog amazes me !
‘grats 😀
Wow, thats really great news Ikari !
i think you have some good ideas for input buttons
the “L+R+Select+Start” must be the input to reset game
as other people said, it’s an input that works on some game
very good work
thank you so much
L+R+Start+B Kill in-game routines (in case they interfere with game operation).
L+R+Start+A Disable cheats
I’d recommend swapping these commands. That way the cheat enable/disable inputs are grouped on the inside of the controller while the more dramatic commands of exiting to the main menu and killing the cheat routine are on the outside. It’d be intuitive for people to use Y for enable and B for disable when toggling cheats on and off during gameplay.
Second that. :3
I would go even further and alter the proposed following:
———–
L+R+Start+B Kill in-game routines (in case they interfere with game operation)
L+R+Start+A Disable cheats
L+R+Start+Y Enable cheats
———–
to
———–
L+R+Start+B Disable cheats
L+R+Start+A Enable cheats
L+R+Start+Y Kill in-game routines (in case they interfere with game operation)
———–
Because it’s intuitive the “A” is accept and “B” is cancel, and those 2 buttons come as a pair.
I was thinking Y and B work for cheats on/off because it will feel like the control pad equivalent of a light switch. Y being the “up” position and B the “down”. And Y/B are more often the “action buttons” so people will be more conditioned to use them regularly. I would think if the Kill Routine command is on Y or B a lot more people will be triggering that by accident when they really wanted to turn cheats on or off. Obviously X makes sense for the exit to SD2SNES menu command because it’s the most out of… Read more »
And I’m thinking in terms of pairs. Y/X is a pair. A/B is a pair.
It seems logic to me that enabling/disabling a given feature (here Cheats), would be mapped to a pair.
Since X is already taken for” reset to SD2SNES menu”, it leaves A/B.
Then the only intuitive method to map enable/disable to A/B, at least if you’ve been playing japanese games for 20+ years, would be A: Enable / B: Disable. My 2 cents anyway ^^;
I don’t know about Japanese games but in terms of games like Mario, Castlevania, and Mega Man X, the Y and B buttons are the ones that get the most use so most people are conditioned to keep their thumb over them. And since the enable/disable cheat commands will be used more often mid-play, it makes sense to assign them to where a person’s hands will already be for immediate access while keeping the stuff people don’t want to hit by accident further away. And at the same time, the actual Game Genie uses a vertical switch to enable/disable codes… Read more »
I see we fundamentally disagree ^^;
To me it’s the vertical – up/down switch that doesn’t make any sense 😛
It depends on how you see the action. Tying both cheat commands to the bottom row works if you think of the action as being the same as “confirm” and “cancel.” I’m thinking more along the lines of On/Off like you’d do on an actual Game Genie, up being on and down being off. I’d be ok with either one, though. I think we can all agree they’re both more intuitive than how it’s currently assigned.
If Ikari is game, how about a “Type A, Type B, Off” menu option?
Haha, I actually had a comment draft where I discussed “// guys” vs. “\\ guys”. Nice example of that here 😉
IMHO it’s more important that the commands are easy to memorize rather than easy to reach. You don’t enable and disable cheats dozens of times per minute after all. So currently I’m leaning a bit more towards “A = enable, B = disable, Y = kill”.
Actually I wonder whether a kill button is even necessary when I’m going to put a global disable option in the menu…
I could see some reason for rapid fire enable/disable. I’ve had some experiences in platformers where during play you want to cause a specific result and it requires careful toggling of active codes, especially if you have a lot of different codes active at once and some cause conflicts if left on. Just leaving the codes on throughout the game is not a big deal for people who are just using infinite lives fare but for someone like me, who likes using Game Genie to massively manipulate the games I’ve played the hell out of, constant switching on/off is a… Read more »
What about Ultra16 support? 🙂
What’s there to support specifically? Do you mean avoidance of Error 06/07? 🙂
Yes exactly – i hate those errors Oo 😀
https://github.com/mrehkopf/sd2snes/issues/33
just a short message to thank you for your continued work.
it really is much appreciated 🙂
Please allow the interrupt hooks to be enabled and disabled in the menu. That would allow purists to run the binaries as-is without and automatic interrupt vector patching and might be a way to counter trouble with games using even the last available cpu cycle in NMI or IRQ routines. A patched interrupt handler would always eat up some cycles – even a simple jump to the original handler.
I already said I would 😉 http://sd2snes.de/blog/archives/391#comment-723697
Hi, I have a hopefully very simple request. When on the first page of a folder’s contents, would it be possible to have pressing LEFT take you to the very bottom of the list? This would make it easier to get to files at the bottom of the alphabet. Instead of pressing RIGHT many times, you could press LEFT just a couple. Thank you for your consideration of this feature.
You can press and hold RIGHT and it will automatically retrigger for you 😉 I’ll think about it though. It would be important to keep it from wrapping when someone scrolls back rapidly by holding LEFT.
Could just make L and R instantly go to the top/bottom and leave everything else as is.
Sounds good.
This is cool, and I’m glad to see you’re adding features, but I’m more interested in SA-1 and GSU-1/2 chip support, or at least an update on progress of the same. I do have to admit that a ‘Reset to Menu’ key combo is absolutely brilliant, and the lack of this in the current public firmware was, aside from chip support, my single complaint regarding the SD2SNES, so bravo.
I like the updated combinations. Go with that.
+1
+2
Why not make the key combos customizable? Or have a way to turn them on or off?
Does more relaxed memory sharing between snes/sd2snes cpu entail MSU1 timing as well? It kind of bums me out that some of my SD cards are not fast enough for Super Road Blaster :/
No, those are completely unrelated.
Hey Ikari. Does the SD2SNES hardware have all that it takes to eventually handle full SNES support?
It already fully supports the SNES xD
Joking aside: Most likely not. Some enhancement chips are too powerful to be supported by the onboard FPGA, and for some others them I can only say I don’t know before I’ve tried 😉 See http://sd2snes.de/blog/status#enhance for the current state of enhancement chips.
I was afraid of that. Maybe Krikzz will make something that can handle every enhancement chip but I’m not holding my breath on that one XD
How about 1 key combo that pops up a in game on display menu that shows a few different choices?
Eventually I’d like to do something like that, but it’s pretty complicated because you need to do quite some surgery on the running game.
Small aesthetic request. Would it be possible to include an option to hide file extensions? It seems a little silly to have “.sfc” or “.smc” running down the entire game list, especially for the longer filenames when it means the difference between triggering the long filename scroll or not.
When is this update ready for release 🙂
i’m so excited that you listened to some of the request
big upp!!
Probably a couple of weeks, I still need to code the cheat UI ;_; I might release a preview version inbetween though so you can check out the on-the-fly browsing and in-game reset functions.
Im so glad you did the in game reset stuff, i did ask for it about 10 times maybe, and im glad i didn’t gave up xP
Very excited about this IGR option, it is something that I have always wanted for my SFC.
Thank you.
Looking forward to the future of SD2SNES updates, keep them coming. Your doing a great job we are all indebted to you.
waiting for the beta release of this update :p
Does the SNES Test Program, which is used by Nintendo Service Agents work with the SD2SNES? What I’m thinking of is that I could get that ROM image and use the SD2SNES to test if my Super Famicom is exhibiting any hardware issues.
The other question is, is there any way the SNES can tell if the cart isn’t a Nintendo cart? Reason behind that question is that the Test Program could throw a FAIL because it’s not a Nintendo cartridge. I doubt it can though.
Test Program works well on a sd2snes 😉
is it possible to release a beta? Ikari? :p
I want to play
SD Gundam G Next – Hack Rom Pack & Map Collection (J)
on sd2snes !
Please update SA1 !
I also hope for ikari to support this enhacement chip. It’s the last one I want. I really want to play Super Mario RPG on my sd2snes.
Hope he has time and manage to do it.
any chances for someday mario rpg and yoshi island run?
Eagerly awaiting update ^^^
Hi Ikari,
I was thinking about adding a single submenu (single window only showing some parameters, no gfx) to the menu.bin rom. Are your menu rom refactoring allready pushed to the official github repo? where do I add the window hook, – here? : https://github.com/mrehkopf/sd2snes/blob/38ca87540b0778e7bbcf2c85972b950f9f445b79/snes/ui.a65 My assembler skills are very limited, – im currently studying your code.
Thanks for the great work you have done.
Sometimes Shadowrun doesn’t load saves properly from the title screen, causing the game to freeze. It’s very rare, but it’s happened to me at least twice now. It only seems to happen when there is no save data present, a new game is started and saved, long reset to SD2SNES, and then the game sometimes fails to load the save file. I wouldn’t doubt it if this was a problem with how the game was coded lol Also, the latest firmware release causes a single pixel line of randomness to appear while playing games, but it’s very difficult to notice.… Read more »
I cannot wait for game genie cheat support. omg just release that because you’re working on other little tidbit enhancements to improve what is already fine. In the meantime we cannot even enjoy our games without game genie. I wish you could update us with that…….plz plz plz. How much do I need to donate to get you to release that? I just can’t wait to use it! 🙂
you’re not the only one waiting for this update, or even a beta version of this update
i cannot wait sitting in my couch and resetting back to menu, without getting up and stuff like that :p
Thanks Ikari for this great device and firmware. Thanks to Krikzz for putting the PCB and components together. Just got my SD2SNES yesterday and I must say, wow, money well spent. I was very hesitant at first due to the price compared to the Super Everdrive but the features it has (such as SPC Player) are worth it. Glad you are still doing updates, it is a beautiful piece of retro-estial work. Look forward to 0.1.7, prost zu einer grossen mann!
Maybe einen? Es tut mir leid, mein Deutsch is schlecht.
@Tuff*Gong, never underestimate yourself. Dein Deutsch ist super! 😀
Danke Ramsis! Thank you also for making the menu files, I got my sd2snes from Stone Age Gamer, so I love the menu you made with the Stone Age Gamer SD2SNES design as it matches the sticker they sent out with it to put on the cartridge.
When will I be able to play Star ocean? Unless there’s a trick and I just haven’t found it yet. I really want to play that game..
There IS a trick;
patch that rom with this:
http://www.romhacking.net/hacks/614/
I only wish there was a similar patch for Street Fighter Alpha 2.
Neviksti is the author of the Star Ocean (SDD-1 hack) patch.
He seems to have disappeared off the internets unfortunately :S
Aww man! I wish i had known about this sooner. The link that nightrnr posted didn’t have the download. I suppose I’ll have to dig deeper for it.
That link works fine for me, as does the download found within. I believe I had to downgrade to a previous version of the OS to get it to run without freezing, however. <a href="http://krikzz.com/forum/index.php?topic=772.0"Here's a thread about it.
I have been playing Star Ocean on the current 0.1.6 firmware and have not had any issues. I am not extremely far though (the Spaceship just crashed), but I am about 9.5 hours of gameplay and have had no issues.
I got it now. Had to open the link in a different browser. Many thanks guys!
news news i want news 🙂
+1
Its been over 1 year now. Still no releas