|
|
| version 1.5, 2004/08/11 12:08:16 | version 1.14, 2008/06/02 20:07:31 |
|---|---|
| Line 1 | Line 1 |
| /* #define SUPPORT_MOTORRISEUP */ | |
| enum { | enum { |
| FDCDIR_NONE = 0x00, | FDCDIR_NONE = 0x00, |
| FDCDIR_IN = 0x01, | FDCDIR_TAO = 0x01, |
| FDCDIR_OUT = 0x02 | FDCDIR_IN = 0x02, |
| FDCDIR_OUT = 0x03 | |
| }; | }; |
| enum { | enum { |
| FDC_BUFFERS = 0x3000 | FDCMOTOR_STOP = 0, |
| FDCMOTOR_STARTING = 1, | |
| FDCMOTOR_READY = 2, | |
| FDCMOTOR_STOPING = 3 | |
| }; | }; |
| typedef struct { | typedef struct { |
| UINT8 cmd; | UINT8 cmd; |
| UINT8 type; | UINT8 ctype; |
| UINT8 data; | UINT8 data; |
| SINT8 step; | SINT8 step; |
| UINT8 drv; | UINT8 drv; |
| Line 41 typedef struct { | Line 47 typedef struct { |
| UINT8 busy; | UINT8 busy; |
| UINT8 hole; | UINT8 hole; |
| UINT8 padding[2]; | UINT8 curtime; |
| UINT8 equip; | |
| UINT crcnum; | UINT crcnum; |
| UINT8 buffer[FDC_BUFFERS]; | SINT32 loopclock; |
| #if defined(SUPPORT_MOTORRISEUP) | |
| UINT8 motorevent[4]; | |
| SINT32 motorclock[4]; | |
| #endif | |
| #if !defined(CONST_DISKIMAGE) | |
| UINT8 wt_mode; | |
| UINT8 wt_sectors; | |
| UINT8 wt_padding[2]; | |
| UINT wt_ptr; | |
| UINT wt_datpos; | |
| UINT wt_datsize; | |
| UINT8 buffer[0x3000]; | |
| #else | |
| UINT8 crcbuf[6]; | |
| #endif | |
| } FDCSTAT; | } FDCSTAT; |
| #if defined(CONST_DISKIMAGE) | |
| typedef struct { | typedef struct { |
| UINT dummy; | UINT8 *buffer; |
| } FDCEXT; | } FDCEXT; |
| #endif | |
| typedef struct { | typedef struct { |
| FDCSTAT s; | FDCSTAT s; |
| #if defined(CONST_DISKIMAGE) | |
| FDCEXT e; | |
| #endif | |
| } FDC; | } FDC; |
| Line 60 typedef struct { | Line 90 typedef struct { |
| extern "C" { | extern "C" { |
| #endif | #endif |
| void nvitem_fdcbusy(UINT id); | 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 | void IOOUTCALL fdc_o(UINT port, REG8 value); |
| REG8 IOINPCALL fdc_i(UINT port); // x1_fdc_r | REG8 IOINPCALL fdc_i(UINT port); |
| void fdc_reset(void); | void fdc_reset(void); |