--- np2/io/fdc.h 2003/10/16 17:57:51 1.1.1.1 +++ np2/io/fdc.h 2005/02/07 14:46:11 1.8 @@ -52,7 +52,10 @@ enum { FDCRLT_DD = 0x200000, FDCRLT_CM = 0x400000, - FDCRLT_EXT = 0x80000000, + FDCRLT_NT = 0x80000000, + FDCRLT_AT = 0x00000040, + FDCRLT_IC = 0x00000080, + FDCRLT_AI = 0x000000c0, FDCSTAT_CB = 0x10, FDCSTAT_NDM = 0x20, @@ -61,20 +64,31 @@ enum { }; typedef struct { - BYTE us, hd; - BYTE mt, mf, sk; - BYTE eot, gpl, dtl; - BYTE C, H, R, N; - BYTE srt, hut, hlt, nd; - BYTE stp, ncn, sc, d; - - BYTE status; - BYTE intreq; - BYTE lastdata; - BYTE tc; + UINT8 equip; + UINT8 support144; + UINT8 ctrlfd; + UINT8 padding; + + UINT8 us, hd; + UINT8 mt, mf, sk; + UINT8 eot, gpl, dtl; + UINT8 C, H, R, N; + UINT8 srt, hut, hlt, nd; + UINT8 stp, ncn, sc, d; + + UINT8 status; + UINT8 intreq; + UINT8 lastdata; + UINT8 tc; + + UINT8 crcn; + UINT8 ctrlreg; + UINT8 chgreg; + UINT8 reg144; UINT32 stat[4]; - BYTE treg[4]; + UINT8 treg[4]; + UINT8 rpm[4]; int event; int cmdp; @@ -84,19 +98,11 @@ typedef struct { int bufp; int bufcnt; - BYTE cmd; - BYTE cmds[15]; - BYTE data[16]; - BYTE buf[0x8000]; + UINT8 cmd; + UINT8 cmds[15]; + UINT8 data[16]; - BYTE ctrlfd; - BYTE crcn; - - BYTE ctrlreg; - BYTE busy; - - BYTE chgreg; - BYTE rpm; // 1.44 + UINT8 buf[0x8000]; } _FDC, *FDC; @@ -106,18 +112,19 @@ extern "C" { #define CTRL_FDMEDIA fdc.ctrlfd -void fdc_reset(void); -void fdc_bind(void); +void fdc_intwait(NEVENTITEM item); + void fdc_interrupt(void); -void DMACCALL fdc_DataRegWrite(BYTE data); -BYTE DMACCALL fdc_DataRegRead(void); -BYTE DMACCALL fdc_dmafunc(BYTE func); +void DMACCALL fdc_datawrite(REG8 data); +REG8 DMACCALL fdc_dataread(void); +REG8 DMACCALL fdc_dmafunc(REG8 func); void fdcsend_error7(void); void fdcsend_success7(void); -void fdcbusy_error7(NEVENTITEM item); +void fdc_reset(void); +void fdc_bind(void); #ifdef __cplusplus }