summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/upd765.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/upd765.h')
-rw-r--r--src/devices/machine/upd765.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/devices/machine/upd765.h b/src/devices/machine/upd765.h
index 2eefbc9ae55..d0c7c6ac3ae 100644
--- a/src/devices/machine/upd765.h
+++ b/src/devices/machine/upd765.h
@@ -63,16 +63,16 @@
MCFG_DEVICE_ADD(_tag, TC8566AF, 0)
#define MCFG_MCS3201_INPUT_HANDLER(_devcb) \
- devcb = &downcast<mcs3201_device &>(*device).set_input_handler(DEVCB_##_devcb);
+ downcast<mcs3201_device &>(*device).set_input_handler(DEVCB_##_devcb);
#define MCFG_UPD765_INTRQ_CALLBACK(_write) \
- devcb = &downcast<upd765_family_device &>(*device).set_intrq_wr_callback(DEVCB_##_write);
+ downcast<upd765_family_device &>(*device).set_intrq_wr_callback(DEVCB_##_write);
#define MCFG_UPD765_DRQ_CALLBACK(_write) \
- devcb = &downcast<upd765_family_device &>(*device).set_drq_wr_callback(DEVCB_##_write);
+ downcast<upd765_family_device &>(*device).set_drq_wr_callback(DEVCB_##_write);
#define MCFG_UPD765_HDL_CALLBACK(_write) \
- devcb = &downcast<upd765_family_device &>(*device).set_hdl_wr_callback(DEVCB_##_write);
+ downcast<upd765_family_device &>(*device).set_hdl_wr_callback(DEVCB_##_write);
/* Interface required for PC ISA wrapping */
class pc_fdc_interface : public device_t {
@@ -104,6 +104,9 @@ public:
template <class Object> devcb_base &set_intrq_wr_callback(Object &&cb) { return intrq_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_drq_wr_callback(Object &&cb) { return drq_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_hdl_wr_callback(Object &&cb) { return hdl_cb.set_callback(std::forward<Object>(cb)); }
+ auto intrq_wr_callback() { return intrq_cb.bind(); }
+ auto drq_wr_callback() { return drq_cb.bind(); }
+ auto hdl_wr_callback() { return hdl_cb.bind(); }
virtual void map(address_map &map) override = 0;
@@ -435,6 +438,10 @@ protected:
class upd765a_device : public upd765_family_device {
public:
+ upd765a_device(const machine_config &mconfig, const char *tag, device_t *owner, bool ready, bool select) : upd765a_device(mconfig, tag, owner, 0U) {
+ set_ready_line_connected(ready);
+ set_select_lines_connected(select);
+ }
upd765a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void map(address_map &map) override;