Description
As far as I've been able to figure out, the floppy_info ready field is a simple bool indicating true when the drive is ready. There are many cases in this driver where the value of get_ready() is tested, with a false creating an error or status to indicating the drive is not ready.
Similarly, the floppy.cpp ready_r() method returns a simple true/false indicating that the drive is ready or not ready. The actual input line on the upd765 is active high, so I think that rules out chip-based factors (and the fact that all the relevant values/functions are typed as bool does too).
This problem is masked in the later chips which have drive polling disabled by default, but the symptom in my case was a lack of interrupts (caused by drive ready state change) after a reset. Removing this inversion has fixed a number of symptoms I experienced.
Can someone who knows this device better than me comment?
mame/src/devices/machine/upd765.cpp
Lines 263 to 268 in 590c992