288
288
* must move the contents of the data bus into the low order
291
cpustate->irq_vector = (*cpustate->irq_callback)(cpustate->device, 0);
291
cpustate->irq_vector = (*cpustate->irq_callback)(cpustate->device, F8_INPUT_LINE_INT_REQ);
292
292
cpustate->dbus = cpustate->irq_vector & 0x00ff;
293
293
cpustate->pc1 = cpustate->pc0;
294
294
cpustate->pc0 = (cpustate->pc0 & 0xff00) | cpustate->dbus;
1903
1903
cpustate->direct = &cpustate->program->direct();
1904
1904
cpustate->iospace = device->space(AS_IO);
1906
state_save_register_device_item(device, 0, cpustate->pc0);
1907
state_save_register_device_item(device, 0, cpustate->pc1);
1908
state_save_register_device_item(device, 0, cpustate->dc0);
1909
state_save_register_device_item(device, 0, cpustate->dc1);
1910
state_save_register_device_item(device, 0, cpustate->a);
1911
state_save_register_device_item(device, 0, cpustate->w);
1912
state_save_register_device_item(device, 0, cpustate->is);
1913
state_save_register_device_item(device, 0, cpustate->dbus);
1914
state_save_register_device_item(device, 0, cpustate->io);
1915
state_save_register_device_item(device, 0, cpustate->irq_vector);
1916
state_save_register_device_item(device, 0, cpustate->irq_request);
1917
state_save_register_device_item_array(device, 0, cpustate->r);
1906
device->save_item(NAME(cpustate->pc0));
1907
device->save_item(NAME(cpustate->pc1));
1908
device->save_item(NAME(cpustate->dc0));
1909
device->save_item(NAME(cpustate->dc1));
1910
device->save_item(NAME(cpustate->a));
1911
device->save_item(NAME(cpustate->w));
1912
device->save_item(NAME(cpustate->is));
1913
device->save_item(NAME(cpustate->dbus));
1914
device->save_item(NAME(cpustate->io));
1915
device->save_item(NAME(cpustate->irq_vector));
1916
device->save_item(NAME(cpustate->irq_request));
1917
device->save_item(NAME(cpustate->r));
1920
1920
static CPU_SET_INFO( f8 )
2034
2034
case CPUINFO_INT_MIN_CYCLES: info->i = 1; break;
2035
2035
case CPUINFO_INT_MAX_CYCLES: info->i = 7; break;
2037
case DEVINFO_INT_DATABUS_WIDTH + ADDRESS_SPACE_PROGRAM: info->i = 8; break;
2038
case DEVINFO_INT_ADDRBUS_WIDTH + ADDRESS_SPACE_PROGRAM: info->i = 16; break;
2039
case DEVINFO_INT_ADDRBUS_SHIFT + ADDRESS_SPACE_PROGRAM: info->i = 0; break;
2040
case DEVINFO_INT_DATABUS_WIDTH + ADDRESS_SPACE_DATA: info->i = 0; break;
2041
case DEVINFO_INT_ADDRBUS_WIDTH + ADDRESS_SPACE_DATA: info->i = 0; break;
2042
case DEVINFO_INT_ADDRBUS_SHIFT + ADDRESS_SPACE_DATA: info->i = 0; break;
2043
case DEVINFO_INT_DATABUS_WIDTH + ADDRESS_SPACE_IO: info->i = 8; break;
2044
case DEVINFO_INT_ADDRBUS_WIDTH + ADDRESS_SPACE_IO: info->i = 8; break;
2045
case DEVINFO_INT_ADDRBUS_SHIFT + ADDRESS_SPACE_IO: info->i = 0; break;
2037
case DEVINFO_INT_DATABUS_WIDTH + AS_PROGRAM: info->i = 8; break;
2038
case DEVINFO_INT_ADDRBUS_WIDTH + AS_PROGRAM: info->i = 16; break;
2039
case DEVINFO_INT_ADDRBUS_SHIFT + AS_PROGRAM: info->i = 0; break;
2040
case DEVINFO_INT_DATABUS_WIDTH + AS_DATA: info->i = 0; break;
2041
case DEVINFO_INT_ADDRBUS_WIDTH + AS_DATA: info->i = 0; break;
2042
case DEVINFO_INT_ADDRBUS_SHIFT + AS_DATA: info->i = 0; break;
2043
case DEVINFO_INT_DATABUS_WIDTH + AS_IO: info->i = 8; break;
2044
case DEVINFO_INT_ADDRBUS_WIDTH + AS_IO: info->i = 8; break;
2045
case DEVINFO_INT_ADDRBUS_SHIFT + AS_IO: info->i = 0; break;
2047
2047
case CPUINFO_INT_SP: info->i = cpustate->pc1; break;
2048
2048
case CPUINFO_INT_PC: info->i = (cpustate->pc0 - 1) & 0xffff; break;