Esempio n. 1
0
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 );
}
Esempio n. 2
0
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 );
}
Esempio n. 3
0
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);
}
Esempio n. 4
0
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);
}
Esempio n. 5
0
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);
}
Esempio n. 6
0
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 );
}
Esempio n. 7
0
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);
}
Esempio n. 8
0
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);
}