Exemple #1
0
ROM_END

/*-------------------------------------------------
    DEVICE_START( c1551 )
-------------------------------------------------*/

static DEVICE_START( c1551 )
{
	c1551_t *c1551 = get_safe_token(device);
	const c1551_config *config = get_safe_config(device);

	/* set address */
	assert((config->address > 7) && (config->address < 10));
	c1551->address = config->address - 8;

	/* find our CPU */
	c1551->cpu = device->subdevice(M6510T_TAG);

	/* find devices */
	c1551->tpi0 = device->subdevice(M6523_0_TAG);
	c1551->tpi1 = device->subdevice(M6523_1_TAG);
	c1551->image = device->subdevice(FLOPPY_0);

	/* install image callbacks */
	floppy_install_unload_proc(c1551->image, on_disk_change);
	floppy_install_load_proc(c1551->image, on_disk_change);

	/* allocate data timer */
	c1551->bit_timer = device->machine().scheduler().timer_alloc(FUNC(bit_tick), (void *)device);

	/* map TPI1 to host CPU memory space */
	address_space *program = device->machine().device(config->cpu_tag)->memory().space(AS_PROGRAM);
	UINT32 start_address = c1551->address ? 0xfec0 : 0xfef0;

	program->install_legacy_readwrite_handler(*c1551->tpi1, start_address, start_address + 7, FUNC(tpi6525_r), FUNC(tpi6525_w));

	/* register for state saving */
	device->save_item(NAME(c1551->tcbm_data));
	device->save_item(NAME(c1551->status));
	device->save_item(NAME(c1551->dav));
	device->save_item(NAME(c1551->ack));
	device->save_item(NAME(c1551->stp));
	device->save_item(NAME(c1551->mtr));
	device->save_item(NAME(c1551->track_len));
	device->save_item(NAME(c1551->buffer_pos));
	device->save_item(NAME(c1551->bit_pos));
	device->save_item(NAME(c1551->bit_count));
	device->save_item(NAME(c1551->data));
	device->save_item(NAME(c1551->yb));
	device->save_item(NAME(c1551->ds));
	device->save_item(NAME(c1551->soe));
	device->save_item(NAME(c1551->byte));
	device->save_item(NAME(c1551->mode));
}
Exemple #2
0
ROM_END

/*-------------------------------------------------
    DEVICE_START( c8280 )
-------------------------------------------------*/

static DEVICE_START( c8280 )
{
    c8280_t *c8280 = get_safe_token(device);
    const c8280_config *config = get_safe_config(device);

    /* set serial address */
    assert((config->address > 7) && (config->address < 16));
    c8280->address = config->address - 8;

    /* find our CPU */
    c8280->cpu_dos = device->subdevice(M6502_DOS_TAG);
    c8280->cpu_fdc = device->subdevice(M6502_FDC_TAG);
}
Exemple #3
0
static DEVICE_START( cdp1863 )
{
	cdp1863_t *cdp1863 = get_safe_token(device);
	const cdp1863_config *config = get_safe_config(device);

	/* set initial values */
	cdp1863->stream = stream_create(device, 0, 1, device->machine->sample_rate, cdp1863, cdp1863_stream_update);
	cdp1863->clock1 = device->clock();
	cdp1863->clock2 = config->clock2;
	cdp1863->oe = 1;

	/* register for state saving */
	state_save_register_device_item(device, 0, cdp1863->clock1);
	state_save_register_device_item(device, 0, cdp1863->clock2);
	state_save_register_device_item(device, 0, cdp1863->oe);
	state_save_register_device_item(device, 0, cdp1863->latch);
	state_save_register_device_item(device, 0, cdp1863->signal);
	state_save_register_device_item(device, 0, cdp1863->incr);
}
Exemple #4
0
static DEVICE_START( cdp1863 )
{
	cdp1863_t *cdp1863 = get_safe_token(device);
	const cdp1863_config *config = get_safe_config(device);

	/* set initial values */
	cdp1863->stream = device->machine->sound().stream_alloc(*device, 0, 1, device->machine->sample_rate, cdp1863, cdp1863_stream_update);
	cdp1863->clock1 = device->clock();
	cdp1863->clock2 = config->clock2;
	cdp1863->oe = 1;

	/* register for state saving */
	device->save_item(NAME(cdp1863->clock1));
	device->save_item(NAME(cdp1863->clock2));
	device->save_item(NAME(cdp1863->oe));
	device->save_item(NAME(cdp1863->latch));
	device->save_item(NAME(cdp1863->signal));
	device->save_item(NAME(cdp1863->incr));
}
Exemple #5
0
ROM_END

/*-------------------------------------------------
    DEVICE_START( c9060 )
-------------------------------------------------*/

static DEVICE_START( c9060 )
{
	c9060_t *c9060 = get_safe_token(device);
	const c9060_config *config = get_safe_config(device);

	/* find our CPU */
	c9060->cpu_dos = device->subdevice(M6502_TAG);
	c9060->cpu_hdc = device->subdevice(M6504_TAG);

	/* find devices */
	c9060->riot0 = device->subdevice(M6532_0_TAG);
	c9060->riot1 = device->subdevice(M6532_1_TAG);
	c9060->via = device->subdevice(M6522_TAG);
	c9060->bus = device->machine().device(config->bus_tag);

	/* register for state saving */
//  device->save_item(NAME(c9060->));
}