diff options
Diffstat (limited to 'src/devices/bus/rs232/ser_mouse.h')
-rw-r--r-- | src/devices/bus/rs232/ser_mouse.h | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/devices/bus/rs232/ser_mouse.h b/src/devices/bus/rs232/ser_mouse.h index 0e001916d83..28d6e73d0d3 100644 --- a/src/devices/bus/rs232/ser_mouse.h +++ b/src/devices/bus/rs232/ser_mouse.h @@ -6,8 +6,8 @@ * ****************************************************************************/ -#ifndef SER_MOUSE_H_ -#define SER_MOUSE_H_ +#ifndef MAME_BUS_RS232_SER_MOUSE_H +#define MAME_BUS_RS232_SER_MOUSE_H #include "rs232.h" @@ -17,13 +17,14 @@ class serial_mouse_device : public device_serial_interface { public: - serial_mouse_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source); - virtual ioport_constructor device_input_ports() const override; protected: + serial_mouse_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + virtual void device_start() override; virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; + virtual void mouse_trans(int dx, int dy, int nb, int mbc) = 0; virtual void set_frame() = 0; void set_mouse_enable(bool state); @@ -35,10 +36,13 @@ protected: virtual WRITE_LINE_MEMBER(input_dtr) override; virtual WRITE_LINE_MEMBER(input_rts) override; + int m_dtr; int m_rts; private: + void check_state() { set_mouse_enable(!m_dtr && !m_rts); } + uint8_t m_queue[256]; uint8_t m_head, m_tail, m_mb; @@ -48,8 +52,6 @@ private: required_ioport m_x; required_ioport m_y; required_ioport m_btn; - - void check_state() { set_mouse_enable(!m_dtr && !m_rts); } }; class microsoft_mouse_device : public serial_mouse_device @@ -64,7 +66,7 @@ protected: virtual void mouse_trans(int dx, int dy, int nb, int mbc) override; }; -extern const device_type MSFT_SERIAL_MOUSE; +DECLARE_DEVICE_TYPE(MSFT_SERIAL_MOUSE, microsoft_mouse_device) class mouse_systems_mouse_device : public serial_mouse_device { @@ -76,6 +78,6 @@ protected: virtual void mouse_trans(int dx, int dy, int nb, int mbc) override; }; -extern const device_type MSYSTEM_SERIAL_MOUSE; +DECLARE_DEVICE_TYPE(MSYSTEM_SERIAL_MOUSE, mouse_systems_mouse_device) -#endif /* SER_MOUSE_H_ */ +#endif // MAME_BUS_RS232_SER_MOUSE_H |