diff options
Diffstat (limited to 'src/devices/machine/ie15.cpp')
-rw-r--r-- | src/devices/machine/ie15.cpp | 48 |
1 files changed, 25 insertions, 23 deletions
diff --git a/src/devices/machine/ie15.cpp b/src/devices/machine/ie15.cpp index 438ffb1712b..1d45b25db94 100644 --- a/src/devices/machine/ie15.cpp +++ b/src/devices/machine/ie15.cpp @@ -11,7 +11,9 @@ ****************************************************************************/ +#include "emu.h" #include "machine/ie15.h" + #include "ie15.lh" @@ -28,8 +30,8 @@ } while (0) -ie15_device::ie15_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) - : device_t(mconfig, type, name, tag, owner, clock, shortname, source) +ie15_device::ie15_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) + : device_t(mconfig, type, tag, owner, clock) , device_serial_interface(mconfig, *this) , m_maincpu(*this, "maincpu") , m_p_videoram(*this, "video") @@ -43,7 +45,7 @@ ie15_device::ie15_device(const machine_config &mconfig, device_type type, const } ie15_device::ie15_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) - : ie15_device(mconfig, IE15, "IE15", tag, owner, clock, "ie15_device", __FILE__) + : ie15_device(mconfig, IE15, tag, owner, clock) { } @@ -168,38 +170,38 @@ READ8_MEMBER(ie15_device::kb_ready_r) WRITE8_MEMBER(ie15_device::kb_ready_w) { DBG_LOG(2, "keyboard", ("clear ready\n")); - m_kb_flag = IE_TRUE | IE_KB_ACK; + m_kb_flag = IE_TRUE | ie15_keyboard_device::IE_KB_ACK; } // active high; active = interpret controls, inactive = display controls READ8_MEMBER(ie15_device::kb_s_red_r) { - return m_io_keyboard->read() & IE_KB_RED ? IE_TRUE : 0; + return m_io_keyboard->read() & ie15_keyboard_device::IE_KB_RED ? IE_TRUE : 0; } // active high; active = setup mode READ8_MEMBER(ie15_device::kb_s_sdv_r) { - return m_kb_control & IE_KB_SDV ? IE_TRUE : 0; + return m_kb_control & ie15_keyboard_device::IE_KB_SDV ? IE_TRUE : 0; } // active high; active = keypress detected on aux keypad READ8_MEMBER(ie15_device::kb_s_dk_r) { - return m_kb_control & IE_KB_DK ? IE_TRUE : 0; + return m_kb_control & ie15_keyboard_device::IE_KB_DK ? IE_TRUE : 0; } // active low; active = full duplex, inactive = half duplex READ8_MEMBER(ie15_device::kb_s_dupl_r) { - return m_io_keyboard->read() & IE_KB_DUP ? IE_TRUE : 0; + return m_io_keyboard->read() & ie15_keyboard_device::IE_KB_DUP ? IE_TRUE : 0; } // active high; active = on-line, inactive = local editing READ8_MEMBER(ie15_device::kb_s_lin_r) { - return m_io_keyboard->read() & IE_KB_LIN ? IE_TRUE : 0; + return m_io_keyboard->read() & ie15_keyboard_device::IE_KB_LIN ? IE_TRUE : 0; } /* serial port */ @@ -362,15 +364,15 @@ ADDRESS_MAP_END /* Input ports */ INPUT_PORTS_START( ie15 ) PORT_START("io_keyboard") - PORT_DIPNAME(IE_KB_RED, IE_KB_RED, "RED (Interpret controls)") + PORT_DIPNAME(ie15_keyboard_device::IE_KB_RED, ie15_keyboard_device::IE_KB_RED, "RED (Interpret controls)") PORT_DIPSETTING(0x00, "Off") - PORT_DIPSETTING(IE_KB_RED, "On") - PORT_DIPNAME(IE_KB_DUP, IE_KB_DUP, "DUP (Full duplex)") + PORT_DIPSETTING(ie15_keyboard_device::IE_KB_RED, "On") + PORT_DIPNAME(ie15_keyboard_device::IE_KB_DUP, ie15_keyboard_device::IE_KB_DUP, "DUP (Full duplex)") PORT_DIPSETTING(0x00, "Off") - PORT_DIPSETTING(IE_KB_DUP, "On") - PORT_DIPNAME(IE_KB_LIN, IE_KB_LIN, "LIN (Online)") + PORT_DIPSETTING(ie15_keyboard_device::IE_KB_DUP, "On") + PORT_DIPNAME(ie15_keyboard_device::IE_KB_LIN, ie15_keyboard_device::IE_KB_LIN, "LIN (Online)") PORT_DIPSETTING(0x00, "Off") - PORT_DIPSETTING(IE_KB_LIN, "On") + PORT_DIPSETTING(ie15_keyboard_device::IE_KB_LIN, "On") INPUT_PORTS_END WRITE16_MEMBER( ie15_device::kbd_put ) @@ -451,7 +453,7 @@ void ie15_device::draw_scanline(uint32_t *p, uint16_t offset, uint8_t scanline) uint8_t ra = scanline % 8; uint32_t ra_high = 0x200 | ra; bool blink((m_screen->frame_number() % 10) > 4); - bool red(m_io_keyboard->read() & IE_KB_RED); + bool red(m_io_keyboard->read() & ie15_keyboard_device::IE_KB_RED); bool blink_red_line25 = blink && red && m_video.line25; bool cursor_blank = scanline > 7 && (!m_video.cursor || blink); @@ -496,12 +498,12 @@ void ie15_device::update_leds() uint8_t data = m_io_keyboard->read(); machine().output().set_value("lat_led", m_kb_ruslat ^ 1); - machine().output().set_value("nr_led", BIT(m_kb_control, IE_KB_NR_BIT) ^ 1); - machine().output().set_value("pch_led", BIT(data, IE_KB_PCH_BIT) ^ 1); - machine().output().set_value("dup_led", BIT(data, IE_KB_DUP_BIT) ^ 1); - machine().output().set_value("lin_led", BIT(data, IE_KB_LIN_BIT) ^ 1); - machine().output().set_value("red_led", BIT(data, IE_KB_RED_BIT) ^ 1); - machine().output().set_value("sdv_led", BIT(m_kb_control, IE_KB_SDV_BIT) ^ 1); + machine().output().set_value("nr_led", BIT(m_kb_control, ie15_keyboard_device::IE_KB_NR_BIT) ^ 1); + machine().output().set_value("pch_led", BIT(data, ie15_keyboard_device::IE_KB_PCH_BIT) ^ 1); + machine().output().set_value("dup_led", BIT(data, ie15_keyboard_device::IE_KB_DUP_BIT) ^ 1); + machine().output().set_value("lin_led", BIT(data, ie15_keyboard_device::IE_KB_LIN_BIT) ^ 1); + machine().output().set_value("red_led", BIT(data, ie15_keyboard_device::IE_KB_RED_BIT) ^ 1); + machine().output().set_value("sdv_led", BIT(m_kb_control, ie15_keyboard_device::IE_KB_SDV_BIT) ^ 1); machine().output().set_value("prd_led", 1); // XXX } @@ -628,4 +630,4 @@ const tiny_rom_entry *ie15_device::device_rom_region() const return ROM_NAME(ie15); } -const device_type IE15 = device_creator<ie15_device>; +DEFINE_DEVICE_TYPE(IE15, ie15_device, "ie15_device", "IE15") |