Anything larger than 2MB that also has save ram needs to be run mode 4. It also needs to be patched. I've figured out the patch for S&K+S3 and my own Wolf32X. I'm wondering it Conle should just add this patching to the plugin.
The "patch" is to look through the rom (in binary format) for the hex values:
13FC xxxx 00A1 30F1
That's a "move.b #x, 0xA130F1" opcode, which is used to turn on or off the save ram. You'll find several of these in roms >2MB with save (there's five in Wolf32X, and four in S&K+S3). For each one, look at xxxx:
If bit 0 is set, change the hex to:
33FC 0006 00A1 3000
That's a "move.w #6,0xA13000" which turns on the save ram.
If bit 0 is clear, change the hex to:
33FC 0004 00A1 3000
That's a "move.w #4,0xA13000" which turns off the save ram. The rom needs to start off with the run mode set to 4. I think I need to change that in the menu when I determine the run mode for the rom loaded from the SD card.
The alternative to having this patching in the plugin is I can do this in the menu in the routine that sets the save ram bank and size. I know the save ram is going to be used, so if the rom size is >2MB, I can go ahead and force the run mode to 4, and do the patch routine. That would take care of any game that follows the guidelines for sram and >2MB roms.
EDIT: For 32X games, it should be 3 instead of 4. That's 32X w/o save.
EDIT 2: Actually, 3 is with save, so that wouldn't work. I guess it should be 4 as well. I relly need to try this and see how it goes.