There are also a couple of changes in mame files which are local to the mess tree. The number of changes is low and should eventually be cleaned up such that the differences are only in the mess files. One of these things is the 8042 keyboard controller code. These are usually not the cause of builds breaking though.

The bigger mame changes do tend to break building of mess but these issues usually get resolved by the time the regular uX update gets applied or reasonably quickly after the update is applied. From past experience, I'd say about 1 out of 3 uX updates break a straight mess build. So I can imagine Haze being unlucky with the updates of his source tree. Also there the situation is improving with cleaner code in mess and more shared devs between the two teams.

Anyway, back to genesis/megadrive: There are no obvious changes to the code, the reset handling all looks ok, so I don't have an idea what is wrong.

In Zero Wing I see the 68k switching off the z80, copying a bit of z80 code, turning the z80 on. When the 68k starts copying some more z80 code it seems the z80 _is_ running, but looking at the writes to the z80 reset register it should be running. Perhaps a bug in the original code which just happens to work on real systems?