summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author smf- <smf-@users.noreply.github.com>2012-08-23 17:53:10 +0000
committer smf- <smf-@users.noreply.github.com>2012-08-23 17:53:10 +0000
commit45e9cc7826aeb0a01a94b3efe58e9130b2c81ec0 (patch)
tree1e6b79c468c85c112e461bbc52b3f70d7de3ce59
parent72fa59293f9a366a0a5b9b15b772cdde5a3998f6 (diff)
glacial SCSI improvements towards NSCSI and beyond, moved the SCSI id onto the device (nw)
-rw-r--r--src/emu/machine/53c810.c3
-rw-r--r--src/emu/machine/am53cf96.c3
-rw-r--r--src/emu/machine/ncr539x.c11
-rw-r--r--src/emu/machine/scsi.h14
-rw-r--r--src/emu/machine/scsidev.c11
-rw-r--r--src/emu/machine/scsidev.h22
-rw-r--r--src/emu/machine/wd33c93.c3
-rw-r--r--src/mame/drivers/cps3.c8
-rw-r--r--src/mame/drivers/konamigq.c4
-rw-r--r--src/mame/drivers/konamigv.c4
-rw-r--r--src/mame/drivers/twinkle.c4
-rw-r--r--src/mess/drivers/abc1600.c2
-rw-r--r--src/mess/drivers/bebox.c4
-rw-r--r--src/mess/drivers/bullet.c6
-rw-r--r--src/mess/drivers/fmtowns.c22
-rw-r--r--src/mess/drivers/ip20.c8
-rw-r--r--src/mess/drivers/ip22.c10
-rw-r--r--src/mess/drivers/mac.c42
-rw-r--r--src/mess/drivers/rmnimbus.c18
-rw-r--r--src/mess/drivers/v1050.c6
-rw-r--r--src/mess/drivers/x68k.c58
-rw-r--r--src/mess/machine/abc_hdc.c6
-rw-r--r--src/mess/machine/abc_xebec.c6
-rw-r--r--src/mess/machine/bebox.c4
-rw-r--r--src/mess/machine/d9060.c6
-rw-r--r--src/mess/machine/e01.c6
-rw-r--r--src/mess/machine/fm_scsi.c3
-rw-r--r--src/mess/machine/lux4105.c4
-rw-r--r--src/mess/machine/mb89352.c3
-rw-r--r--src/mess/machine/ncr5380.c3
-rw-r--r--src/mess/machine/scsibus.c3
-rw-r--r--src/mess/machine/x68k_scsiext.c28
32 files changed, 181 insertions, 154 deletions
diff --git a/src/emu/machine/53c810.c b/src/emu/machine/53c810.c
index b8f250d7dfe..c3099db041b 100644
--- a/src/emu/machine/53c810.c
+++ b/src/emu/machine/53c810.c
@@ -708,7 +708,8 @@ void lsi53c810_init(running_machine &machine, const struct LSI53C810interface *i
// try to open the devices
for (i = 0; i < interface->scsidevs->devs_present; i++)
{
- devices[interface->scsidevs->devices[i].scsiID] = machine.device<scsidev_device>( interface->scsidevs->devices[i].tag );
+ scsidev_device *device = machine.device<scsidev_device>( interface->scsidevs->devices[i].tag );
+ devices[device->GetDeviceID()] = device;
}
}
diff --git a/src/emu/machine/am53cf96.c b/src/emu/machine/am53cf96.c
index b1b5c29746b..c055b1527dd 100644
--- a/src/emu/machine/am53cf96.c
+++ b/src/emu/machine/am53cf96.c
@@ -222,7 +222,8 @@ void am53cf96_init( running_machine &machine, const struct AM53CF96interface *in
// try to open the devices
for (i = 0; i < interface->scsidevs->devs_present; i++)
{
- devices[interface->scsidevs->devices[i].scsiID] = machine.device<scsidev_device>( interface->scsidevs->devices[i].tag );
+ scsidev_device *device = machine.device<scsidev_device>( interface->scsidevs->devices[i].tag );
+ devices[device->GetDeviceID()] = device;
}
state_save_register_global_array(machine, scsi_regs);
diff --git a/src/emu/machine/ncr539x.c b/src/emu/machine/ncr539x.c
index 8fe74cf87a8..01b591d860a 100644
--- a/src/emu/machine/ncr539x.c
+++ b/src/emu/machine/ncr539x.c
@@ -160,8 +160,8 @@ void ncr539x_device::device_start()
// try to open the devices
for (i = 0; i < scsidevs->devs_present; i++)
{
- m_scsi_devices[scsidevs->devices[i].scsiID] = machine().device<scsidev_device>( scsidevs->devices[i].tag );
- assert( m_scsi_devices[scsidevs->devices[i].scsiID] != NULL );
+ scsidev_device *device = machine().device<scsidev_device>( scsidevs->devices[i].tag );
+ m_scsi_devices[device->GetDeviceID()] = device;
}
m_operation_timer = timer_alloc(0, NULL);
@@ -232,11 +232,8 @@ void ncr539x_device::scan_devices()
// try to open the devices
for (i = 0; i < scsidevs->devs_present; i++)
{
- // if a device wasn't already allocated
- if (!m_scsi_devices[scsidevs->devices[i].scsiID])
- {
- m_scsi_devices[scsidevs->devices[i].scsiID] = machine().device<scsidev_device>( scsidevs->devices[i].tag );
- }
+ scsidev_device *device = machine().device<scsidev_device>( scsidevs->devices[i].tag );
+ m_scsi_devices[device->GetDeviceID()] = device;
}
}
diff --git a/src/emu/machine/scsi.h b/src/emu/machine/scsi.h
index 3f5b0466a87..886878c03fd 100644
--- a/src/emu/machine/scsi.h
+++ b/src/emu/machine/scsi.h
@@ -10,7 +10,6 @@
typedef struct scsiconfigitem
{
- int scsiID;
const char *tag;
} SCSIConfigItem;
@@ -22,17 +21,4 @@ typedef struct scsiconfigtable
const SCSIConfigItem devices[SCSI_MAX_DEVICES];
} SCSIConfigTable;
-// SCSI IDs
-enum
-{
- SCSI_ID_0 = 0,
- SCSI_ID_1,
- SCSI_ID_2,
- SCSI_ID_3,
- SCSI_ID_4,
- SCSI_ID_5,
- SCSI_ID_6,
- SCSI_ID_7
-};
-
#endif
diff --git a/src/emu/machine/scsidev.c b/src/emu/machine/scsidev.c
index fbf138b50bd..c427188e861 100644
--- a/src/emu/machine/scsidev.c
+++ b/src/emu/machine/scsidev.c
@@ -96,3 +96,14 @@ void scsidev_device::GetCommand( UINT8 **_command, int *_commandLength )
*_command = command;
*_commandLength = commandLength;
}
+
+int scsidev_device::GetDeviceID()
+{
+ return scsiID;
+}
+
+void scsidev_device::static_set_deviceid( device_t &device, int _scsiID )
+{
+ scsidev_device &scsidev = downcast<scsidev_device &>(device);
+ scsidev.scsiID = _scsiID;
+}
diff --git a/src/emu/machine/scsidev.h b/src/emu/machine/scsidev.h
index f139ff356b7..3ddcdef2d16 100644
--- a/src/emu/machine/scsidev.h
+++ b/src/emu/machine/scsidev.h
@@ -23,6 +23,10 @@ public:
virtual void ReadData( UINT8 *data, int dataLength );
virtual void SetPhase( int phase );
virtual void GetPhase( int *phase );
+ virtual int GetDeviceID();
+
+ // configuration helpers
+ static void static_set_deviceid(device_t &device, int _scsiID);
protected:
// device-level overrides
@@ -32,6 +36,7 @@ private:
UINT8 command[16];
int commandLength;
int phase;
+ int scsiID;
};
extern int SCSILengthFromUINT8( UINT8 *length );
@@ -44,4 +49,21 @@ extern int SCSILengthFromUINT16( UINT8 *length );
#define SCSI_PHASE_MESSAGE_OUT ( 6 )
#define SCSI_PHASE_MESSAGE_IN ( 7 )
+// SCSI IDs
+enum
+{
+ SCSI_ID_0 = 0,
+ SCSI_ID_1,
+ SCSI_ID_2,
+ SCSI_ID_3,
+ SCSI_ID_4,
+ SCSI_ID_5,
+ SCSI_ID_6,
+ SCSI_ID_7
+};
+
+#define MCFG_SCSIDEV_ADD(_tag, _type, _id) \
+ MCFG_DEVICE_ADD(_tag, _type, 0) \
+ scsidev_device::static_set_deviceid(*device, _id);
+
#endif
diff --git a/src/emu/machine/wd33c93.c b/src/emu/machine/wd33c93.c
index d04068178b1..3b8ce60eecb 100644
--- a/src/emu/machine/wd33c93.c
+++ b/src/emu/machine/wd33c93.c
@@ -792,7 +792,8 @@ void wd33c93_init( running_machine &machine, const struct WD33C93interface *inte
// try to open the devices
for (i = 0; i < interface->scsidevs->devs_present; i++)
{
- devices[interface->scsidevs->devices[i].scsiID] = machine.device<scsidev_device>( interface->scsidevs->devices[i].tag );
+ scsidev_device *device = machine.device<scsidev_device>( interface->scsidevs->devices[i].tag );
+ devices[device->GetDeviceID()] = device;
}
/* allocate a timer for commands */
diff --git a/src/mame/drivers/cps3.c b/src/mame/drivers/cps3.c
index 6e550341599..936ea93fd20 100644
--- a/src/mame/drivers/cps3.c
+++ b/src/mame/drivers/cps3.c
@@ -2293,8 +2293,10 @@ static INTERRUPT_GEN(cps3_other_interrupt)
static const SCSIConfigTable dev_table =
{
- 1, /* 1 SCSI device */
- { { SCSI_ID_1, ":cdrom" } } /* SCSI ID 2, CD-ROM */
+ 1, /* 1 SCSI device */
+ {
+ { ":cdrom" }
+ }
};
static const struct WD33C93interface scsi_intf =
@@ -2542,7 +2544,7 @@ static MACHINE_CONFIG_START( cps3, cps3_state )
MCFG_CPU_PERIODIC_INT(cps3_other_interrupt,80) /* ?source? */
MCFG_CPU_CONFIG(sh2_conf_cps3)
- MCFG_DEVICE_ADD("cdrom", SCSICD, 0)
+ MCFG_SCSIDEV_ADD("cdrom", SCSICD, SCSI_ID_1)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
diff --git a/src/mame/drivers/konamigq.c b/src/mame/drivers/konamigq.c
index 6260494ac5b..3bad8403c29 100644
--- a/src/mame/drivers/konamigq.c
+++ b/src/mame/drivers/konamigq.c
@@ -306,7 +306,7 @@ static const SCSIConfigTable dev_table =
{
1, /* 1 SCSI device */
{
- { SCSI_ID_0, ":disk" } /* SCSI ID 0, HDD */
+ { ":disk" }
}
};
@@ -358,7 +358,7 @@ static MACHINE_CONFIG_START( konamigq, konamigq_state )
MCFG_EEPROM_93C46_ADD("eeprom")
MCFG_EEPROM_DATA(konamigq_def_eeprom, 128)
- MCFG_DEVICE_ADD("disk", SCSIHD, 0)
+ MCFG_SCSIDEV_ADD("disk", SCSIHD, SCSI_ID_0)
/* video hardware */
MCFG_PSXGPU_ADD( "maincpu", "gpu", CXD8538Q, 0x200000, XTAL_53_693175MHz )
diff --git a/src/mame/drivers/konamigv.c b/src/mame/drivers/konamigv.c
index c73cae455d1..7fedf714d49 100644
--- a/src/mame/drivers/konamigv.c
+++ b/src/mame/drivers/konamigv.c
@@ -296,7 +296,7 @@ static const SCSIConfigTable dev_table =
{
1, /* 1 SCSI device */
{
- { SCSI_ID_4, ":cdrom", } /* SCSI ID 4, CD-ROM */
+ { ":cdrom", }
}
};
@@ -353,7 +353,7 @@ static MACHINE_CONFIG_START( konamigv, konamigv_state )
MCFG_EEPROM_93C46_ADD("eeprom")
- MCFG_DEVICE_ADD("cdrom", SCSICD, 0)
+ MCFG_SCSIDEV_ADD("cdrom", SCSICD, SCSI_ID_4)
/* video hardware */
MCFG_PSXGPU_ADD( "maincpu", "gpu", CXD8514Q, 0x100000, XTAL_53_693175MHz )
diff --git a/src/mame/drivers/twinkle.c b/src/mame/drivers/twinkle.c
index e294f395956..805a2535f7f 100644
--- a/src/mame/drivers/twinkle.c
+++ b/src/mame/drivers/twinkle.c
@@ -852,7 +852,7 @@ static const SCSIConfigTable dev_table =
{
1, /* 1 SCSI device */
{
- { SCSI_ID_4, "cdrom0" } /* SCSI ID 4, CD-ROM */
+ { "cdrom0" }
}
};
@@ -914,7 +914,7 @@ static MACHINE_CONFIG_START( twinkle, twinkle_state )
MCFG_MACHINE_RESET( twinkle )
MCFG_I2CMEM_ADD("security",i2cmem_interface)
- MCFG_DEVICE_ADD("cdrom0", SCSICD, 0)
+ MCFG_SCSIDEV_ADD("cdrom0", SCSICD, SCSI_ID_4)
MCFG_IDE_CONTROLLER_ADD("ide", ide_interrupt, ide_devices, "hdd", NULL, true)
MCFG_RTC65271_ADD("rtc", twinkle_rtc)
diff --git a/src/mess/drivers/abc1600.c b/src/mess/drivers/abc1600.c
index 846a4744a0c..ec2cd182a81 100644
--- a/src/mess/drivers/abc1600.c
+++ b/src/mess/drivers/abc1600.c
@@ -1932,7 +1932,7 @@ static MACHINE_CONFIG_START( abc1600, abc1600_state )
MCFG_E0516_ADD(E050_C16PC_TAG, XTAL_32_768kHz)
MCFG_FD1797_ADD(SAB1797_02P_TAG, fdc_intf)
MCFG_LEGACY_FLOPPY_DRIVE_ADD(FLOPPY_0, abc1600_floppy_interface)
- MCFG_DEVICE_ADD("harddisk0", SCSIHD, 0)
+ MCFG_SCSIDEV_ADD("harddisk0", SCSIHD, SCSI_ID_0)
MCFG_ABC99_ADD(abc99_intf)
MCFG_S1410_ADD()
diff --git a/src/mess/drivers/bebox.c b/src/mess/drivers/bebox.c
index 24b1aeb48e6..c7fed540789 100644
--- a/src/mess/drivers/bebox.c
+++ b/src/mess/drivers/bebox.c
@@ -154,8 +154,8 @@ static MACHINE_CONFIG_START( bebox, bebox_state )
MCFG_FUJITSU_29F016A_ADD("flash")
- MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0)
- MCFG_DEVICE_ADD("cdrom", SCSICD, 0)
+ MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_0)
+ MCFG_SCSIDEV_ADD("cdrom", SCSICD, SCSI_ID_3)
MCFG_IDE_CONTROLLER_ADD( "ide", bebox_ide_interrupt, ide_image_devices, "hdd", NULL, false ) /* FIXME */
diff --git a/src/mess/drivers/bullet.c b/src/mess/drivers/bullet.c
index 12fc73c28a0..45ee2a08ec0 100644
--- a/src/mess/drivers/bullet.c
+++ b/src/mess/drivers/bullet.c
@@ -1026,9 +1026,9 @@ static const wd17xx_interface bulletf_fdc_intf =
static const SCSIConfigTable scsi_dev_table =
{
- 1,
+ 1, /* 1 SCSI device */
{
- { SCSI_ID_0, "harddisk0" }
+ { "harddisk0" }
}
};
@@ -1215,7 +1215,7 @@ static MACHINE_CONFIG_START( bulletf, bulletf_state )
MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
MCFG_SERIAL_TERMINAL_ADD(TERMINAL_TAG, terminal_intf, 4800)
MCFG_SCSIBUS_ADD(SCSIBUS_TAG, scsi_intf)
- MCFG_DEVICE_ADD("harddisk0", SCSIHD, 0)
+ MCFG_SCSIDEV_ADD("harddisk0", SCSIHD, SCSI_ID_0)
// software lists
MCFG_SOFTWARE_LIST_ADD("flop_list", "wmbullet")
diff --git a/src/mess/drivers/fmtowns.c b/src/mess/drivers/fmtowns.c
index dd172bbf55d..f6f57893f97 100644
--- a/src/mess/drivers/fmtowns.c
+++ b/src/mess/drivers/fmtowns.c
@@ -2627,13 +2627,13 @@ static const rf5c68_interface rf5c68_intf =
static const SCSIConfigTable towns_scsi_devtable =
{
- 5, /* 5 SCSI devices */
+ 5, /* 5 SCSI devices */
{
- { SCSI_ID_0, "harddisk0" },
- { SCSI_ID_1, "harddisk1" },
- { SCSI_ID_2, "harddisk2" },
- { SCSI_ID_3, "harddisk3" },
- { SCSI_ID_4, "harddisk4" },
+ { "harddisk0" },
+ { "harddisk1" },
+ { "harddisk2" },
+ { "harddisk3" },
+ { "harddisk4" },
}
};
@@ -2721,11 +2721,11 @@ static MACHINE_CONFIG_FRAGMENT( towns_base )
MCFG_CDROM_ADD("cdrom",towns_cdrom)
- MCFG_DEVICE_ADD("harddisk0", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk2", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk3", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk4", SCSIHD, 0)
+ MCFG_SCSIDEV_ADD("harddisk0", SCSIHD, SCSI_ID_0)
+ MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_1)
+ MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_2)
+ MCFG_SCSIDEV_ADD("harddisk3", SCSIHD, SCSI_ID_3)
+ MCFG_SCSIDEV_ADD("harddisk4", SCSIHD, SCSI_ID_4)
MCFG_FMSCSI_ADD("scsi",towns_scsi_config)
MCFG_UPD71071_ADD("dma_1",towns_dma_config)
diff --git a/src/mess/drivers/ip20.c b/src/mess/drivers/ip20.c
index 60250f65004..7734f3bfe84 100644
--- a/src/mess/drivers/ip20.c
+++ b/src/mess/drivers/ip20.c
@@ -483,8 +483,10 @@ static void scsi_irq(running_machine &machine, int state)
static const SCSIConfigTable dev_table =
{
- 1, /* 1 SCSI device */
- { { SCSI_ID_6, "cdrom" } } /* SCSI ID 6, CD-ROM */
+ 1, /* 1 SCSI device */
+ {
+ { "cdrom" }
+ }
};
static const struct WD33C93interface scsi_intf =
@@ -613,7 +615,7 @@ static MACHINE_CONFIG_START( ip204415, ip20_state )
MCFG_SCC8530_ADD("scc", 7000000, line_cb_t())
- MCFG_DEVICE_ADD("cdrom", SCSICD, 0)
+ MCFG_SCSIDEV_ADD("cdrom", SCSICD, SCSI_ID_6)
MCFG_EEPROM_ADD("eeprom", eeprom_interface_93C56)
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/ip22.c b/src/mess/drivers/ip22.c
index 1aad2211fa5..cec6378622f 100644
--- a/src/mess/drivers/ip22.c
+++ b/src/mess/drivers/ip22.c
@@ -1497,10 +1497,10 @@ static void scsi_irq(running_machine &machine, int state)
static const SCSIConfigTable dev_table =
{
- 2, /* 1 SCSI device */
+ 2, /* 2 SCSI devices */
{
- { SCSI_ID_1, "harddisk1" },
- { SCSI_ID_4, "cdrom" } /* SCSI ID 4, using CD 0, and it's a CD-ROM */
+ { "harddisk1" },
+ { "cdrom" }
}
};
@@ -1691,8 +1691,8 @@ static MACHINE_CONFIG_START( ip225015, ip22_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
- MCFG_DEVICE_ADD("cdrom", SCSICD, 0)
- MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0)
+ MCFG_SCSIDEV_ADD("cdrom", SCSICD, SCSI_ID_4)
+ MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_1)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( ip224613, ip225015 )
diff --git a/src/mess/drivers/mac.c b/src/mess/drivers/mac.c
index 315f6330330..0b18c157de5 100644
--- a/src/mess/drivers/mac.c
+++ b/src/mess/drivers/mac.c
@@ -816,10 +816,10 @@ static const applefdc_interface mac_iwm_interface =
static const SCSIConfigTable dev_table =
{
- 2, /* 2 SCSI devices */
+ 2, /* 2 SCSI devices */
{
- { SCSI_ID_6, "harddisk1" }, /* SCSI ID 6, using harddisk1 */
- { SCSI_ID_5, "harddisk2" } /* SCSI ID 5, using harddisk2 */
+ { "harddisk1" },
+ { "harddisk2" }
}
};
@@ -941,8 +941,8 @@ static MACHINE_CONFIG_DERIVED( macplus, mac512ke )
MCFG_NCR5380_ADD("ncr5380", C7M, macplus_5380intf)
- MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk2", SCSIHD, 0)
+ MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_6)
+ MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_5)
MCFG_LEGACY_FLOPPY_SONY_2_DRIVES_MODIFY(mac_floppy_interface)
@@ -1006,8 +1006,8 @@ static MACHINE_CONFIG_START( macprtb, mac_state )
MCFG_SCC8530_ADD("scc", C7M, line_cb_t(FUNC(mac_state::set_scc_interrupt), static_cast<mac_state *>(owner)))
MCFG_VIA6522_ADD("via6522_0", 783360, mac_via6522_intf)
- MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk2", SCSIHD, 0)
+ MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_6)
+ MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_5)
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
@@ -1054,8 +1054,8 @@ static MACHINE_CONFIG_START( macii, mac_state )
MCFG_VIA6522_ADD("via6522_0", C7M/10, mac_via6522_adb_intf)
MCFG_VIA6522_ADD("via6522_1", C7M/10, mac_via6522_2_intf)
- MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk2", SCSIHD, 0)
+ MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_6)
+ MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_5)
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
@@ -1105,8 +1105,8 @@ static MACHINE_CONFIG_START( maciifx, mac_state )
MCFG_VIA6522_ADD("via6522_0", C7M/10, mac_via6522_adb_intf)
- MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk2", SCSIHD, 0)
+ MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_6)
+ MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_5)
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
@@ -1304,8 +1304,8 @@ static MACHINE_CONFIG_START( macse30, mac_state )
MCFG_VIA6522_ADD("via6522_0", 783360, mac_via6522_adb_intf)
MCFG_VIA6522_ADD("via6522_1", 783360, mac_via6522_2_intf)
- MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk2", SCSIHD, 0)
+ MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_6)
+ MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_5)
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
@@ -1355,8 +1355,8 @@ static MACHINE_CONFIG_START( macpb140, mac_state )
MCFG_VIA6522_ADD("via6522_0", 783360, mac_via6522_adb_intf)
MCFG_VIA6522_ADD("via6522_1", 783360, mac_via6522_2_intf)
- MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk2", SCSIHD, 0)
+ MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_6)
+ MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_5)
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
@@ -1426,8 +1426,8 @@ static MACHINE_CONFIG_START( macpb160, mac_state )
MCFG_VIA6522_ADD("via6522_0", 783360, mac_via6522_adb_intf)
MCFG_VIA6522_ADD("via6522_1", 783360, mac_via6522_2_intf)
- MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk2", SCSIHD, 0)
+ MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_6)
+ MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_5)
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
@@ -1597,8 +1597,8 @@ static MACHINE_CONFIG_START( pwrmac, mac_state )
MCFG_VIA6522_ADD("via6522_0", 783360, mac_via6522_adb_intf)
MCFG_VIA6522_ADD("via6522_1", 783360, mac_via6522_2_intf)
- MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk2", SCSIHD, 0)
+ MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_6)
+ MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_5)
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
@@ -1649,8 +1649,8 @@ static MACHINE_CONFIG_START( macqd700, mac_state )
MCFG_NCR539X_ADD(MAC_539X_1_TAG, C7M, mac_539x_intf)
- MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk2", SCSIHD, 0)
+ MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_6)
+ MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_5)
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
diff --git a/src/mess/drivers/rmnimbus.c b/src/mess/drivers/rmnimbus.c
index e7295c87482..0e5eb1bad55 100644
--- a/src/mess/drivers/rmnimbus.c
+++ b/src/mess/drivers/rmnimbus.c
@@ -80,12 +80,12 @@ static const msm5205_interface msm5205_config =
static const SCSIConfigTable nimbus_scsi_dev_table =
{
- 4, /* 4 SCSI devices */
+ 4, /* 4 SCSI devices */
{
- { SCSI_ID_0, HARDDISK0_TAG },
- { SCSI_ID_1, HARDDISK1_TAG },
- { SCSI_ID_2, HARDDISK2_TAG },
- { SCSI_ID_3, HARDDISK3_TAG },
+ { HARDDISK0_TAG },
+ { HARDDISK1_TAG },
+ { HARDDISK2_TAG },
+ { HARDDISK3_TAG },
}
};
@@ -334,10 +334,10 @@ static MACHINE_CONFIG_START( nimbus, rmnimbus_state )
MCFG_WD2793_ADD(FDC_TAG, nimbus_wd17xx_interface )
MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(nimbus_floppy_interface)
- MCFG_DEVICE_ADD(HARDDISK0_TAG, SCSIHD, 0)
- MCFG_DEVICE_ADD(HARDDISK1_TAG, SCSIHD, 0)
- MCFG_DEVICE_ADD(HARDDISK2_TAG, SCSIHD, 0)
- MCFG_DEVICE_ADD(HARDDISK3_TAG, SCSIHD, 0)
+ MCFG_SCSIDEV_ADD(HARDDISK0_TAG, SCSIHD, SCSI_ID_0)
+ MCFG_SCSIDEV_ADD(HARDDISK1_TAG, SCSIHD, SCSI_ID_1)
+ MCFG_SCSIDEV_ADD(HARDDISK2_TAG, SCSIHD, SCSI_ID_2)
+ MCFG_SCSIDEV_ADD(HARDDISK3_TAG, SCSIHD, SCSI_ID_3)
MCFG_SCSIBUS_ADD(SCSIBUS_TAG, scsibus_config)
MCFG_RAM_ADD(RAM_TAG)
diff --git a/src/mess/drivers/v1050.c b/src/mess/drivers/v1050.c
index c33f6bec171..8d8ad44e08d 100644
--- a/src/mess/drivers/v1050.c
+++ b/src/mess/drivers/v1050.c
@@ -991,9 +991,9 @@ static const floppy_interface v1050_floppy_interface =
static const SCSIConfigTable sasi_dev_table =
{
- 1,
+ 1, /* 1 SCSI device */
{
- { SCSI_ID_0, "harddisk0" }
+ { "harddisk0" }
}
};
@@ -1123,7 +1123,7 @@ static MACHINE_CONFIG_START( v1050, v1050_state )
MCFG_SCSIBUS_ADD(SASIBUS_TAG, sasi_intf)
MCFG_TIMER_ADD(TIMER_ACK_TAG, sasi_ack_tick)
MCFG_TIMER_ADD(TIMER_RST_TAG, sasi_rst_tick)
- MCFG_DEVICE_ADD("harddisk0", SCSIHD, 0)
+ MCFG_SCSIDEV_ADD("harddisk0", SCSIHD, SCSI_ID_0)
// keyboard
MCFG_V1050_KEYBOARD_ADD()
diff --git a/src/mess/drivers/x68k.c b/src/mess/drivers/x68k.c
index 4f5a44dbcae..d863a37ee82 100644
--- a/src/mess/drivers/x68k.c
+++ b/src/mess/drivers/x68k.c
@@ -2531,15 +2531,15 @@ static const floppy_interface x68k_floppy_interface =
static const SCSIConfigTable x68k_scsi_devtable =
{
- 7, /* 7 SCSI devices */
+ 7, /* 7 SCSI devices */
{
- { SCSI_ID_0, "harddisk0" },
- { SCSI_ID_1, "harddisk1" },
- { SCSI_ID_2, "harddisk2" },
- { SCSI_ID_3, "harddisk3" },
- { SCSI_ID_4, "harddisk4" },
- { SCSI_ID_5, "harddisk5" },
- { SCSI_ID_6, "harddisk6" },
+ { "harddisk0" },
+ { "harddisk1" },
+ { "harddisk2" },
+ { "harddisk3" },
+ { "harddisk4" },
+ { "harddisk5" },
+ { "harddisk6" },
}
};
@@ -2834,13 +2834,13 @@ static MACHINE_CONFIG_START( x68ksupr, x68k_state )
MCFG_CPU_PROGRAM_MAP(x68kxvi_map)
MCFG_MB89352A_ADD("mb89352_int",x68k_scsi_intf)
- MCFG_DEVICE_ADD("harddisk0", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk2", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk3", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk4", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk5", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk6", SCSIHD, 0)
+ MCFG_SCSIDEV_ADD("harddisk0", SCSIHD, SCSI_ID_0)
+ MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_1)
+ MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_2)
+ MCFG_SCSIDEV_ADD("harddisk3", SCSIHD, SCSI_ID_3)
+ MCFG_SCSIDEV_ADD("harddisk4", SCSIHD, SCSI_ID_4)
+ MCFG_SCSIDEV_ADD("harddisk5", SCSIHD, SCSI_ID_5)
+ MCFG_SCSIDEV_ADD("harddisk6", SCSIHD, SCSI_ID_6)
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( x68kxvi, x68k_state )
@@ -2854,13 +2854,13 @@ static MACHINE_CONFIG_START( x68kxvi, x68k_state )
MCFG_CPU_PROGRAM_MAP(x68kxvi_map)
MCFG_MB89352A_ADD("mb89352_int",x68k_scsi_intf)
- MCFG_DEVICE_ADD("harddisk0", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk2", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk3", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk4", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk5", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk6", SCSIHD, 0)
+ MCFG_SCSIDEV_ADD("harddisk0", SCSIHD, SCSI_ID_0)
+ MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_1)
+ MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_2)
+ MCFG_SCSIDEV_ADD("harddisk3", SCSIHD, SCSI_ID_3)
+ MCFG_SCSIDEV_ADD("harddisk4", SCSIHD, SCSI_ID_4)
+ MCFG_SCSIDEV_ADD("harddisk5", SCSIHD, SCSI_ID_5)
+ MCFG_SCSIDEV_ADD("harddisk6", SCSIHD, SCSI_ID_6)
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( x68030, x68k_state )
@@ -2875,13 +2875,13 @@ static MACHINE_CONFIG_START( x68030, x68k_state )
MCFG_NVRAM_ADD_0FILL("nvram32")
MCFG_MB89352A_ADD("mb89352_int",x68k_scsi_intf)
- MCFG_DEVICE_ADD("harddisk0", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk1", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk2", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk3", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk4", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk5", SCSIHD, 0)
- MCFG_DEVICE_ADD("harddisk6", SCSIHD, 0)
+ MCFG_SCSIDEV_ADD("harddisk0", SCSIHD, SCSI_ID_0)
+ MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_1)
+ MCFG_SCSIDEV_ADD("harddisk2", SCSIHD, SCSI_ID_2)
+ MCFG_SCSIDEV_ADD("harddisk3", SCSIHD, SCSI_ID_3)
+ MCFG_SCSIDEV_ADD("harddisk4", SCSIHD, SCSI_ID_4)
+ MCFG_SCSIDEV_ADD("harddisk5", SCSIHD, SCSI_ID_5)
+ MCFG_SCSIDEV_ADD("harddisk6", SCSIHD, SCSI_ID_6)
MACHINE_CONFIG_END
ROM_START( x68000 )
diff --git a/src/mess/machine/abc_hdc.c b/src/mess/machine/abc_hdc.c
index 3241f07abc9..4acbb0ab8d4 100644
--- a/src/mess/machine/abc_hdc.c
+++ b/src/mess/machine/abc_hdc.c
@@ -90,9 +90,9 @@ static const z80_daisy_config daisy_chain[] =
static const SCSIConfigTable sasi_dev_table =
{
- 1,
+ 1, /* 1 SCSI device */
{
- { SCSI_ID_0, "harddisk0" }
+ { "harddisk0" }
}
};
@@ -121,7 +121,7 @@ static MACHINE_CONFIG_FRAGMENT( abc_hdc )
MCFG_CPU_CONFIG(daisy_chain)
MCFG_SCSIBUS_ADD(SASIBUS_TAG, sasi_intf)
- MCFG_DEVICE_ADD("harddisk0", SCSIHD, 0)
+ MCFG_SCSIDEV_ADD("harddisk0", SCSIHD, SCSI_ID_0)
MACHINE_CONFIG_END
diff --git a/src/mess/machine/abc_xebec.c b/src/mess/machine/abc_xebec.c
index 80b995c65fd..9688eb5ec4e 100644
--- a/src/mess/machine/abc_xebec.c
+++ b/src/mess/machine/abc_xebec.c
@@ -83,9 +83,9 @@ static const z80_daisy_config daisy_chain[] =
static const SCSIConfigTable sasi_dev_table =
{
- 1,
+ 1, /* 1 SCSI device */
{
- { SCSI_ID_0, "harddisk0" }
+ { "harddisk0" }
}
};
@@ -114,7 +114,7 @@ static MACHINE_CONFIG_FRAGMENT( abc_xebec )
MCFG_CPU_CONFIG(daisy_chain)
MCFG_SCSIBUS_ADD(SASIBUS_TAG, sasi_intf)
- MCFG_DEVICE_ADD("harddisk0", SCSIHD, 0)
+ MCFG_SCSIDEV_ADD("harddisk0", SCSIHD, SCSI_ID_0)
MACHINE_CONFIG_END
diff --git a/src/mess/machine/bebox.c b/src/mess/machine/bebox.c
index 3e7200e17c0..3e6e022952b 100644
--- a/src/mess/machine/bebox.c
+++ b/src/mess/machine/bebox.c
@@ -994,8 +994,8 @@ static const SCSIConfigTable dev_table =
{
2, /* 2 SCSI devices */
{
- { SCSI_ID_0, "harddisk1" }, /* SCSI ID 0, using HD 0, HD */
- { SCSI_ID_3, "cdrom" } /* SCSI ID 3, using CHD 0, CD-ROM */
+ { "harddisk1" },
+ { "cdrom" }
}
};
diff --git a/src/mess/machine/d9060.c b/src/mess/machine/d9060.c
index 3d6f720ca1d..04efee53579 100644
--- a/src/mess/machine/d9060.c
+++ b/src/mess/machine/d9060.c
@@ -145,9 +145,9 @@ ADDRESS_MAP_END
static const SCSIConfigTable sasi_dev_table =
{
- 1,
+ 1, /* 1 SCSI device */
{
- { SCSI_ID_0, "harddisk0" }
+ { "harddisk0" }
}
};
@@ -473,7 +473,7 @@ static MACHINE_CONFIG_FRAGMENT( d9060 )
MCFG_VIA6522_ADD(M6522_TAG, XTAL_4MHz/4, via_intf)
MCFG_SCSIBUS_ADD(SASIBUS_TAG, sasi_intf)
- MCFG_DEVICE_ADD("harddisk0", SCSIHD, 0)
+ MCFG_SCSIDEV_ADD("harddisk0", SCSIHD, SCSI_ID_0)
MACHINE_CONFIG_END
diff --git a/src/mess/machine/e01.c b/src/mess/machine/e01.c
index df6ed750491..8b54f8b4236 100644
--- a/src/mess/machine/e01.c
+++ b/src/mess/machine/e01.c
@@ -264,9 +264,9 @@ static const wd17xx_interface fdc_intf =
static const SCSIConfigTable scsi_dev_table =
{
- 1,
+ 1, /* 1 SCSI device */
{
- { SCSI_ID_0, "harddisk0" }
+ { "harddisk0" }
}
};
@@ -357,7 +357,7 @@ static MACHINE_CONFIG_FRAGMENT( e01 )
MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, e01_centronics_intf)
MCFG_SCSIBUS_ADD(SCSIBUS_TAG, scsi_intf)
- MCFG_DEVICE_ADD("harddisk0", SCSIHD, 0)
+ MCFG_SCSIDEV_ADD("harddisk0", SCSIHD, SCSI_ID_0)
// internal ram
MCFG_RAM_ADD(RAM_TAG)
diff --git a/src/mess/machine/fm_scsi.c b/src/mess/machine/fm_scsi.c
index 765d8884e43..388738e3f64 100644
--- a/src/mess/machine/fm_scsi.c
+++ b/src/mess/machine/fm_scsi.c
@@ -78,7 +78,8 @@ void fmscsi_device::device_start()
// initialise SCSI devices, if any present
for(x=0;x<scsidevs->devs_present;x++)
{
- m_SCSIdevices[scsidevs->devices[x].scsiID] = machine().device<scsidev_device>( scsidevs->devices[x].tag );
+ scsidev_device *device = machine().device<scsidev_device>( scsidevs->devices[x].tag );
+ m_SCSIdevices[device->GetDeviceID()] = device;
}
// allocate read timer
diff --git a/src/mess/machine/lux4105.c b/src/mess/machine/lux4105.c
index 4891fa17d6f..6d6b3ed04af 100644
--- a/src/mess/machine/lux4105.c
+++ b/src/mess/machine/lux4105.c
@@ -32,9 +32,9 @@ const device_type LUXOR_4105 = &device_creator<luxor_4105_device>;
static const SCSIConfigTable sasi_dev_table =
{
- 1,
+ 1, /* 1 SCSI device */
{
- { SCSI_ID_0, "harddisk0" }
+ { "harddisk0" }
}
};
diff --git a/src/mess/machine/mb89352.c b/src/mess/machine/mb89352.c
index 619bfd23b1e..6b054db62b0 100644
--- a/src/mess/machine/mb89352.c
+++ b/src/mess/machine/mb89352.c
@@ -160,7 +160,8 @@ void mb89352_device::device_start()
// try to open the devices
for (i = 0; i < scsidevs->devs_present; i++)
{
- m_SCSIdevices[scsidevs->devices[i].scsiID] = machine().device<scsidev_device>( scsidevs->devices[i].tag );
+ scsidev_device *device = machine().device<scsidev_device>( scsidevs->devices[i].tag );
+ m_SCSIdevices[device->GetDeviceID()] = device;
}
}
diff --git a/src/mess/machine/ncr5380.c b/src/mess/machine/ncr5380.c
index 7589631a161..dd750bf8432 100644
--- a/src/mess/machine/ncr5380.c
+++ b/src/mess/machine/ncr5380.c
@@ -127,7 +127,8 @@ void ncr5380_device::device_start()
// try to open the devices
for (i = 0; i < scsidevs->devs_present; i++)
{
- m_scsi_devices[scsidevs->devices[i].scsiID] = machine().device<scsidev_device>( scsidevs->devices[i].tag );
+ scsidev_device *device = machine().device<scsidev_device>( scsidevs->devices[i].tag );
+ m_scsi_devices[device->GetDeviceID()] = device;
}
}
diff --git a/src/mess/machine/scsibus.c b/src/mess/machine/scsibus.c
index 986cdb017b7..d98036f7f87 100644
--- a/src/mess/machine/scsibus.c
+++ b/src/mess/machine/scsibus.c
@@ -948,7 +948,8 @@ void init_scsibus(device_t *device, int sectorbytes)
for (devno = 0; devno < scsidevs->devs_present; devno++)
{
LOG(1,"SCSIBUS:init devno=%d \n",devno);
- bus->devices[scsidevs->devices[devno].scsiID] = device->machine().device<scsidev_device>( scsidevs->devices[devno].tag );
+ scsidev_device *scsidev = device->machine().device<scsidev_device>( scsidevs->devices[devno].tag );
+ bus->devices[scsidev->GetDeviceID()] = scsidev;
}
bus->sectorbytes = sectorbytes;
diff --git a/src/mess/machine/x68k_scsiext.c b/src/mess/machine/x68k_scsiext.c
index f30a6c55662..a278f175a4e 100644
--- a/src/mess/machine/x68k_scsiext.c
+++ b/src/mess/machine/x68k_scsiext.c
@@ -21,13 +21,13 @@ static const SCSIConfigTable x68k_scsiext_devtable =
{
7, /* 7 SCSI devices */
{
- { SCSI_ID_0, ":exp:cz6bs1:extharddisk0" },
- { SCSI_ID_1, ":exp:cz6bs1:extharddisk1" },
- { SCSI_ID_2, ":exp:cz6bs1:extharddisk2" },
- { SCSI_ID_3, ":exp:cz6bs1:extharddisk3" },
- { SCSI_ID_4, ":exp:cz6bs1:extharddisk4" },
- { SCSI_ID_5, ":exp:cz6bs1:extharddisk5" },
- { SCSI_ID_6, ":exp:cz6bs1:extharddisk6" },
+ { ":exp:cz6bs1:extharddisk0" },
+ { ":exp:cz6bs1:extharddisk1" },
+ { ":exp:cz6bs1:extharddisk2" },
+ { ":exp:cz6bs1:extharddisk3" },
+ { ":exp:cz6bs1:extharddisk4" },
+ { ":exp:cz6bs1:extharddisk5" },
+ { ":exp:cz6bs1:extharddisk6" },
}
};
@@ -55,13 +55,13 @@ const rom_entry *x68k_scsiext_device::device_rom_region() const
// device machine config
static MACHINE_CONFIG_FRAGMENT( x68k_scsiext )
MCFG_MB89352A_ADD("mb89352_ext",x68k_scsiext_intf)
- MCFG_DEVICE_ADD("extharddisk0", SCSIHD, 0)
- MCFG_DEVICE_ADD("extharddisk1", SCSIHD, 0)
- MCFG_DEVICE_ADD("extharddisk2", SCSIHD, 0)
- MCFG_DEVICE_ADD("extharddisk3", SCSIHD, 0)
- MCFG_DEVICE_ADD("extharddisk4", SCSIHD, 0)
- MCFG_DEVICE_ADD("extharddisk5", SCSIHD, 0)
- MCFG_DEVICE_ADD("extharddisk6", SCSIHD, 0)
+ MCFG_SCSIDEV_ADD("extharddisk0", SCSIHD, SCSI_ID_0)
+ MCFG_SCSIDEV_ADD("extharddisk1", SCSIHD, SCSI_ID_1)
+ MCFG_SCSIDEV_ADD("extharddisk2", SCSIHD, SCSI_ID_2)
+ MCFG_SCSIDEV_ADD("extharddisk3", SCSIHD, SCSI_ID_3)
+ MCFG_SCSIDEV_ADD("extharddisk4", SCSIHD, SCSI_ID_4)
+ MCFG_SCSIDEV_ADD("extharddisk5", SCSIHD, SCSI_ID_5)
+ MCFG_SCSIDEV_ADD("extharddisk6", SCSIHD, SCSI_ID_6)
MACHINE_CONFIG_END
machine_config_constructor x68k_scsiext_device::device_mconfig_additions() const