static void sid_start(device_t *device, SIDTYPE sidtype) { _SID6581 *sid = get_sid(device); const sid6581_interface *iface = (const sid6581_interface*) device->baseconfig().static_config(); sid->device = device; sid->mixer_channel = device->machine->sound().stream_alloc(*device, 0, 1, device->machine->sample_rate, (void *) sid, sid_update); sid->PCMfreq = device->machine->sample_rate; sid->clock = device->clock(); sid->ad_read = iface ? iface->ad_read : NULL; sid->type = sidtype; sid6581_init(sid); sidInitWaveformTables(sidtype); }
static void *sid_start(int sndindex, int clock, const void *config, SIDTYPE sidtype) { SID6581 *sid; const SID6581_interface *iface = (const SID6581_interface*) config; sid = (SID6581 *) auto_malloc(sizeof(*sid)); memset(sid, 0, sizeof(*sid)); sid->mixer_channel = stream_create (0, 1, Machine->sample_rate, (void *) sid, sid_update); sid->PCMfreq = Machine->sample_rate; sid->clock = clock; sid->ad_read = iface ? iface->ad_read : NULL; sid->type = sidtype; sid6581_init(sid); sidInitWaveformTables(sidtype); return sid; }
void mos6581_device::device_start() { // resolve callbacks m_read_potx.resolve_safe(0xff); m_read_poty.resolve_safe(0xff); // create sound stream m_stream = machine().sound().stream_alloc(*this, 0, 1, machine().sample_rate()); // initialize SID engine m_token->device = this; m_token->mixer_channel = m_stream; m_token->PCMfreq = machine().sample_rate(); m_token->clock = clock(); m_token->type = m_variant; sid6581_init(m_token); sidInitWaveformTables(m_variant); }
static void sid_start(device_t *device, SIDTYPE sidtype) { SID6581_t *sid = get_sid(device); const sid6581_interface *iface = (const sid6581_interface*) device->static_config(); assert(iface); // resolve callbacks sid->in_potx_func.resolve(iface->in_potx_cb, *device); sid->in_poty_func.resolve(iface->in_poty_cb, *device); sid->device = device; sid->mixer_channel = device->machine().sound().stream_alloc(*device, 0, 1, device->machine().sample_rate(), (void *) sid, sid_update); sid->PCMfreq = device->machine().sample_rate(); sid->clock = device->clock(); sid->type = sidtype; sid6581_init(sid); sidInitWaveformTables(sidtype); }