diff options
author | 2012-09-21 18:35:50 +0000 | |
---|---|---|
committer | 2012-09-21 18:35:50 +0000 | |
commit | feee0c35b88234341b80e00ed9fdeffd81e05c94 (patch) | |
tree | 9d8a80218d07abda3497ba186f11c9b906d581a8 | |
parent | ea2666bdc58050c690e8e4020c92ba07dfb857f8 (diff) |
Removed init_scsibus() from scsibus_device as it was only used for passing the sector size, in reality this is an attribute of the hard drive and not the bus. It now asks the device for the size, however this will go away soon (nw)
-rw-r--r-- | src/emu/machine/scsibus.c | 6 | ||||
-rw-r--r-- | src/emu/machine/scsibus.h | 3 | ||||
-rw-r--r-- | src/emu/machine/scsicd.c | 5 | ||||
-rw-r--r-- | src/emu/machine/scsicd.h | 1 | ||||
-rw-r--r-- | src/emu/machine/scsidev.c | 5 | ||||
-rw-r--r-- | src/emu/machine/scsidev.h | 1 | ||||
-rw-r--r-- | src/emu/machine/scsihd.c | 5 | ||||
-rw-r--r-- | src/emu/machine/scsihd.h | 1 | ||||
-rw-r--r-- | src/mess/drivers/bullet.c | 3 | ||||
-rw-r--r-- | src/mess/drivers/v1050.c | 3 | ||||
-rw-r--r-- | src/mess/machine/d9060.c | 2 | ||||
-rw-r--r-- | src/mess/machine/e01.c | 2 | ||||
-rw-r--r-- | src/mess/machine/lux4105.c | 2 | ||||
-rw-r--r-- | src/mess/machine/rmnimbus.c | 2 |
14 files changed, 19 insertions, 22 deletions
diff --git a/src/emu/machine/scsibus.c b/src/emu/machine/scsibus.c index 72f667ec06d..e74384ac549 100644 --- a/src/emu/machine/scsibus.c +++ b/src/emu/machine/scsibus.c @@ -130,6 +130,7 @@ void scsibus_device::scsi_data_w( UINT8 data ) // only one line active. case SCSI_PHASE_BUS_FREE: last_id=scsibus_driveno(data); + sectorbytes = devices[last_id]->GetSectorBytes(); break; case SCSI_PHASE_COMMAND: @@ -690,11 +691,6 @@ int scsibus_device::get_scsi_cmd_len(int cbyte) return 6; } -void scsibus_device::init_scsibus(int _sectorbytes) -{ - sectorbytes = _sectorbytes; -} - scsibus_device::scsibus_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : device_t(mconfig, SCSIBUS, "SCSI bus", tag, owner, clock) { diff --git a/src/emu/machine/scsibus.h b/src/emu/machine/scsibus.h index 16db3015759..d4b082896a0 100644 --- a/src/emu/machine/scsibus.h +++ b/src/emu/machine/scsibus.h @@ -118,9 +118,6 @@ public: DECLARE_WRITE_LINE_MEMBER( scsi_ack_w ); DECLARE_WRITE_LINE_MEMBER( scsi_rst_w ); - /* Initialisation at machine reset time */ - void init_scsibus(int sectorbytes); - protected: // device-level overrides virtual void device_start(); diff --git a/src/emu/machine/scsicd.c b/src/emu/machine/scsicd.c index b9fd87da85b..3d32e5ec890 100644 --- a/src/emu/machine/scsicd.c +++ b/src/emu/machine/scsicd.c @@ -773,3 +773,8 @@ void scsicd_device::SetDevice( void *_cdrom ) { cdrom = (cdrom_file *)_cdrom; } + +int scsicd_device::GetSectorBytes() +{ + return bytes_per_sector; +} diff --git a/src/emu/machine/scsicd.h b/src/emu/machine/scsicd.h index 1f108e6de79..79189656072 100644 --- a/src/emu/machine/scsicd.h +++ b/src/emu/machine/scsicd.h @@ -23,6 +23,7 @@ public: virtual void ExecCommand( int *transferLength ); virtual void WriteData( UINT8 *data, int dataLength ); virtual void ReadData( UINT8 *data, int dataLength ); + virtual int GetSectorBytes(); static struct cdrom_interface cd_intf; diff --git a/src/emu/machine/scsidev.c b/src/emu/machine/scsidev.c index 42858e7830b..d49004e3f24 100644 --- a/src/emu/machine/scsidev.c +++ b/src/emu/machine/scsidev.c @@ -128,6 +128,11 @@ int scsidev_device::GetDeviceID() return scsiID; } +int scsidev_device::GetSectorBytes() +{ + return 0; +} + void scsidev_device::static_set_deviceid( device_t &device, int _scsiID ) { scsidev_device &scsidev = downcast<scsidev_device &>(device); diff --git a/src/emu/machine/scsidev.h b/src/emu/machine/scsidev.h index 8a3d4ca52c8..a66ede805df 100644 --- a/src/emu/machine/scsidev.h +++ b/src/emu/machine/scsidev.h @@ -24,6 +24,7 @@ public: virtual void SetPhase( int phase ); virtual void GetPhase( int *phase ); virtual int GetDeviceID(); + virtual int GetSectorBytes(); // configuration helpers static void static_set_deviceid(device_t &device, int _scsiID); diff --git a/src/emu/machine/scsihd.c b/src/emu/machine/scsihd.c index 5c555b82980..d3beba65544 100644 --- a/src/emu/machine/scsihd.c +++ b/src/emu/machine/scsihd.c @@ -324,3 +324,8 @@ void scsihd_device::SetDevice( void *_disk ) { disk = (hard_disk_file *)_disk; } + +int scsihd_device::GetSectorBytes() +{ + return sectorbytes; +} diff --git a/src/emu/machine/scsihd.h b/src/emu/machine/scsihd.h index 7dbe4a8a832..568f4f8a8e6 100644 --- a/src/emu/machine/scsihd.h +++ b/src/emu/machine/scsihd.h @@ -23,6 +23,7 @@ public: virtual void ExecCommand( int *transferLength ); virtual void WriteData( UINT8 *data, int dataLength ); virtual void ReadData( UINT8 *data, int dataLength ); + virtual int GetSectorBytes(); protected: // device-level overrides diff --git a/src/mess/drivers/bullet.c b/src/mess/drivers/bullet.c index 5cc349cfc7c..a6ea30c57c6 100644 --- a/src/mess/drivers/bullet.c +++ b/src/mess/drivers/bullet.c @@ -1102,9 +1102,6 @@ void bullet_state::machine_start() void bulletf_state::machine_start() { - // initialize SASI bus - m_scsibus->init_scsibus(512); - // state saving save_item(NAME(m_fdrdy)); save_item(NAME(m_rome)); diff --git a/src/mess/drivers/v1050.c b/src/mess/drivers/v1050.c index f7f0c48ec0d..fb9cad78936 100644 --- a/src/mess/drivers/v1050.c +++ b/src/mess/drivers/v1050.c @@ -1022,9 +1022,6 @@ void v1050_state::machine_start() { address_space &program = m_maincpu->space(AS_PROGRAM); - // initialize SASI bus - m_sasibus->init_scsibus(256); - // initialize I8214 m_pic->etlg_w(1); m_pic->inte_w(1); diff --git a/src/mess/machine/d9060.c b/src/mess/machine/d9060.c index e251e3ae196..1350e465635 100644 --- a/src/mess/machine/d9060.c +++ b/src/mess/machine/d9060.c @@ -560,8 +560,6 @@ void base_d9060_device::device_start() void base_d9060_device::device_reset() { - m_sasibus->init_scsibus(256); - m_maincpu->set_input_line(M6502_SET_OVERFLOW, ASSERT_LINE); m_maincpu->set_input_line(M6502_SET_OVERFLOW, CLEAR_LINE); diff --git a/src/mess/machine/e01.c b/src/mess/machine/e01.c index 2cac1732a7e..b5d5aa2b1a8 100644 --- a/src/mess/machine/e01.c +++ b/src/mess/machine/e01.c @@ -557,8 +557,6 @@ void e01_device::device_start() void e01_device::device_reset() { - m_scsibus->init_scsibus(512); - m_clk_timer->adjust(attotime::zero, 0, attotime::from_hz(200000)); membank("bank1")->set_entry(1); diff --git a/src/mess/machine/lux4105.c b/src/mess/machine/lux4105.c index 287fa3985e5..f1954dff053 100644 --- a/src/mess/machine/lux4105.c +++ b/src/mess/machine/lux4105.c @@ -206,8 +206,6 @@ void luxor_4105_device::device_start() void luxor_4105_device::device_reset() { - m_sasibus->init_scsibus(512); - m_cs = 0; m_data = 0; m_dma = 0; diff --git a/src/mess/machine/rmnimbus.c b/src/mess/machine/rmnimbus.c index 3df7947108d..94aca444667 100644 --- a/src/mess/machine/rmnimbus.c +++ b/src/mess/machine/rmnimbus.c @@ -2423,8 +2423,6 @@ static void hdc_reset(running_machine &machine) rmnimbus_state *state = machine.driver_data<rmnimbus_state>(); scsibus_device *hdc = machine.device<scsibus_device>(SCSIBUS_TAG); - hdc->init_scsibus(512); - state->m_nimbus_drives.reg410_in=0; state->m_nimbus_drives.reg410_in |= (hdc->get_scsi_line(SCSI_LINE_REQ) ? HDC_REQ_MASK : 0); state->m_nimbus_drives.reg410_in |= (hdc->get_scsi_line(SCSI_LINE_CD) ? HDC_CD_MASK : 0); |