diff options
author | 2012-08-23 17:53:10 +0000 | |
---|---|---|
committer | 2012-08-23 17:53:10 +0000 | |
commit | 45e9cc7826aeb0a01a94b3efe58e9130b2c81ec0 (patch) | |
tree | 1e6b79c468c85c112e461bbc52b3f70d7de3ce59 | |
parent | 72fa59293f9a366a0a5b9b15b772cdde5a3998f6 (diff) |
glacial SCSI improvements towards NSCSI and beyond, moved the SCSI id onto the device (nw)
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 |