From e0273591c35e95427b3cc0010307db0456c37b98 Mon Sep 17 00:00:00 2001 From: Curt Coder Date: Tue, 7 Mar 2023 14:58:12 +0200 Subject: [PATCH] abc1600: Cleanup --- src/devices/bus/abckb/abc99.cpp | 7 ++- src/devices/bus/abckb/abc99.h | 4 +- src/devices/bus/abckb/r8.cpp | 104 ++++++++++++++++---------------- src/devices/bus/abckb/r8.h | 41 ++++--------- 4 files changed, 71 insertions(+), 85 deletions(-) diff --git a/src/devices/bus/abckb/abc99.cpp b/src/devices/bus/abckb/abc99.cpp index 519afcbe8e9..f25c5bcd807 100644 --- a/src/devices/bus/abckb/abc99.cpp +++ b/src/devices/bus/abckb/abc99.cpp @@ -61,8 +61,9 @@ Notes: // MACROS / CONSTANTS //************************************************************************** -#define I8035_Z2_TAG "z2" -#define I8035_Z5_TAG "z5" +#define I8035_Z2_TAG "z2" +#define I8035_Z5_TAG "z5" +#define R8_TAG "r8" @@ -173,7 +174,7 @@ void abc99_device::device_add_mconfig(machine_config &config) m_mousecpu->t1_in_cb().set(FUNC(abc99_device::z5_t1_r)); // mouse - R8(config, m_mouse, 0); + LUXOR_R8(config, m_mouse, 0); // sound hardware SPEAKER(config, "mono").front_center(); diff --git a/src/devices/bus/abckb/abc99.h b/src/devices/bus/abckb/abc99.h index bd25960c2c5..6e028201226 100644 --- a/src/devices/bus/abckb/abc99.h +++ b/src/devices/bus/abckb/abc99.h @@ -26,7 +26,7 @@ // ======================> abc99_device class abc99_device : public device_t, - public abc_keyboard_interface + public abc_keyboard_interface { public: // construction/destruction @@ -87,7 +87,7 @@ private: required_device m_maincpu; required_device m_mousecpu; required_device m_speaker; - required_device m_mouse; + required_device m_mouse; required_ioport m_z14; required_ioport m_cursor; output_finder<11> m_leds; diff --git a/src/devices/bus/abckb/r8.cpp b/src/devices/bus/abckb/r8.cpp index dc7c1c13fab..8372bbdedbc 100644 --- a/src/devices/bus/abckb/r8.cpp +++ b/src/devices/bus/abckb/r8.cpp @@ -14,24 +14,24 @@ // DEVICE DEFINITIONS //************************************************************************** -DEFINE_DEVICE_TYPE(R8, r8_device, "r8", "Luxor R8") +DEFINE_DEVICE_TYPE(LUXOR_R8, luxor_r8_device, "luxor_r8", "Luxor R8") //------------------------------------------------- // INPUT_PORTS( r8 ) //------------------------------------------------- -INPUT_PORTS_START( r8 ) +static INPUT_PORTS_START( r8 ) PORT_START("MOUSEB") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Left Mouse Button") PORT_CODE(MOUSECODE_BUTTON1) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Middle Mouse Button") PORT_CODE(MOUSECODE_BUTTON3) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Right Mouse Button") PORT_CODE(MOUSECODE_BUTTON2) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Left Mouse Button") PORT_CODE(MOUSECODE_BUTTON1) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Middle Mouse Button") PORT_CODE(MOUSECODE_BUTTON3) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Right Mouse Button") PORT_CODE(MOUSECODE_BUTTON2) PORT_START("MOUSEX") - PORT_BIT( 0xfff, 0x000, IPT_MOUSE_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(0) + PORT_BIT( 0xfff, 0x000, IPT_MOUSE_X ) PORT_SENSITIVITY(50) PORT_START("MOUSEY") - PORT_BIT( 0xfff, 0x000, IPT_MOUSE_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(0) + PORT_BIT( 0xfff, 0x000, IPT_MOUSE_Y ) PORT_SENSITIVITY(50) INPUT_PORTS_END @@ -39,7 +39,7 @@ INPUT_PORTS_END // input_ports - device-specific input ports //------------------------------------------------- -ioport_constructor r8_device::device_input_ports() const +ioport_constructor luxor_r8_device::device_input_ports() const { return INPUT_PORTS_NAME( r8 ); } @@ -49,37 +49,37 @@ ioport_constructor r8_device::device_input_ports() const // scan_mouse - //------------------------------------------------- -TIMER_CALLBACK_MEMBER(r8_device::scan_mouse) +TIMER_CALLBACK_MEMBER(luxor_r8_device::scan_mouse) { - switch(m_mouse.phase) + switch(m_phase) { case 0: - m_mouse.xa = m_mouse.x > m_mouse.prev_x ? CLEAR_LINE : ASSERT_LINE; - m_mouse.xb = m_mouse.x < m_mouse.prev_x ? CLEAR_LINE : ASSERT_LINE; - m_mouse.ya = m_mouse.y > m_mouse.prev_y ? CLEAR_LINE : ASSERT_LINE; - m_mouse.yb = m_mouse.y < m_mouse.prev_y ? CLEAR_LINE : ASSERT_LINE; + m_xa = m_x > m_prev_x ? CLEAR_LINE : ASSERT_LINE; + m_xb = m_x < m_prev_x ? CLEAR_LINE : ASSERT_LINE; + m_ya = m_y > m_prev_y ? CLEAR_LINE : ASSERT_LINE; + m_yb = m_y < m_prev_y ? CLEAR_LINE : ASSERT_LINE; break; case 1: - m_mouse.xa = m_mouse.xb = m_mouse.x != m_mouse.prev_x ? CLEAR_LINE : ASSERT_LINE; - m_mouse.ya = m_mouse.yb = m_mouse.y != m_mouse.prev_y ? CLEAR_LINE : ASSERT_LINE; + m_xa = m_xb = m_x != m_prev_x ? CLEAR_LINE : ASSERT_LINE; + m_ya = m_yb = m_y != m_prev_y ? CLEAR_LINE : ASSERT_LINE; break; case 2: - m_mouse.xa = m_mouse.x < m_mouse.prev_x ? CLEAR_LINE : ASSERT_LINE; - m_mouse.xb = m_mouse.x > m_mouse.prev_x ? CLEAR_LINE : ASSERT_LINE; - m_mouse.ya = m_mouse.y < m_mouse.prev_y ? CLEAR_LINE : ASSERT_LINE; - m_mouse.yb = m_mouse.y > m_mouse.prev_y ? CLEAR_LINE : ASSERT_LINE; + m_xa = m_x < m_prev_x ? CLEAR_LINE : ASSERT_LINE; + m_xb = m_x > m_prev_x ? CLEAR_LINE : ASSERT_LINE; + m_ya = m_y < m_prev_y ? CLEAR_LINE : ASSERT_LINE; + m_yb = m_y > m_prev_y ? CLEAR_LINE : ASSERT_LINE; break; case 3: - m_mouse.xa = m_mouse.xb = ASSERT_LINE; - m_mouse.ya = m_mouse.yb = ASSERT_LINE; - m_mouse.prev_x = m_mouse.x; - m_mouse.prev_y = m_mouse.y; - m_mouse.x = m_mouse_x->read(); - m_mouse.y = m_mouse_y->read(); + m_xa = m_xb = ASSERT_LINE; + m_ya = m_yb = ASSERT_LINE; + m_prev_x = m_x; + m_prev_y = m_y; + m_x = m_mouse_x->read(); + m_y = m_mouse_y->read(); break; } - m_mouse.phase = (m_mouse.phase + 1) & 3; + m_phase = (m_phase + 1) & 3; } @@ -89,11 +89,11 @@ TIMER_CALLBACK_MEMBER(r8_device::scan_mouse) //************************************************************************** //------------------------------------------------- -// r8_device - constructor +// luxor_r8_device - constructor //------------------------------------------------- -r8_device::r8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : - device_t(mconfig, R8, tag, owner, clock), +luxor_r8_device::luxor_r8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + device_t(mconfig, LUXOR_R8, tag, owner, clock), m_mouse_timer(nullptr), m_mouse_b(*this, "MOUSEB"), m_mouse_x(*this, "MOUSEX"), @@ -106,22 +106,22 @@ r8_device::r8_device(const machine_config &mconfig, const char *tag, device_t *o // device_start - device-specific startup //------------------------------------------------- -void r8_device::device_start() +void luxor_r8_device::device_start() { // allocate timers - m_mouse_timer = timer_alloc(FUNC(r8_device::scan_mouse), this); + m_mouse_timer = timer_alloc(FUNC(luxor_r8_device::scan_mouse), this); m_mouse_timer->adjust(attotime::from_hz(1000), 0, attotime::from_hz(1000)); // state saving - save_item(NAME(m_mouse.phase)); - save_item(NAME(m_mouse.x)); - save_item(NAME(m_mouse.y)); - save_item(NAME(m_mouse.prev_x)); - save_item(NAME(m_mouse.prev_y)); - save_item(NAME(m_mouse.xa)); - save_item(NAME(m_mouse.xb)); - save_item(NAME(m_mouse.ya)); - save_item(NAME(m_mouse.yb)); + save_item(NAME(m_phase)); + save_item(NAME(m_x)); + save_item(NAME(m_y)); + save_item(NAME(m_prev_x)); + save_item(NAME(m_prev_y)); + save_item(NAME(m_xa)); + save_item(NAME(m_xb)); + save_item(NAME(m_ya)); + save_item(NAME(m_yb)); } @@ -129,13 +129,13 @@ void r8_device::device_start() // device_reset - device-specific reset //------------------------------------------------- -void r8_device::device_reset() +void luxor_r8_device::device_reset() { - m_mouse.phase = 0; - m_mouse.xa = m_mouse.xb = ASSERT_LINE; - m_mouse.ya = m_mouse.yb = ASSERT_LINE; - m_mouse.x = m_mouse.y = 0; - m_mouse.prev_x = m_mouse.prev_y = 0; + m_phase = 0; + m_xa = m_xb = ASSERT_LINE; + m_ya = m_yb = ASSERT_LINE; + m_x = m_y = 0; + m_prev_x = m_prev_y = 0; } @@ -143,15 +143,15 @@ void r8_device::device_reset() // read - //------------------------------------------------- -u8 r8_device::read() +u8 luxor_r8_device::read() { u8 data = 0; // mouse movement - data |= m_mouse.xa; - data |= m_mouse.xb << 1; - data |= m_mouse.ya << 2; - data |= m_mouse.yb << 3; + data |= m_xa; + data |= m_xb << 1; + data |= m_ya << 2; + data |= m_yb << 3; // mouse buttons data |= (m_mouse_b->read() & 0x07) << 4; diff --git a/src/devices/bus/abckb/r8.h b/src/devices/bus/abckb/r8.h index d9976652f87..26c03fa64b2 100644 --- a/src/devices/bus/abckb/r8.h +++ b/src/devices/bus/abckb/r8.h @@ -13,29 +13,17 @@ -#include "emu.h" - - - -//************************************************************************** -// MACROS / CONSTANTS -//************************************************************************** - -#define R8_TAG "r8" - - - //************************************************************************** // TYPE DEFINITIONS //************************************************************************** -// ======================> r8_device +// ======================> luxor_r8_device -class r8_device : public device_t +class luxor_r8_device : public device_t { public: // construction/destruction - r8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + luxor_r8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); u8 read(); @@ -55,23 +43,20 @@ private: required_ioport m_mouse_x; required_ioport m_mouse_y; - struct - { - int phase; - int x; - int y; - int prev_x; - int prev_y; - int xa; - int xb; - int ya; - int yb; - } m_mouse; + int m_phase; + int m_x; + int m_y; + int m_prev_x; + int m_prev_y; + int m_xa; + int m_xb; + int m_ya; + int m_yb; }; // device type definition -DECLARE_DEVICE_TYPE(R8, r8_device) +DECLARE_DEVICE_TYPE(LUXOR_R8, luxor_r8_device) #endif // MAME_BUS_ABCKB_R8_H