Пример #1
0
void wozfdc_device::control(int offset)
{
	if(offset < 8) {
		if(active)
			lss_sync();
		phase(offset >> 1, offset & 1);
		if(active)
			lss_predict();

	} else
		switch(offset) {
Пример #2
0
void wozfdc_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
{
	if(active)
		lss_sync();

	if(id == 1 && active == MODE_DELAY) {
		if(floppy)
			floppy->mon_w(true);
		active = MODE_IDLE;
	}
}
Пример #3
0
void wozfdc_device::a3_update_drive_sel()
{
	floppy_image_device *newflop = NULL;

	if (!external_io_select)
	{
		newflop = floppy0->get_device();
	}
	else
	{
		switch (drvsel & 3)
		{
			case 0:
				newflop = floppy0->get_device();
				break;

			case 1:
				newflop = floppy1->get_device();
				break;

			case 2:
				newflop = floppy2->get_device();
				break;

			case 3:
				newflop = floppy3->get_device();
				break;
		}
	}

	if (floppy != newflop)
	{
		if(active) {
			lss_sync();
			floppy->mon_w(true);
		}
		floppy = newflop;
		if(active) {
			floppy->mon_w(false);
			lss_predict();
		}
	}
}