Okay, looking at your enums again, I noticed something
typedef enum NEOMD_RomFormat
{
NEOMD_FMT_UNKNOWN = -1,
/*SKIP ZERO - GBA CART BUS RESERVED -*/
NEOMD_FMT_MD_1_16_S = 0x01, // 1-16mbit MD rom length with save
NEOMD_FMT_MD_17_32_S, // 17-32mbit MD rom length with save
NEOMD_FMT_32x_S, // 32x rom with save
NEOMD_FMT_MD_40, // 40mbit MD rom length
NEOMD_FMT_MD_32X_EEPROM, // MD or 32x with eeprom == 24c01
NEOMD_FMT_MD_1_32_NOS, // 1-32mbit MD rom length without save
NEOMD_FMT_SCD_BIOS = 0x08, // sega cd bios
NEOMD_FMT_SCD_SRAM, // sega cd sram
NEOMD_FMT_SCD_SYSTEM, // sega cd system
NEOMD_FMT_SMS = 0x13 // sega master system rom
};
Run mode 6 DOESN'T have save ram, so you would not set 6 for sram on. I guess it would be 2 or 3.
Which brings me to my other thought, I think the table still isn't quite right. I think there was a typo in a comment the HW dude made that has thrown everyone off - he put 32X when he meant 32M. Look at the run modes if you assume a typo was made:
1 = 16 Mbit + save ram
2 = 24 Mbit + save ram (the HW comments say 24 Mbit, not 32!)
3 = 32 Mbit + save ram (this is where the "typo" says 32X when it should be 32M)
4 = 40 Mbit
5 = 32 Mbit + eeprom
6 = 32 Mbit
There's no reason for a special "32X" mode as the 32X roms are no different from MD roms. But 32M makes sense given the previous modes are for smaller sizes.
I think I need to do some experimenting on the menu to see if this really bears out.