static DEVICE_START(x2212) { x2212_state *c = get_safe_token(device); const x2212_config *config; /* validate some basic stuff */ assert(device != NULL); // assert(device->static_config != NULL); assert(device->inline_config == NULL); assert(device->machine != NULL); assert(device->machine->config != NULL); c->sram = auto_alloc_array( device->machine, UINT8, SIZE_DATA ); c->e2prom = auto_alloc_array( device->machine, UINT8, SIZE_DATA ); c->store = 1; c->array_recall = 1; config = (const x2212_config *)device->static_config; if( config != NULL && config->data != NULL ) { c->default_data = memory_region( device->machine, config->data ); } state_save_register_device_item_pointer( device, 0, c->sram, SIZE_DATA ); state_save_register_device_item_pointer( device, 0, c->e2prom, SIZE_DATA ); state_save_register_device_item( device, 0, c->store ); state_save_register_device_item( device, 0, c->array_recall ); }
static DEVICE_START(at28c16) { at28c16_state *c = get_safe_token(device); const at28c16_config *config; /* validate some basic stuff */ assert(device != NULL); // assert(device->baseconfig().static_config != NULL); // assert(device->baseconfig().inline_config == NULL); assert(device->machine != NULL); assert(device->machine->config != NULL); c->data = auto_alloc_array( device->machine, UINT8, SIZE_DATA ); c->id = auto_alloc_array( device->machine, UINT8, SIZE_ID ); c->a9_12v = 0; c->oe_12v = 0; c->last_write = -1; c->write_timer = timer_alloc(device->machine, write_finished, c ); c->default_data = *device->region; config = (const at28c16_config *)device->baseconfig().inline_config; if (config->id != NULL) c->default_id = memory_region( device->machine, config->id ); /* create the name for save states */ state_save_register_device_item_pointer( device, 0, c->data, SIZE_DATA ); state_save_register_device_item_pointer( device, 0, c->id, SIZE_ID ); state_save_register_device_item( device, 0, c->a9_12v ); state_save_register_device_item( device, 0, c->oe_12v ); state_save_register_device_item( device, 0, c->last_write ); }
static DEVICE_START( snkwave ) { snkwave_state *chip = get_safe_token(device); assert(device->baseconfig().static_config == 0); /* adjust internal clock */ chip->external_clock = device->clock; /* adjust output clock */ chip->sample_rate = chip->external_clock >> CLOCK_SHIFT; /* get stream channels */ chip->stream = stream_create(device, 0, 1, chip->sample_rate, chip, snkwave_update); /* reset all the voices */ chip->frequency = 0; chip->counter = 0; chip->waveform_position = 0; /* register with the save state system */ state_save_register_device_item(device, 0, chip->frequency); state_save_register_device_item(device, 0, chip->counter); state_save_register_device_item(device, 0, chip->waveform_position); state_save_register_device_item_pointer(device, 0, chip->waveform, WAVEFORM_LENGTH); }
static DEVICE_START( k056230 ) { k056230_state *k056230 = k056230_get_safe_token(device); const k056230_interface *intf = k056230_get_interface(device); k056230->cpu = device->machine->device(intf->cpu); k056230->is_thunderh = intf->is_thunderh; k056230->ram = auto_alloc_array(device->machine, UINT32, 0x2000); state_save_register_device_item_pointer(device, 0, k056230->ram, 0x2000); }
void eeprom_device::device_start() { state_save_register_device_item_pointer(this, 0, m_serial_buffer, SERIAL_BUFFER_LENGTH); state_save_register_device_item(this, 0, m_clock_line); state_save_register_device_item(this, 0, m_reset_line); state_save_register_device_item(this, 0, m_locked); state_save_register_device_item(this, 0, m_serial_count); state_save_register_device_item(this, 0, m_latch); state_save_register_device_item(this, 0, m_reset_delay); state_save_register_device_item(this, 0, m_clock_count); state_save_register_device_item(this, 0, m_data_bits); state_save_register_device_item(this, 0, m_read_address); }
static DEVICE_START(timekeeper) { timekeeper_state *c = get_safe_token(device); emu_timer *timer; attotime duration; mame_system_time systime; /* validate some basic stuff */ assert(device != NULL); // assert(device->static_config != NULL); assert(device->inline_config == NULL); assert(device->machine != NULL); assert(device->machine->config != NULL); mame_get_base_datetime(device->machine, &systime); c->device = device; c->control = 0; c->seconds = make_bcd( systime.local_time.second ); c->minutes = make_bcd( systime.local_time.minute ); c->hours = make_bcd( systime.local_time.hour ); c->day = make_bcd( systime.local_time.weekday + 1 ); c->date = make_bcd( systime.local_time.mday ); c->month = make_bcd( systime.local_time.month + 1 ); c->year = make_bcd( systime.local_time.year % 100 ); c->century = make_bcd( systime.local_time.year / 100 ); c->data = auto_alloc_array( device->machine, UINT8, c->size ); c->default_data = device->region; if (c->default_data != NULL) { assert( device->regionbytes == c->size ); } state_save_register_device_item( device, 0, c->control ); state_save_register_device_item( device, 0, c->seconds ); state_save_register_device_item( device, 0, c->minutes ); state_save_register_device_item( device, 0, c->hours ); state_save_register_device_item( device, 0, c->day ); state_save_register_device_item( device, 0, c->date ); state_save_register_device_item( device, 0, c->month ); state_save_register_device_item( device, 0, c->year ); state_save_register_device_item( device, 0, c->century ); state_save_register_device_item_pointer( device, 0, c->data, c->size ); timer = timer_alloc( device->machine, timekeeper_tick, c ); duration = ATTOTIME_IN_SEC(1); timer_adjust_periodic( timer, duration, 0, duration ); }
static DEVICE_START( dmadac ) { dmadac_state *info = get_safe_token(device); /* allocate a clear a buffer */ info->buffer = auto_alloc_array_clear(device->machine, INT16, BUFFER_SIZE); /* reset the state */ info->volume = 0x100; /* allocate a stream channel */ info->channel = stream_create(device, 0, 1, DEFAULT_SAMPLE_RATE, info, dmadac_update); /* register with the save state system */ state_save_register_device_item(device, 0, info->bufin); state_save_register_device_item(device, 0, info->bufout); state_save_register_device_item(device, 0, info->volume); state_save_register_device_item(device, 0, info->enabled); state_save_register_device_item(device, 0, info->frequency); state_save_register_device_item_pointer(device, 0, info->buffer, BUFFER_SIZE); }
static DEVICE_START( saa5050 ) { saa5050_state *saa5050 = get_safe_token(device); const saa5050_interface *intf = get_interface(device); saa5050->screen = device->machine->device(intf->screen); saa5050->gfxnum = intf->gfxnum; saa5050->x = intf->x; saa5050->y = intf->y; saa5050->size = intf->size; saa5050->rev = intf->rev; saa5050->videoram = auto_alloc_array(device->machine, UINT8, 0x800); state_save_register_device_item_pointer(device, 0, saa5050->videoram, 0x800); state_save_register_device_item(device, 0, saa5050->flags); state_save_register_device_item(device, 0, saa5050->forecol); state_save_register_device_item(device, 0, saa5050->backcol); state_save_register_device_item(device, 0, saa5050->prvcol); state_save_register_device_item(device, 0, saa5050->prvchr); state_save_register_device_item(device, 0, saa5050->frame_count); }