--- xmil/fdd/fddfile.h 2004/08/10 08:28:48 1.4 +++ xmil/fdd/fddfile.h 2004/08/15 14:56:15 1.7 @@ -1,4 +1,7 @@ +#define SUPPORT_DISKEXT + + #include "d88head.h" enum { @@ -44,6 +47,17 @@ typedef REG8 (*FDDWRITE)(FDDFILE fdd, RE const UINT8 *ptr, UINT size); typedef REG8 (*FDDCRC)(FDDFILE fdd, REG8 media, UINT track, UINT num, UINT8 *ptr); +#if defined(SUPPORT_DISKEXT) +typedef UINT32 (*FDDSEC)(FDDFILE fdd, REG8 media, UINT track, REG8 sc); +#endif + +typedef struct { + UINT32 headersize; + UINT8 tracks; + UINT8 sectors; + UINT8 n; + UINT8 media; +} _XDFINFO, *XDFINFO; typedef struct { UINT32 fd_size; @@ -55,14 +69,19 @@ struct _fddfile { UINT8 type; UINT8 protect; UINT8 padding[2]; + UINT32 ftype; FDDSEEK seek; FDDREAD read; FDDWRITE write; FDDCRC crc; +#if defined(SUPPORT_DISKEXT) + FDDSEC sec; +#endif union { + _XDFINFO xdf; _D88INFO d88; } inf; - OEMCHAR fname[MAX_PATH]; + OEMCHAR fname[MAX_PATH]; };