The MSM58321 emulation gives the active-low busy output a 50% duty cycle, which is incredibly inaccurate as its actual duty cycle is about .0427%. I'm fixing that now.
Thanks for looking into it, but I think that made it even worse, haha. You can easily see it by running "mame fmtowns tss1110", the mouse is even more uncontrollable now.
I'm not really too knowledgeable about this stuff so feel free to call me an idiot, but if the "busy" state is 0 to the RTC... isn't this (in mame/drivers/fmtowns.cpp) actually interpreting it the opposite way? (bit 7 in port 0x70 is supposed to be 1 when the RTC is *not* busy)
m_rtc_busy = state == ASSERT_LINE ? true : false;
return (m_rtc_busy ? 0 : 0x80) | m_rtc_d;