summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/sound/bsmt2000.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/sound/bsmt2000.c')
-rw-r--r--src/emu/sound/bsmt2000.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/emu/sound/bsmt2000.c b/src/emu/sound/bsmt2000.c
index 74d3e18428d..325d7d6b596 100644
--- a/src/emu/sound/bsmt2000.c
+++ b/src/emu/sound/bsmt2000.c
@@ -107,13 +107,9 @@ static void set_regmap(bsmt2000_chip *chip, UINT8 posbase, UINT8 ratebase, UINT8
static SND_START( bsmt2000 )
{
- bsmt2000_chip *chip;
+ bsmt2000_chip *chip = device->token;
int voicenum;
- /* allocate the chip */
- chip = auto_malloc(sizeof(*chip));
- memset(chip, 0, sizeof(*chip));
-
/* create a stream at a nominal sample rate (real one specified later) */
chip->stream = stream_create(device, 0, 2, clock / 1000, chip, bsmt2000_update);
chip->clock = clock;
@@ -147,7 +143,7 @@ static SND_START( bsmt2000 )
/* reset the chip -- this also configures the default mode */
bsmt2000_reset(chip);
- return chip;
+ return DEVICE_START_OK;
}
@@ -500,6 +496,7 @@ SND_GET_INFO( bsmt2000 )
switch (state)
{
/* --- the following bits of info are returned as 64-bit signed integers --- */
+ case SNDINFO_INT_TOKEN_BYTES: info->i = sizeof(bsmt2000_chip); 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( bsmt2000 ); break;