--- xmil/io/fdc.h 2004/08/10 08:28:49 1.4 +++ xmil/io/fdc.h 2004/08/18 08:08:13 1.11 @@ -1,14 +1,24 @@ +// #define SUPPORT_MOTORRISEUP + enum { FDCDIR_NONE = 0x00, FDCDIR_IN = 0x01, - FDCDIR_OUT = 0x02 + FDCDIR_OUT = 0x02, + FDCDIR_TAO = 0x03 }; enum { FDC_BUFFERS = 0x3000 }; +enum { + FDCMOTOR_STOP = 0, + FDCMOTOR_STARTING = 1, + FDCMOTOR_READY = 2, + FDCMOTOR_STOPING = 3 +}; + typedef struct { UINT8 cmd; UINT8 type; @@ -39,11 +49,18 @@ typedef struct { UINT bufsize; UINT bufpos; + UINT8 busy; UINT8 hole; - UINT8 padding[3]; + UINT8 curtime; + UINT8 equip; UINT crcnum; - UINT32 busyclock; - UINT32 busystart; + + SINT32 loopclock; + +#if defined(SUPPORT_MOTORRISEUP) + UINT8 motorevent[4]; + SINT32 motorclock[4]; +#endif UINT8 buffer[FDC_BUFFERS]; } FDCSTAT; @@ -61,7 +78,12 @@ typedef struct { extern "C" { #endif -REG8 fdcisbusy(void); +void neitem_fdcbusy(UINT id); +#if defined(SUPPORT_MOTORRISEUP) +void fdc_callback(void); +#else +#define fdc_callback() +#endif void IOOUTCALL fdc_o(UINT port, REG8 value); // x1_fdc_w REG8 IOINPCALL fdc_i(UINT port); // x1_fdc_r