static DEVICE_START( iremga20 ) { ga20_state *chip = get_safe_token(device); int i; /* Initialize our chip structure */ chip->rom = *device->region; chip->rom_size = device->region->bytes(); iremga20_reset(chip); for ( i = 0; i < 0x40; i++ ) chip->regs[i] = 0; chip->stream = stream_create( device, 0, 2, device->clock/4, chip, IremGA20_update ); state_save_register_device_item_array(device, 0, chip->regs); for (i = 0; i < 4; i++) { state_save_register_device_item(device, i, chip->channel[i].rate); state_save_register_device_item(device, i, chip->channel[i].size); state_save_register_device_item(device, i, chip->channel[i].start); state_save_register_device_item(device, i, chip->channel[i].pos); state_save_register_device_item(device, i, chip->channel[i].end); state_save_register_device_item(device, i, chip->channel[i].volume); state_save_register_device_item(device, i, chip->channel[i].pan); state_save_register_device_item(device, i, chip->channel[i].effect); state_save_register_device_item(device, i, chip->channel[i].play); } }
static DEVICE_START( iremga20 ) { ga20_state *chip = get_safe_token(device); int i; /* Initialize our chip structure */ chip->rom = *device->region(); chip->rom_size = device->region()->bytes(); iremga20_reset(chip); for ( i = 0; i < 0x40; i++ ) chip->regs[i] = 0; chip->stream = device->machine().sound().stream_alloc( *device, 0, 2, device->clock()/4, chip, IremGA20_update ); device->save_item(NAME(chip->regs)); for (i = 0; i < 4; i++) { device->save_item(NAME(chip->channel[i].rate), i); device->save_item(NAME(chip->channel[i].size), i); device->save_item(NAME(chip->channel[i].start), i); device->save_item(NAME(chip->channel[i].pos), i); device->save_item(NAME(chip->channel[i].end), i); device->save_item(NAME(chip->channel[i].volume), i); device->save_item(NAME(chip->channel[i].pan), i); device->save_item(NAME(chip->channel[i].effect), i); device->save_item(NAME(chip->channel[i].play), i); } }
void iremga20_device::device_start() { int i; iremga20_reset(); for ( i = 0; i < 0x40; i++ ) m_regs[i] = 0; m_stream = stream_alloc(0, 2, clock()/4); save_item(NAME(m_regs)); for (i = 0; i < 4; i++) { save_item(NAME(m_channel[i].rate), i); save_item(NAME(m_channel[i].size), i); save_item(NAME(m_channel[i].start), i); save_item(NAME(m_channel[i].pos), i); save_item(NAME(m_channel[i].frac), i); save_item(NAME(m_channel[i].end), i); save_item(NAME(m_channel[i].volume), i); save_item(NAME(m_channel[i].pan), i); save_item(NAME(m_channel[i].effect), i); save_item(NAME(m_channel[i].play), i); } }
static DEVICE_RESET( iremga20 ) { iremga20_reset(get_safe_token(device)); }
void iremga20_device::device_reset() { iremga20_reset(); }