Previous 199869 Revisions Next

r18698 Thursday 25th October, 2012 at 11:21:16 UTC by smf
started thinking about how multi-endpoint devices will work, using a hierarchy has too many limitations (nw)
[src/emu/machine]scsibus.c scsidev.c scsidev.h

trunk/src/emu/machine/scsidev.c
r18697r18698
151151
152152   data_out = ( data_out & ~mask ) | ( data & mask );
153153
154   scsibus_device *m_scsibus = downcast<scsibus_device *>( owner() );
155154   m_scsibus->scsi_update();
156155}
trunk/src/emu/machine/scsidev.h
r18697r18698
2525#define SCSI_MASK_RST   ( 0x2000000 )
2626#define SCSI_MASK_ALL   ( 0x3ffffff )
2727
28class scsibus_device;
29
2830// base handler
2931class scsidev_device : public device_t
3032{
33   friend class scsibus_device;
34
3135public:
3236   // construction/destruction
3337   scsidev_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock);
3438
35   virtual void scsi_in( UINT32 data, UINT32 mask ) = 0;
39protected:
40   // device-level overrides
41   virtual void device_start();
42
3643   void scsi_out( UINT32 data, UINT32 mask );
3744
45private:
46   virtual void scsi_in( UINT32 data, UINT32 mask ) = 0;
47
3848   UINT32 data_out;
39
40protected:
41   // device-level overrides
42   virtual void device_start();
49   scsibus_device *m_scsibus;
4350};
4451
4552#endif
trunk/src/emu/machine/scsibus.c
r18697r18698
4646      if( scsidev != NULL )
4747      {
4848         devices[ deviceCount++ ] = scsidev;
49         scsidev->m_scsibus = this;
4950      }
5051   }
5152

Previous 199869 Revisions Next


© 1997-2024 The MAME Team