Well, I see there's some progress been made in savestates right now, so I think it may be a good time for a little discussion about this subject.
Right now, MAME supports savestates by machines, even in machines which uses different softwares (softwarelist or by fullpath).
But, of course, a savestate created using a software A is incompatible with the same machine using software B.
Isn't it a better idea to support the savestate by software in machines which have a softwarelist?
Is there any technical reason to keep the savestates by machine, and not by software?
Are there plans to change the way which these savestates are created/stored/loaded?