diff options
Diffstat (limited to 'src/devices/bus/pet/user.h')
-rw-r--r-- | src/devices/bus/pet/user.h | 51 |
1 files changed, 26 insertions, 25 deletions
diff --git a/src/devices/bus/pet/user.h b/src/devices/bus/pet/user.h index f2889ec346d..52568776882 100644 --- a/src/devices/bus/pet/user.h +++ b/src/devices/bus/pet/user.h @@ -21,10 +21,10 @@ **********************************************************************/ -#pragma once +#ifndef MAME_BUS_PET_USER_H +#define MAME_BUS_PET_USER_H -#ifndef __PET_USER_PORT__ -#define __PET_USER_PORT__ +#pragma once @@ -90,7 +90,7 @@ devcb = &pet_user_port_device::set_m_handler(*device, DEVCB_##_devcb); -extern const device_type PET_USER_PORT; +DECLARE_DEVICE_TYPE(PET_USER_PORT, pet_user_port_device) class device_pet_user_port_interface; @@ -102,25 +102,25 @@ class pet_user_port_device : public device_t, public: pet_user_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - template<class _Object> static devcb_base &set_2_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_2_handler.set_callback(object); } - template<class _Object> static devcb_base &set_3_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_3_handler.set_callback(object); } - template<class _Object> static devcb_base &set_4_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_4_handler.set_callback(object); } - template<class _Object> static devcb_base &set_5_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_5_handler.set_callback(object); } - template<class _Object> static devcb_base &set_6_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_6_handler.set_callback(object); } - template<class _Object> static devcb_base &set_7_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_7_handler.set_callback(object); } - template<class _Object> static devcb_base &set_8_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_8_handler.set_callback(object); } - template<class _Object> static devcb_base &set_9_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_9_handler.set_callback(object); } - template<class _Object> static devcb_base &set_10_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_10_handler.set_callback(object); } - template<class _Object> static devcb_base &set_b_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_b_handler.set_callback(object); } - template<class _Object> static devcb_base &set_c_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_c_handler.set_callback(object); } - template<class _Object> static devcb_base &set_d_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_d_handler.set_callback(object); } - template<class _Object> static devcb_base &set_e_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_e_handler.set_callback(object); } - template<class _Object> static devcb_base &set_f_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_f_handler.set_callback(object); } - template<class _Object> static devcb_base &set_h_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_h_handler.set_callback(object); } - template<class _Object> static devcb_base &set_j_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_j_handler.set_callback(object); } - template<class _Object> static devcb_base &set_k_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_k_handler.set_callback(object); } - template<class _Object> static devcb_base &set_l_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_l_handler.set_callback(object); } - template<class _Object> static devcb_base &set_m_handler(device_t &device, _Object object) { return downcast<pet_user_port_device &>(device).m_m_handler.set_callback(object); } + template <class Object> static devcb_base &set_2_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_2_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> static devcb_base &set_3_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_3_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> static devcb_base &set_4_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_4_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> static devcb_base &set_5_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_5_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> static devcb_base &set_6_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_6_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> static devcb_base &set_7_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_7_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> static devcb_base &set_8_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_8_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> static devcb_base &set_9_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_9_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> static devcb_base &set_10_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_10_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> static devcb_base &set_b_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_b_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> static devcb_base &set_c_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_c_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> static devcb_base &set_d_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_d_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> static devcb_base &set_e_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_e_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> static devcb_base &set_f_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_f_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> static devcb_base &set_h_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_h_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> static devcb_base &set_j_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_j_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> static devcb_base &set_k_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_k_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> static devcb_base &set_l_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_l_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> static devcb_base &set_m_handler(device_t &device, Object &&cb) { return downcast<pet_user_port_device &>(device).m_m_handler.set_callback(std::forward<Object>(cb)); } DECLARE_WRITE_LINE_MEMBER( write_2 ); DECLARE_WRITE_LINE_MEMBER( write_3 ); @@ -177,7 +177,6 @@ class device_pet_user_port_interface : public device_slot_card_interface friend class pet_user_port_device; public: - device_pet_user_port_interface(const machine_config &mconfig, device_t &device); virtual ~device_pet_user_port_interface(); DECLARE_WRITE_LINE_MEMBER( output_2 ) { m_slot->m_2_handler(state); } @@ -201,6 +200,8 @@ public: DECLARE_WRITE_LINE_MEMBER( output_m ) { m_slot->m_m_handler(state); } protected: + device_pet_user_port_interface(const machine_config &mconfig, device_t &device); + virtual DECLARE_WRITE_LINE_MEMBER( input_2 ) {} virtual DECLARE_WRITE_LINE_MEMBER( input_3 ) {} virtual DECLARE_WRITE_LINE_MEMBER( input_4 ) {} @@ -227,4 +228,4 @@ protected: SLOT_INTERFACE_EXTERN( pet_user_port_cards ); -#endif +#endif // MAME_BUS_PET_USER_H |