| version 1.3, 2004/08/09 04:47:53 | version 1.12, 2005/02/04 06:42:11 | 
| Line 1 | Line 1 | 
 |  |  | 
| typedef struct { | // #define      SUPPORT_MOTORRISEUP | 
| UINT8   media; |  | 
| UINT8   padding[3]; |  | 
|  |  | 
| UINT    bufpos; |  | 
| UINT    bufsize; |  | 
 |  |  | 
| UINT8   buffer[8]; | enum { | 
| } FDCSTAT; | FDCDIR_NONE                     = 0x00, | 
|  | FDCDIR_TAO                      = 0x01, | 
|  | FDCDIR_IN                       = 0x02, | 
|  | FDCDIR_OUT                      = 0x03, | 
|  | }; | 
|  |  | 
|  | enum { | 
|  | FDCMOTOR_STOP           = 0, | 
|  | FDCMOTOR_STARTING       = 1, | 
|  | FDCMOTOR_READY          = 2, | 
|  | FDCMOTOR_STOPING        = 3 | 
|  | }; | 
 |  |  | 
 | typedef struct { | typedef struct { | 
 | UINT    dummy; |  | 
 | } FDCEXT; |  | 
 |  |  | 
 | typedef struct { |  | 
 | UINT8   drv; |  | 
 | UINT8   cmd; | UINT8   cmd; | 
| short   skip; | UINT8   ctype; | 
| short   off; |  | 
| UINT8   type; |  | 
| UINT8   treg; |  | 
| UINT8   sct_bak; |  | 
 | UINT8   data; | UINT8   data; | 
 | SINT8   step; | SINT8   step; | 
 |  | UINT8   drv; | 
 | UINT8   motor; | UINT8   motor; | 
 |  | UINT8   creg; | 
 |  | UINT8   rreg; | 
 |  |  | 
 | UINT8   c; | UINT8   c; | 
 | UINT8   h; | UINT8   h; | 
 | UINT8   r; | UINT8   r; | 
 | UINT8   n; | UINT8   n; | 
 |  |  | 
| UINT32  busyclock; | UINT8   ctbl[4]; | 
| UINT32  busystart; |  | 
| BYTE    rreg; | UINT8   media; | 
| FDCSTAT s; | UINT8   stat; | 
|  |  | 
|  | UINT8   bufmedia; | 
|  | UINT8   bufunit; | 
|  | UINT    buftrack; | 
|  | UINT8   bufsc; | 
|  | UINT8   bufdir; | 
|  | UINT8   bufwrite; | 
|  | UINT8   bufmark; | 
|  | UINT    bufsize; | 
|  | UINT    bufpos; | 
|  |  | 
|  | UINT8   busy; | 
|  | UINT8   hole; | 
|  | UINT8   curtime; | 
|  | UINT8   equip; | 
|  | UINT    crcnum; | 
|  |  | 
|  | SINT32  loopclock; | 
|  |  | 
|  | #if defined(SUPPORT_MOTORRISEUP) | 
|  | UINT8   motorevent[4]; | 
|  | SINT32  motorclock[4]; | 
|  | #endif | 
 |  |  | 
| //      BYTE    media; | #if !defined(CONST_DISKIMAGE) | 
| //      short   crc_off; | UINT8   wt_mode; | 
| //      UINT8   crc_dat[8]; | 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; | 
|  |  | 
|  | #if defined(CONST_DISKIMAGE) | 
|  | typedef struct { | 
|  | UINT8   *buffer; | 
|  | } FDCEXT; | 
|  | #endif | 
|  |  | 
|  | typedef struct { | 
|  | FDCSTAT s; | 
|  | #if defined(CONST_DISKIMAGE) | 
|  | FDCEXT  e; | 
|  | #endif | 
 | } FDC; | } FDC; | 
 |  |  | 
 |  |  | 
| Line 45  typedef struct { | Line 90  typedef struct { | 
 | extern "C" { | extern "C" { | 
 | #endif | #endif | 
 |  |  | 
| extern  UINT8   fdcdummyread; | 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);            // x1_fdc_w | 
 | REG8 IOINPCALL fdc_i(UINT port);                                        // x1_fdc_r | REG8 IOINPCALL fdc_i(UINT port);                                        // x1_fdc_r |