Current status for v0.1.7

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):

ButtonsFunction
L+R+Select+StartReset game
L+R+Select+XReset to sd2snes menu
L+R+Start+BDisable cheats
L+R+Start+AEnable cheats
L+R+Start+YKill 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. 😉

Subscribe
Notify of
95 Comments
Oldest
Newest
Inline Feedbacks
View all comments

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 🙂

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 😉

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?

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

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!!

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 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 »

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.

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)

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?

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? 🙂

Yes exactly – i hate those errors Oo 😀

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.

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.

Could just make L and R instantly go to the top/bottom and leave everything else as is.

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

Hey Ikari. Does the SD2SNES hardware have all that it takes to eventually handle full SNES support?

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?

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!!

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

95
0
Would love your thoughts, please comment.x
()
x