summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/sound/es5506.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/sound/es5506.c')
-rw-r--r--src/emu/sound/es5506.c295
1 files changed, 93 insertions, 202 deletions
diff --git a/src/emu/sound/es5506.c b/src/emu/sound/es5506.c
index 7b98a846c0a..557ea92df6d 100644
--- a/src/emu/sound/es5506.c
+++ b/src/emu/sound/es5506.c
@@ -66,7 +66,8 @@
***********************************************************************************************/
/* struct describing a single playing voice */
-struct ES5506Voice
+typedef struct _es5506_voice es5506_voice;
+struct _es5506_voice
{
/* external state */
UINT32 control; /* control register */
@@ -97,7 +98,8 @@ struct ES5506Voice
UINT32 accum_mask;
};
-struct ES5506Chip
+typedef struct _es5506_state es5506_state;
+struct _es5506_state
{
sound_stream *stream; /* which stream are we using */
int sample_rate; /* current sample rate */
@@ -105,7 +107,7 @@ struct ES5506Chip
UINT32 write_latch; /* currently accumulated data for write */
UINT32 read_latch; /* currently accumulated data for read */
UINT32 master_clock; /* master clock frequency */
- void (*irq_callback)(running_machine *, int); /* IRQ callback */
+ void (*irq_callback)(const device_config *, int); /* IRQ callback */
UINT16 (*port_read)(void); /* input port read */
UINT8 current_page; /* current register page */
@@ -116,7 +118,7 @@ struct ES5506Chip
UINT8 lrend; /* LR_END register */
UINT8 irqv; /* IRQV register */
- struct ES5506Voice voice[32]; /* the 32 voices */
+ es5506_voice voice[32]; /* the 32 voices */
INT32 * scratch;
@@ -130,6 +132,16 @@ struct ES5506Chip
};
+INLINE es5506_state *get_safe_token(const device_config *device)
+{
+ assert(device != NULL);
+ assert(device->token != NULL);
+ assert(device->type == SOUND);
+ assert(sound_get_type(device) == SOUND_ES5505 || sound_get_type(device) == SOUND_ES5506);
+ return (es5506_state *)device->token;
+}
+
+
/**********************************************************************************************
@@ -147,14 +159,14 @@ static FILE *eslog;
***********************************************************************************************/
-static void update_irq_state(struct ES5506Chip *chip)
+static void update_irq_state(es5506_state *chip)
{
/* ES5505/6 irq line has been set high - inform the host */
if (chip->irq_callback)
- (*chip->irq_callback)(chip->device->machine, 1); /* IRQB set high */
+ (*chip->irq_callback)(chip->device, 1); /* IRQB set high */
}
-static void update_internal_irq_state(struct ES5506Chip *chip)
+static void update_internal_irq_state(es5506_state *chip)
{
/* Host (cpu) has just read the voice interrupt vector (voice IRQ ack).
@@ -168,7 +180,7 @@ static void update_internal_irq_state(struct ES5506Chip *chip)
chip->irqv=0x80;
if (chip->irq_callback)
- (*chip->irq_callback)(chip->device->machine, 0); /* IRQB set low */
+ (*chip->irq_callback)(chip->device, 0); /* IRQB set low */
}
/**********************************************************************************************
@@ -177,7 +189,7 @@ static void update_internal_irq_state(struct ES5506Chip *chip)
***********************************************************************************************/
-static void compute_tables(struct ES5506Chip *chip)
+static void compute_tables(es5506_state *chip)
{
int i;
@@ -441,7 +453,7 @@ do \
***********************************************************************************************/
-static void generate_dummy(struct ES5506Chip *chip, struct ES5506Voice *voice, UINT16 *base, INT32 *lbuffer, INT32 *rbuffer, int samples)
+static void generate_dummy(es5506_state *chip, es5506_voice *voice, UINT16 *base, INT32 *lbuffer, INT32 *rbuffer, int samples)
{
UINT32 freqcount = voice->freqcount;
UINT32 accum = voice->accum & voice->accum_mask;
@@ -502,7 +514,7 @@ alldone:
***********************************************************************************************/
-static void generate_ulaw(struct ES5506Chip *chip, struct ES5506Voice *voice, UINT16 *base, INT32 *lbuffer, INT32 *rbuffer, int samples)
+static void generate_ulaw(es5506_state *chip, es5506_voice *voice, UINT16 *base, INT32 *lbuffer, INT32 *rbuffer, int samples)
{
UINT32 freqcount = voice->freqcount;
UINT32 accum = voice->accum & voice->accum_mask;
@@ -608,7 +620,7 @@ alldone:
***********************************************************************************************/
-static void generate_pcm(struct ES5506Chip *chip, struct ES5506Voice *voice, UINT16 *base, INT32 *lbuffer, INT32 *rbuffer, int samples)
+static void generate_pcm(es5506_state *chip, es5506_voice *voice, UINT16 *base, INT32 *lbuffer, INT32 *rbuffer, int samples)
{
UINT32 freqcount = voice->freqcount;
UINT32 accum = voice->accum & voice->accum_mask;
@@ -706,7 +718,7 @@ alldone:
***********************************************************************************************/
-static void generate_samples(struct ES5506Chip *chip, INT32 *left, INT32 *right, int samples)
+static void generate_samples(es5506_state *chip, INT32 *left, INT32 *right, int samples)
{
int v;
@@ -721,7 +733,7 @@ static void generate_samples(struct ES5506Chip *chip, INT32 *left, INT32 *right,
/* loop over voices */
for (v = 0; v <= chip->active_voices; v++)
{
- struct ES5506Voice *voice = &chip->voice[v];
+ es5506_voice *voice = &chip->voice[v];
UINT16 *base = chip->region_base[voice->control >> 14];
/* special case: if end == start, stop the voice */
@@ -769,7 +781,7 @@ logerror("IRQ raised on voice %d!!\n",v);
static STREAM_UPDATE( es5506_update )
{
- struct ES5506Chip *chip = param;
+ es5506_state *chip = param;
INT32 *lsrc = chip->scratch, *rsrc = chip->scratch;
stream_sample_t *ldest = outputs[0];
stream_sample_t *rdest = outputs[1];
@@ -815,14 +827,14 @@ static STREAM_UPDATE( es5506_update )
/**********************************************************************************************
- SND_START( es5506 ) -- start emulation of the ES5506
+ DEVICE_START( es5506 ) -- start emulation of the ES5506
***********************************************************************************************/
-static void es5506_start_common(const device_config *device, int clock, const void *config, sound_type sndtype)
+static void es5506_start_common(const device_config *device, const void *config, sound_type sndtype)
{
const es5506_interface *intf = config;
- struct ES5506Chip *chip = device->token;
+ es5506_state *chip = get_safe_token(device);
int j;
UINT32 accum_mask;
@@ -834,7 +846,7 @@ static void es5506_start_common(const device_config *device, int clock, const vo
compute_tables(chip);
/* create the stream */
- chip->stream = stream_create(device, 0, 2, clock / (16*32), chip, es5506_update);
+ chip->stream = stream_create(device, 0, 2, device->clock / (16*32), chip, es5506_update);
/* initialize the regions */
chip->region_base[0] = intf->region0 ? (UINT16 *)memory_region(device->machine, intf->region0) : NULL;
@@ -844,7 +856,7 @@ static void es5506_start_common(const device_config *device, int clock, const vo
/* initialize the rest of the structure */
chip->device = device;
- chip->master_clock = clock;
+ chip->master_clock = device->clock;
chip->irq_callback = intf->irq_callback;
chip->irqv = 0x80;
@@ -867,20 +879,20 @@ static void es5506_start_common(const device_config *device, int clock, const vo
}
-static SND_START( es5506 )
+static DEVICE_START( es5506 )
{
- es5506_start_common(device, clock, device->static_config, SOUND_ES5506);
+ es5506_start_common(device, device->static_config, SOUND_ES5506);
}
/**********************************************************************************************
- SND_STOP( es5506 ) -- stop emulation of the ES5506
+ DEVICE_STOP( es5506 ) -- stop emulation of the ES5506
***********************************************************************************************/
-static SND_STOP( es5506 )
+static DEVICE_STOP( es5506 )
{
/* debugging */
if (LOG_COMMANDS && eslog)
@@ -903,7 +915,7 @@ static SND_STOP( es5506 )
}
-static SND_RESET( es5506 )
+static DEVICE_RESET( es5506 )
{
}
@@ -915,7 +927,7 @@ static SND_RESET( es5506 )
***********************************************************************************************/
-INLINE void es5506_reg_write_low(struct ES5506Chip *chip, struct ES5506Voice *voice, offs_t offset, UINT32 data)
+INLINE void es5506_reg_write_low(es5506_state *chip, es5506_voice *voice, offs_t offset, UINT32 data)
{
switch (offset)
{
@@ -1012,7 +1024,7 @@ INLINE void es5506_reg_write_low(struct ES5506Chip *chip, struct ES5506Voice *vo
}
-INLINE void es5506_reg_write_high(struct ES5506Chip *chip, struct ES5506Voice *voice, offs_t offset, UINT32 data)
+INLINE void es5506_reg_write_high(es5506_state *chip, es5506_voice *voice, offs_t offset, UINT32 data)
{
switch (offset)
{
@@ -1098,7 +1110,7 @@ INLINE void es5506_reg_write_high(struct ES5506Chip *chip, struct ES5506Voice *v
}
}
-INLINE void es5506_reg_write_test(struct ES5506Chip *chip, struct ES5506Voice *voice, offs_t offset, UINT32 data)
+INLINE void es5506_reg_write_test(es5506_state *chip, es5506_voice *voice, offs_t offset, UINT32 data)
{
switch (offset)
{
@@ -1177,9 +1189,10 @@ INLINE void es5506_reg_write_test(struct ES5506Chip *chip, struct ES5506Voice *v
}
}
-static void es5506_reg_write(struct ES5506Chip *chip, offs_t offset, UINT8 data)
+WRITE8_DEVICE_HANDLER( es5506_w )
{
- struct ES5506Voice *voice = &chip->voice[chip->current_page & 0x1f];
+ es5506_state *chip = get_safe_token(device);
+ es5506_voice *voice = &chip->voice[chip->current_page & 0x1f];
int shift = 8 * (offset & 3);
/* accumulate the data */
@@ -1212,7 +1225,7 @@ static void es5506_reg_write(struct ES5506Chip *chip, offs_t offset, UINT8 data)
***********************************************************************************************/
-INLINE UINT32 es5506_reg_read_low(struct ES5506Chip *chip, struct ES5506Voice *voice, offs_t offset)
+INLINE UINT32 es5506_reg_read_low(es5506_state *chip, es5506_voice *voice, offs_t offset)
{
UINT32 result = 0;
@@ -1288,7 +1301,7 @@ INLINE UINT32 es5506_reg_read_low(struct ES5506Chip *chip, struct ES5506Voice *v
}
-INLINE UINT32 es5506_reg_read_high(struct ES5506Chip *chip, struct ES5506Voice *voice, offs_t offset)
+INLINE UINT32 es5506_reg_read_high(es5506_state *chip, es5506_voice *voice, offs_t offset)
{
UINT32 result = 0;
@@ -1363,7 +1376,7 @@ INLINE UINT32 es5506_reg_read_high(struct ES5506Chip *chip, struct ES5506Voice *
return result;
}
-INLINE UINT32 es5506_reg_read_test(struct ES5506Chip *chip, struct ES5506Voice *voice, offs_t offset)
+INLINE UINT32 es5506_reg_read_test(es5506_state *chip, es5506_voice *voice, offs_t offset)
{
UINT32 result = 0;
@@ -1385,9 +1398,10 @@ INLINE UINT32 es5506_reg_read_test(struct ES5506Chip *chip, struct ES5506Voice *
return result;
}
-static UINT8 es5506_reg_read(struct ES5506Chip *chip, offs_t offset)
+READ8_DEVICE_HANDLER( es5506_r )
{
- struct ES5506Voice *voice = &chip->voice[chip->current_page & 0x1f];
+ es5506_state *chip = get_safe_token(device);
+ es5506_voice *voice = &chip->voice[chip->current_page & 0x1f];
int shift = 8 * (offset & 3);
/* only read on offset 0 */
@@ -1417,84 +1431,20 @@ static UINT8 es5506_reg_read(struct ES5506Chip *chip, offs_t offset)
-/**********************************************************************************************
-
- es5506_data_0_r/es5506_data_1_r -- handle a read from the status register
-
-**********************************************************************************************/
-
-READ8_HANDLER( es5506_data_0_r )
-{
- return es5506_reg_read(sndti_token(SOUND_ES5506, 0), offset);
-}
-
-READ8_HANDLER( es5506_data_1_r )
-{
- return es5506_reg_read(sndti_token(SOUND_ES5506, 1), offset);
-}
-
-READ16_HANDLER( es5506_data_0_word_r )
-{
- return es5506_reg_read(sndti_token(SOUND_ES5506, 0), offset);
-}
-
-READ16_HANDLER( es5506_data_1_word_r )
-{
- return es5506_reg_read(sndti_token(SOUND_ES5506, 1), offset);
-}
-
-
-
-/**********************************************************************************************
-
- es5506_data_0_w/es5506_data_1_w -- handle a write to the current register
-
-***********************************************************************************************/
-
-WRITE8_HANDLER( es5506_data_0_w )
-{
- es5506_reg_write(sndti_token(SOUND_ES5506, 0), offset, data);
-}
-
-WRITE8_HANDLER( es5506_data_1_w )
-{
- es5506_reg_write(sndti_token(SOUND_ES5506, 1), offset, data);
-}
-
-WRITE16_HANDLER( es5506_data_0_word_w )
-{
- if (ACCESSING_BITS_0_7)
- es5506_reg_write(sndti_token(SOUND_ES5506, 0), offset, data);
-}
-
-WRITE16_HANDLER( es5506_data_1_word_w )
-{
- if (ACCESSING_BITS_0_7)
- es5506_reg_write(sndti_token(SOUND_ES5506, 1), offset, data);
-}
-
-
-
-void es5506_voice_bank_0_w(int voice, int bank)
-{
- struct ES5506Chip *chip = sndti_token(SOUND_ES5506, 0);
- chip->voice[voice].exbank=bank;
-}
-
-void es5506_voice_bank_1_w(int voice, int bank)
+void es5506_voice_bank_w(const device_config *device, int voice, int bank)
{
- struct ES5506Chip *chip = sndti_token(SOUND_ES5506, 1);
+ es5506_state *chip = get_safe_token(device);
chip->voice[voice].exbank=bank;
}
/**********************************************************************************************
- SND_START( es5505 ) -- start emulation of the ES5505
+ DEVICE_START( es5505 ) -- start emulation of the ES5505
***********************************************************************************************/
-static SND_START( es5505 )
+static DEVICE_START( es5505 )
{
const es5505_interface *intf = device->static_config;
es5506_interface es5506intf;
@@ -1506,26 +1456,26 @@ static SND_START( es5505 )
es5506intf.irq_callback = intf->irq_callback;
es5506intf.read_port = intf->read_port;
- es5506_start_common(device, clock, &es5506intf, SOUND_ES5505);
+ es5506_start_common(device, &es5506intf, SOUND_ES5505);
}
/**********************************************************************************************
- SND_STOP( es5505 ) -- stop emulation of the ES5505
+ DEVICE_STOP( es5505 ) -- stop emulation of the ES5505
***********************************************************************************************/
-static SND_STOP( es5505 )
+static DEVICE_STOP( es5505 )
{
- SND_STOP_CALL( es5506 );
+ DEVICE_STOP_CALL( es5506 );
}
-static SND_RESET( es5505 )
+static DEVICE_RESET( es5505 )
{
- SND_RESET_CALL( es5506 );
+ DEVICE_RESET_CALL( es5506 );
}
@@ -1536,7 +1486,7 @@ static SND_RESET( es5505 )
***********************************************************************************************/
-INLINE void es5505_reg_write_low(struct ES5506Chip *chip, struct ES5506Voice *voice, offs_t offset, UINT16 data, UINT16 mem_mask)
+INLINE void es5505_reg_write_low(es5506_state *chip, es5506_voice *voice, offs_t offset, UINT16 data, UINT16 mem_mask)
{
running_machine *machine = chip->device->machine;
@@ -1691,7 +1641,7 @@ INLINE void es5505_reg_write_low(struct ES5506Chip *chip, struct ES5506Voice *vo
}
-INLINE void es5505_reg_write_high(struct ES5506Chip *chip, struct ES5506Voice *voice, offs_t offset, UINT16 data, UINT16 mem_mask)
+INLINE void es5505_reg_write_high(es5506_state *chip, es5506_voice *voice, offs_t offset, UINT16 data, UINT16 mem_mask)
{
running_machine *machine = chip->device->machine;
@@ -1799,7 +1749,7 @@ INLINE void es5505_reg_write_high(struct ES5506Chip *chip, struct ES5506Voice *v
}
-INLINE void es5505_reg_write_test(struct ES5506Chip *chip, struct ES5506Voice *voice, offs_t offset, UINT16 data, UINT16 mem_mask)
+INLINE void es5505_reg_write_test(es5506_state *chip, es5506_voice *voice, offs_t offset, UINT16 data, UINT16 mem_mask)
{
switch (offset)
{
@@ -1843,9 +1793,10 @@ INLINE void es5505_reg_write_test(struct ES5506Chip *chip, struct ES5506Voice *v
}
-static void es5505_reg_write(struct ES5506Chip *chip, offs_t offset, UINT16 data, UINT16 mem_mask)
+WRITE16_DEVICE_HANDLER( es5505_w )
{
- struct ES5506Voice *voice = &chip->voice[chip->current_page & 0x1f];
+ es5506_state *chip = get_safe_token(device);
+ es5506_voice *voice = &chip->voice[chip->current_page & 0x1f];
// logerror("%s:ES5505 write %02x/%02x = %04x & %04x\n", cpuexec_describe_context(machine), chip->current_page, offset, data, mem_mask);
@@ -1869,7 +1820,7 @@ static void es5505_reg_write(struct ES5506Chip *chip, offs_t offset, UINT16 data
***********************************************************************************************/
-INLINE UINT16 es5505_reg_read_low(struct ES5506Chip *chip, struct ES5506Voice *voice, offs_t offset)
+INLINE UINT16 es5505_reg_read_low(es5506_state *chip, es5506_voice *voice, offs_t offset)
{
UINT16 result = 0;
@@ -1947,7 +1898,7 @@ INLINE UINT16 es5505_reg_read_low(struct ES5506Chip *chip, struct ES5506Voice *v
}
-INLINE UINT16 es5505_reg_read_high(struct ES5506Chip *chip, struct ES5506Voice *voice, offs_t offset)
+INLINE UINT16 es5505_reg_read_high(es5506_state *chip, es5506_voice *voice, offs_t offset)
{
UINT16 result = 0;
@@ -2020,7 +1971,7 @@ INLINE UINT16 es5505_reg_read_high(struct ES5506Chip *chip, struct ES5506Voice *
}
-INLINE UINT16 es5505_reg_read_test(struct ES5506Chip *chip, struct ES5506Voice *voice, offs_t offset)
+INLINE UINT16 es5505_reg_read_test(es5506_state *chip, es5506_voice *voice, offs_t offset)
{
UINT16 result = 0;
@@ -2053,9 +2004,10 @@ INLINE UINT16 es5505_reg_read_test(struct ES5506Chip *chip, struct ES5506Voice *
}
-static UINT16 es5505_reg_read(struct ES5506Chip *chip, offs_t offset)
+READ16_DEVICE_HANDLER( es5505_r )
{
- struct ES5506Voice *voice = &chip->voice[chip->current_page & 0x1f];
+ es5506_state *chip = get_safe_token(device);
+ es5506_voice *voice = &chip->voice[chip->current_page & 0x1f];
UINT16 result = 0;
if (LOG_COMMANDS && eslog)
@@ -2081,50 +2033,9 @@ static UINT16 es5505_reg_read(struct ES5506Chip *chip, offs_t offset)
-/**********************************************************************************************
-
- es5505_data_0_r/es5505_data_1_r -- handle a read from the status register
-
-***********************************************************************************************/
-
-READ16_HANDLER( es5505_data_0_r )
-{
- return es5505_reg_read(sndti_token(SOUND_ES5505, 0), offset);
-}
-
-READ16_HANDLER( es5505_data_1_r )
-{
- return es5505_reg_read(sndti_token(SOUND_ES5505, 1), offset);
-}
-
-/**********************************************************************************************
-
- es5505_data_0_w/es5505_data_1_w -- handle a write to the current register
-
-***********************************************************************************************/
-
-WRITE16_HANDLER( es5505_data_0_w )
-{
- es5505_reg_write(sndti_token(SOUND_ES5505, 0), offset, data, mem_mask);
-}
-
-WRITE16_HANDLER( es5505_data_1_w )
-{
- es5505_reg_write(sndti_token(SOUND_ES5505, 1), offset, data, mem_mask);
-}
-
-void es5505_voice_bank_0_w(int voice, int bank)
-{
- struct ES5506Chip *chip = sndti_token(SOUND_ES5505, 0);
-#if RAINE_CHECK
- chip->voice[voice].control = CONTROL_STOPMASK;
-#endif
- chip->voice[voice].exbank=bank;
-}
-
-void es5505_voice_bank_1_w(int voice, int bank)
+void es5505_voice_bank_w(const device_config *device, int voice, int bank)
{
- struct ES5506Chip *chip = sndti_token(SOUND_ES5505, 1);
+ es5506_state *chip = get_safe_token(device);
#if RAINE_CHECK
chip->voice[voice].control = CONTROL_STOPMASK;
#endif
@@ -2138,34 +2049,24 @@ void es5505_voice_bank_1_w(int voice, int bank)
* Generic get_info
**************************************************************************/
-static SND_SET_INFO( es5505 )
-{
- switch (state)
- {
- /* no parameters to set */
- }
-}
-
-
-SND_GET_INFO( es5505 )
+DEVICE_GET_INFO( es5505 )
{
switch (state)
{
/* --- the following bits of info are returned as 64-bit signed integers --- */
- case SNDINFO_INT_TOKEN_BYTES: info->i = sizeof(struct ES5506Chip); break;
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(es5506_state); break;
/* --- the following bits of info are returned as pointers to data or functions --- */
- case SNDINFO_PTR_SET_INFO: info->set_info = SND_SET_INFO_NAME( es5505 ); break;
- case SNDINFO_PTR_START: info->start = SND_START_NAME( es5505 ); break;
- case SNDINFO_PTR_STOP: info->stop = SND_STOP_NAME( es5505 ); break;
- case SNDINFO_PTR_RESET: info->reset = SND_RESET_NAME( es5505 ); break;
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME( es5505 ); break;
+ case DEVINFO_FCT_STOP: info->stop = DEVICE_STOP_NAME( es5505 ); break;
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME( es5505 ); break;
/* --- the following bits of info are returned as NULL-terminated strings --- */
- case SNDINFO_STR_NAME: strcpy(info->s, "ES5505"); break;
- case SNDINFO_STR_CORE_FAMILY: strcpy(info->s, "Ensoniq Wavetable"); break;
- case SNDINFO_STR_CORE_VERSION: strcpy(info->s, "1.0"); break;
- case SNDINFO_STR_CORE_FILE: strcpy(info->s, __FILE__); break;
- case SNDINFO_STR_CORE_CREDITS: strcpy(info->s, "Copyright Nicola Salmoria and the MAME Team"); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "ES5505"); break;
+ case DEVINFO_STR_FAMILY: strcpy(info->s, "Ensoniq Wavetable"); break;
+ case DEVINFO_STR_VERSION: strcpy(info->s, "1.0"); break;
+ case DEVINFO_STR_SOURCE_FILE: strcpy(info->s, __FILE__); break;
+ case DEVINFO_STR_CREDITS: strcpy(info->s, "Copyright Nicola Salmoria and the MAME Team"); break;
}
}
@@ -2174,34 +2075,24 @@ SND_GET_INFO( es5505 )
* Generic get_info
**************************************************************************/
-static SND_SET_INFO( es5506 )
-{
- switch (state)
- {
- /* no parameters to set */
- }
-}
-
-
-SND_GET_INFO( es5506 )
+DEVICE_GET_INFO( es5506 )
{
switch (state)
{
/* --- the following bits of info are returned as 64-bit signed integers --- */
- case SNDINFO_INT_TOKEN_BYTES: info->i = sizeof(struct ES5506Chip); break;
+ case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(es5506_state); break;
/* --- the following bits of info are returned as pointers to data or functions --- */
- case SNDINFO_PTR_SET_INFO: info->set_info = SND_SET_INFO_NAME( es5506 ); break;
- case SNDINFO_PTR_START: info->start = SND_START_NAME( es5506 ); break;
- case SNDINFO_PTR_STOP: info->stop = SND_STOP_NAME( es5506 ); break;
- case SNDINFO_PTR_RESET: info->reset = SND_RESET_NAME( es5506 ); break;
+ case DEVINFO_FCT_START: info->start = DEVICE_START_NAME( es5506 ); break;
+ case DEVINFO_FCT_STOP: info->stop = DEVICE_STOP_NAME( es5506 ); break;
+ case DEVINFO_FCT_RESET: info->reset = DEVICE_RESET_NAME( es5506 ); break;
/* --- the following bits of info are returned as NULL-terminated strings --- */
- case SNDINFO_STR_NAME: strcpy(info->s, "ES5506"); break;
- case SNDINFO_STR_CORE_FAMILY: strcpy(info->s, "Ensoniq Wavetable"); break;
- case SNDINFO_STR_CORE_VERSION: strcpy(info->s, "1.0"); break;
- case SNDINFO_STR_CORE_FILE: strcpy(info->s, __FILE__); break;
- case SNDINFO_STR_CORE_CREDITS: strcpy(info->s, "Copyright Nicola Salmoria and the MAME Team"); break;
+ case DEVINFO_STR_NAME: strcpy(info->s, "ES5506"); break;
+ case DEVINFO_STR_FAMILY: strcpy(info->s, "Ensoniq Wavetable"); break;
+ case DEVINFO_STR_VERSION: strcpy(info->s, "1.0"); break;
+ case DEVINFO_STR_SOURCE_FILE: strcpy(info->s, __FILE__); break;
+ case DEVINFO_STR_CREDITS: strcpy(info->s, "Copyright Nicola Salmoria and the MAME Team"); break;
}
}