Try a machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(10)); on the strobe/latch write without the synchronize(). That's a fairly common pattern in MAME to let other CPUs catch up for a certain amount of time after something happens that should synchronize them.