summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/ie15.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/ie15.cpp')
-rw-r--r--src/devices/machine/ie15.cpp48
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")