summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/machine/scsidev.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/machine/scsidev.h')
-rw-r--r--src/emu/machine/scsidev.h22
1 files changed, 22 insertions, 0 deletions
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