summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/nes_ctrl/zapper.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/nes_ctrl/zapper.h')
-rw-r--r--src/devices/bus/nes_ctrl/zapper.h19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/devices/bus/nes_ctrl/zapper.h b/src/devices/bus/nes_ctrl/zapper.h
index 5ae68fd0a6e..232a38cce5b 100644
--- a/src/devices/bus/nes_ctrl/zapper.h
+++ b/src/devices/bus/nes_ctrl/zapper.h
@@ -11,8 +11,9 @@
#pragma once
-
#include "ctrl.h"
+#include "zapper_sensor.h"
+
//**************************************************************************
// TYPE DEFINITIONS
@@ -25,22 +26,24 @@ class nes_zapper_device : public device_t,
{
public:
// construction/destruction
- nes_zapper_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ nes_zapper_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
- virtual ioport_constructor device_input_ports() const override;
+ virtual u8 read_bit34() override;
+ virtual u8 read_exp(offs_t offset) override;
+
+ DECLARE_INPUT_CHANGED_MEMBER(trigger);
protected:
// device-level overrides
virtual void device_start() override;
- virtual void device_reset() override;
-
- virtual uint8_t read_bit34() override;
- virtual uint8_t read_exp(offs_t offset) override;
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual ioport_constructor device_input_ports() const override;
private:
+ required_device<nes_zapper_sensor_device> m_sensor;
required_ioport m_lightx;
required_ioport m_lighty;
- required_ioport m_trigger;
+ emu_timer *m_trigger;
};