--- np2/cbus/ideio.h 2005/03/05 11:58:02 1.7 +++ np2/cbus/ideio.h 2007/11/03 00:00:19 1.11 @@ -5,9 +5,14 @@ #define IDEIO_MEDIA_EJECTABLE (1 << 7) #define IDEIO_MEDIA_PREVENT (1 << 6) #define IDEIO_MEDIA_PERSIST (1 << 5) +// (1 << 4) +#define IDEIO_MEDIA_AUDIO (1 << 3) +#define IDEIO_MEDIA_DATA (1 << 2) #define IDEIO_MEDIA_CHANGED (1 << 1) #define IDEIO_MEDIA_LOADED (1 << 0) +#define IDEIO_MEDIA_COMBINE (IDEIO_MEDIA_DATA|IDEIO_MEDIA_AUDIO) + typedef struct { UINT8 sxsidrv; @@ -48,6 +53,13 @@ typedef struct { UINT bufpos; UINT bufsize; UINT8 buf[IDEIO_BUFSIZE_MAX]; + + // audio + UINT daflag; + UINT32 dacurpos; + UINT32 dalength; + UINT dabufrem; + UINT8 dabuf[2352]; } _IDEDRV, *IDEDRV; typedef struct { @@ -57,7 +69,8 @@ typedef struct { typedef struct { UINT8 bank[2]; - UINT8 padding[2]; + UINT8 daplaying; + UINT8 padding; _IDEDEV dev[2]; } IDEIO; @@ -160,7 +173,7 @@ extern IDEIO ideio; void IOOUTCALL ideio_w16(UINT port, REG16 value); REG16 IOINPCALL ideio_r16(UINT port); -void ideio_reset(void); +void ideio_reset(const NP2CFG *pConfig); void ideio_bind(void); void ideio_notify(REG8 sxsidrv, UINT action);