I remember your reasons, so I won't try to make you change idea. however, I wanted to add that, since last time you looked at it, I re-factored a bit the source and now MESS code is much closer to hazeMD.

MESS only defines the memory map and input handlers [1] in mess/drivers/genesis.c and then uses mame/drivers/megadriv.c for everything else. mess/machine/genesis.c only contains local code for cart loading and sram handling (which basically do not affect any other aspect of the main emulation).

therefore, if you ever get back to megadrive in MAME, MESS can inherit any change with no additional efforts!

[1] this is needed to offer options between 3-buttons pad and 6-buttons pad