summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/ncr5380n.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/ncr5380n.h')
-rw-r--r--src/devices/machine/ncr5380n.h45
1 files changed, 20 insertions, 25 deletions
diff --git a/src/devices/machine/ncr5380n.h b/src/devices/machine/ncr5380n.h
index 973616c65a3..365df032419 100644
--- a/src/devices/machine/ncr5380n.h
+++ b/src/devices/machine/ncr5380n.h
@@ -15,11 +15,6 @@
#include "machine/nscsi_bus.h"
-#define MCFG_NCR5380N_IRQ_HANDLER(_devcb) \
- downcast<ncr5380n_device &>(*device).set_irq_handler(DEVCB_##_devcb);
-
-#define MCFG_NCR5380N_DRQ_HANDLER(_devcb) \
- downcast<ncr5380n_device &>(*device).set_drq_handler(DEVCB_##_devcb);
class ncr5380n_device : public nscsi_device
{
@@ -27,11 +22,11 @@ public:
ncr5380n_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// configuration helpers
- template <class Object> devcb_base &set_irq_handler(Object &&cb) { return m_irq_handler.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_drq_handler(Object &&cb) { return m_drq_handler.set_callback(std::forward<Object>(cb)); }
+ auto irq_handler() { return m_irq_handler.bind(); }
+ auto drq_handler() { return m_drq_handler.bind(); }
- DECLARE_READ8_MEMBER(read);
- DECLARE_WRITE8_MEMBER(write);
+ uint8_t read(offs_t offset);
+ void write(offs_t offset, uint8_t data);
uint8_t dma_r();
void dma_w(uint8_t val);
@@ -203,22 +198,22 @@ private:
void map(address_map &map);
- DECLARE_READ8_MEMBER(scsidata_r);
- DECLARE_WRITE8_MEMBER(outdata_w);
- DECLARE_READ8_MEMBER(icmd_r);
- DECLARE_WRITE8_MEMBER(icmd_w);
- DECLARE_READ8_MEMBER(mode_r);
- DECLARE_WRITE8_MEMBER(mode_w);
- DECLARE_READ8_MEMBER(command_r);
- DECLARE_WRITE8_MEMBER(command_w);
- DECLARE_READ8_MEMBER(status_r);
- DECLARE_WRITE8_MEMBER(selenable_w);
- DECLARE_READ8_MEMBER(busandstatus_r);
- DECLARE_WRITE8_MEMBER(startdmasend_w);
- DECLARE_READ8_MEMBER(indata_r);
- DECLARE_WRITE8_MEMBER(startdmatargetrx_w);
- DECLARE_READ8_MEMBER(resetparityirq_r);
- DECLARE_WRITE8_MEMBER(startdmainitrx_w);
+ uint8_t scsidata_r();
+ void outdata_w(uint8_t data);
+ uint8_t icmd_r();
+ void icmd_w(uint8_t data);
+ uint8_t mode_r();
+ void mode_w(uint8_t data);
+ uint8_t command_r();
+ void command_w(uint8_t data);
+ uint8_t status_r();
+ void selenable_w(uint8_t data);
+ uint8_t busandstatus_r();
+ void startdmasend_w(uint8_t data);
+ uint8_t indata_r();
+ void startdmatargetrx_w(uint8_t data);
+ uint8_t resetparityirq_r();
+ void startdmainitrx_w(uint8_t data);
devcb_write_line m_irq_handler;
devcb_write_line m_drq_handler;