Previous 199869 Revisions Next

r18068 Friday 21st September, 2012 at 18:35:50 UTC by smf
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)
[src/emu/machine]scsibus.c scsibus.h scsicd.c scsicd.h scsidev.c scsidev.h scsihd.c scsihd.h
[src/mess/drivers]bullet.c v1050.c
[src/mess/machine]d9060.c e01.c lux4105.c rmnimbus.c

trunk/src/emu/machine/scsihd.c
r18067r18068
324324{
325325   disk = (hard_disk_file *)_disk;
326326}
327
328int scsihd_device::GetSectorBytes()
329{
330   return sectorbytes;
331}
trunk/src/emu/machine/scsihd.h
r18067r18068
2323   virtual void ExecCommand( int *transferLength );
2424   virtual void WriteData( UINT8 *data, int dataLength );
2525   virtual void ReadData( UINT8 *data, int dataLength );
26   virtual int GetSectorBytes();
2627
2728protected:
2829   // device-level overrides
trunk/src/emu/machine/scsidev.c
r18067r18068
128128   return scsiID;
129129}
130130
131int scsidev_device::GetSectorBytes()
132{
133   return 0;
134}
135
131136void scsidev_device::static_set_deviceid( device_t &device, int _scsiID )
132137{
133138   scsidev_device &scsidev = downcast<scsidev_device &>(device);
trunk/src/emu/machine/scsidev.h
r18067r18068
2424   virtual void SetPhase( int phase );
2525   virtual void GetPhase( int *phase );
2626   virtual int GetDeviceID();
27   virtual int GetSectorBytes();
2728
2829   // configuration helpers
2930   static void static_set_deviceid(device_t &device, int _scsiID);
trunk/src/emu/machine/scsicd.c
r18067r18068
773773{
774774   cdrom = (cdrom_file *)_cdrom;
775775}
776
777int scsicd_device::GetSectorBytes()
778{
779   return bytes_per_sector;
780}
trunk/src/emu/machine/scsicd.h
r18067r18068
2323   virtual void ExecCommand( int *transferLength );
2424   virtual void WriteData( UINT8 *data, int dataLength );
2525   virtual void ReadData( UINT8 *data, int dataLength );
26   virtual int GetSectorBytes();
2627
2728   static struct cdrom_interface cd_intf;
2829
trunk/src/emu/machine/scsibus.c
r18067r18068
130130      // only one line active.
131131      case SCSI_PHASE_BUS_FREE:
132132         last_id=scsibus_driveno(data);
133         sectorbytes = devices[last_id]->GetSectorBytes();
133134         break;
134135
135136      case SCSI_PHASE_COMMAND:
r18067r18068
690691   return 6;
691692}
692693
693void scsibus_device::init_scsibus(int _sectorbytes)
694{
695   sectorbytes = _sectorbytes;
696}
697
698694scsibus_device::scsibus_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
699695    : device_t(mconfig, SCSIBUS, "SCSI bus", tag, owner, clock)
700696{
trunk/src/emu/machine/scsibus.h
r18067r18068
118118   DECLARE_WRITE_LINE_MEMBER( scsi_ack_w );
119119   DECLARE_WRITE_LINE_MEMBER( scsi_rst_w );
120120
121   /* Initialisation at machine reset time */
122   void init_scsibus(int sectorbytes);
123
124121protected:
125122   // device-level overrides
126123   virtual void device_start();
trunk/src/mess/machine/lux4105.c
r18067r18068
206206
207207void luxor_4105_device::device_reset()
208208{
209   m_sasibus->init_scsibus(512);
210
211209   m_cs = 0;
212210   m_data = 0;
213211   m_dma = 0;
trunk/src/mess/machine/d9060.c
r18067r18068
560560
561561void base_d9060_device::device_reset()
562562{
563   m_sasibus->init_scsibus(256);
564
565563   m_maincpu->set_input_line(M6502_SET_OVERFLOW, ASSERT_LINE);
566564   m_maincpu->set_input_line(M6502_SET_OVERFLOW, CLEAR_LINE);
567565
trunk/src/mess/machine/rmnimbus.c
r18067r18068
24232423   rmnimbus_state *state = machine.driver_data<rmnimbus_state>();
24242424   scsibus_device *hdc = machine.device<scsibus_device>(SCSIBUS_TAG);
24252425
2426    hdc->init_scsibus(512);
2427
24282426    state->m_nimbus_drives.reg410_in=0;
24292427    state->m_nimbus_drives.reg410_in |= (hdc->get_scsi_line(SCSI_LINE_REQ) ? HDC_REQ_MASK : 0);
24302428    state->m_nimbus_drives.reg410_in |= (hdc->get_scsi_line(SCSI_LINE_CD)  ? HDC_CD_MASK  : 0);
trunk/src/mess/machine/e01.c
r18067r18068
557557
558558void e01_device::device_reset()
559559{
560   m_scsibus->init_scsibus(512);
561
562560   m_clk_timer->adjust(attotime::zero, 0, attotime::from_hz(200000));
563561
564562   membank("bank1")->set_entry(1);
trunk/src/mess/drivers/v1050.c
r18067r18068
10221022{
10231023   address_space &program = m_maincpu->space(AS_PROGRAM);
10241024
1025   // initialize SASI bus
1026   m_sasibus->init_scsibus(256);
1027
10281025   // initialize I8214
10291026   m_pic->etlg_w(1);
10301027   m_pic->inte_w(1);
trunk/src/mess/drivers/bullet.c
r18067r18068
11021102
11031103void bulletf_state::machine_start()
11041104{
1105   // initialize SASI bus
1106   m_scsibus->init_scsibus(512);
1107
11081105   // state saving
11091106   save_item(NAME(m_fdrdy));
11101107   save_item(NAME(m_rome));

Previous 199869 Revisions Next


© 1997-2024 The MAME Team