The tricky part is 24/32Mbit + save: they overlap at 0x200000. If the save is active and the game tries to use rom around 0x200000, it will fail. Roms bigger than 2MB that have save ram have to be hacked so that when they aren't saving, they switch the run mode to 4, and only switch to 6 when they need to save. I think they could also set the save ram size to 0 when not saving, and to the proper size when saving, leaving the mode as 6. Seems that should also work. The point is that just setting the save ram on with a rom larger than 2 MB means it WILL fail at some point without patching.
if it's true, that sucks. (any takers to complete ps4 to the end

? ) isn't myth hardware(and not software) supposed to handle that? afaik tototek handles this in hardware, so why not myth?
ROM + save ram: up to 16Mbit is 1, up to 24 Mbit is 2, and up to 32Mbit is 6. 5 is ROM + EEPROM. 4 is up to 32Mbit w/o save. 3 is 32X + save ram.
are you sure? I though ROM + save ram: up to 16Mbit is 1, up to 32 Mbit is 2, 6 is up to 32Mb without save, 4 is 40mb ssf2 (with banking) .
sonic3&k (the only 32Mb md rom with save) works with 2(I should check if it works with 6 saves and all, just in case).
if I'm not mistaken, that should do for md roms(and it seems 32x and sms will work with their respective types without any additional checks, there is no 32x/sms without save types):
int selectRunMode(int psize, int bsize, int run)
{
switch(run)
{
case 1:
case 2:
case 4:
case 6:
if(psize>0x400200)
{
return 4;
}
if(gSRAMType)
{
return 5;
}
if(bsize==0)
{
return 6;
}
else
{
if(psize<=0x200200)
{
return 1;
}
else
{
return 2;
}
}
case 3:
if(gSRAMType)
{
return 5;
}
}
return run;
}
meant to be called like that:
neo_run_myth_psram(fsize, bbank, bsize, selectRunMode(psize, bsize, runmode));
and btw, can we have sram size and bank selection for sms?