@Chris
Yup.
The weird thing is that the motor command seems to work just fine.
Error -3, by the way, is "Command not supported by device", so I'm suspecting that CrossDOS is actually sending a Motor On command which is working, and then another command which my device doesn't support. What I don't understand though is why it's not coming out in my debug output.
My BeginIO is:
LONG libBeginIO(struct DeviceManagerInterface *self, struct IORequest *ioreq)
{
struct cw_driver *driver = (struct cw_driver *) self -> Data.LibBase;
struct IOExtTD *diskreq = (struct IOExtTD *) ioreq ;
struct cwDevUnit *unit;
int error;
write_txt( driver->debug_port, "Received IORequest" );
if (unit = (struct cwDevUnit *) ioreq -> io_Unit)
{
/* Stuff gets done here */
}
write_txt( driver->debug_port, "Done request.\n" );
return 0;
}
so any unsupported commands should still come up as a request. I have a debug output also saying "unsupported command" when that happens. But I'm getting nothing at all to suggest that another TD command is coming through.... except this -3 error which
sometimes happens.
Gargh!