1 // license:BSD-3-Clause 2 // copyright-holders:Curt Coder 3 /********************************************************************** 4 5 ColecoVision Super Action Controller emulation 6 7 **********************************************************************/ 8 9 #ifndef MAME_BUS_COLECO_SAC_H 10 #define MAME_BUS_COLECO_SAC_H 11 12 #pragma once 13 14 #include "ctrl.h" 15 16 17 18 //************************************************************************** 19 // TYPE DEFINITIONS 20 //************************************************************************** 21 22 // ======================> coleco_super_action_controller_device 23 24 class coleco_super_action_controller_device : public device_t, 25 public device_colecovision_control_port_interface 26 { 27 public: 28 // construction/destruction 29 coleco_super_action_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); 30 31 // optional information overrides 32 virtual ioport_constructor device_input_ports() const override; 33 34 DECLARE_CUSTOM_INPUT_MEMBER( keypad_r ); 35 DECLARE_INPUT_CHANGED_MEMBER( slider_w ); 36 37 protected: 38 // device-level overrides 39 virtual void device_start() override; 40 41 // device_vcs_control_port_interface overrides 42 virtual uint8_t joy_r() override; 43 44 private: 45 required_ioport m_io_common0; 46 required_ioport m_io_common1; 47 required_ioport m_io_keypad; 48 }; 49 50 51 // device type definition 52 DECLARE_DEVICE_TYPE(COLECO_SUPER_ACTION_CONTROLLER, coleco_super_action_controller_device) 53 54 55 #endif // MAME_BUS_COLECO_SAC_H 56