summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/sound/iremga20.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/sound/iremga20.c')
-rw-r--r--src/emu/sound/iremga20.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/emu/sound/iremga20.c b/src/emu/sound/iremga20.c
index 1a1e04078f6..a8c5a2d9450 100644
--- a/src/emu/sound/iremga20.c
+++ b/src/emu/sound/iremga20.c
@@ -230,12 +230,9 @@ static SND_RESET( iremga20 )
static SND_START( iremga20 )
{
- struct IremGA20_chip_def *chip;
+ struct IremGA20_chip_def *chip = device->token;
int i;
- chip = auto_malloc(sizeof(*chip));
- memset(chip, 0, sizeof(*chip));
-
/* Initialize our chip structure */
chip->rom = device->region;
chip->rom_size = device->regionbytes;
@@ -261,7 +258,7 @@ static SND_START( iremga20 )
state_save_register_device_item(device, i, chip->channel[i].play);
}
- return chip;
+ return DEVICE_START_OK;
}
@@ -285,6 +282,7 @@ SND_GET_INFO( iremga20 )
switch (state)
{
/* --- the following bits of info are returned as 64-bit signed integers --- */
+ case SNDINFO_INT_TOKEN_BYTES: info->i = sizeof(struct IremGA20_chip_def); 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( iremga20 ); break;