diff options
Diffstat (limited to 'src/devices/bus/pc_kbd/ec1841.cpp')
-rw-r--r-- | src/devices/bus/pc_kbd/ec1841.cpp | 37 |
1 files changed, 18 insertions, 19 deletions
diff --git a/src/devices/bus/pc_kbd/ec1841.cpp b/src/devices/bus/pc_kbd/ec1841.cpp index 2a36345e1fa..9f189e7456d 100644 --- a/src/devices/bus/pc_kbd/ec1841.cpp +++ b/src/devices/bus/pc_kbd/ec1841.cpp @@ -35,9 +35,8 @@ #include "ec1841.h" -//#define LOG_GENERAL (1U << 0) //defined in logmacro.h already -#define LOG_KEYBOARD (1U << 1) -#define LOG_DEBUG (1U << 2) +#define LOG_KEYBOARD (1U << 1) +#define LOG_DEBUG (1U << 2) //#define VERBOSE (LOG_DEBUG) //#define LOG_OUTPUT_FUNC printf @@ -127,7 +126,7 @@ INPUT_PORTS_START( ec_1841_keyboard ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_D) PORT_CHAR('d') PORT_CHAR('D') PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_C) PORT_CHAR('c') PORT_CHAR('C') PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Rus/Lat R") PORT_CODE(KEYCODE_RCONTROL) PORT_CHAR(UCHAR_MAMEKEY(RCONTROL)) // scancode 0x5a - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 8 " UTF8_UP) PORT_CODE(KEYCODE_8_PAD) PORT_CHAR(UCHAR_MAMEKEY(8_PAD)) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(u8"Keypad 8 \u2191") PORT_CODE(KEYCODE_8_PAD) PORT_CHAR(UCHAR_MAMEKEY(8_PAD)) // U+2191 = ↑ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -147,7 +146,7 @@ INPUT_PORTS_START( ec_1841_keyboard ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_G) PORT_CHAR('g') PORT_CHAR('G') PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_B) PORT_CHAR('b') PORT_CHAR('B') PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F1) PORT_CHAR(UCHAR_MAMEKEY(F1)) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 4 " UTF8_LEFT) PORT_CODE(KEYCODE_4_PAD) PORT_CHAR(UCHAR_MAMEKEY(4_PAD)) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(u8"Keypad 4 \u2190") PORT_CODE(KEYCODE_4_PAD) PORT_CHAR(UCHAR_MAMEKEY(4_PAD)) // U+2190 = ← PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -167,7 +166,7 @@ INPUT_PORTS_START( ec_1841_keyboard ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_J) PORT_CHAR('j') PORT_CHAR('J') PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_M) PORT_CHAR('m') PORT_CHAR('M') PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F3) PORT_CHAR(UCHAR_MAMEKEY(F3)) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 6 " UTF8_RIGHT) PORT_CODE(KEYCODE_6_PAD) PORT_CHAR(UCHAR_MAMEKEY(6_PAD)) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(u8"Keypad 6 \u2192") PORT_CODE(KEYCODE_6_PAD) PORT_CHAR(UCHAR_MAMEKEY(6_PAD)) // U+2192 = → PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -185,9 +184,9 @@ INPUT_PORTS_START( ec_1841_keyboard ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('&') PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I') PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_L) PORT_CHAR('l') PORT_CHAR('L') - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("~ \xd0\xae") PORT_CODE(KEYCODE_BACKSLASH2) PORT_CHAR('~') // scancode 0x2a, Cyrillic Yu + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(u8"~ Ю") PORT_CODE(KEYCODE_BACKSLASH2) PORT_CHAR('~') // scancode 0x2a, Cyrillic Yu PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F5) PORT_CHAR(UCHAR_MAMEKEY(F5)) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 2 " UTF8_DOWN) PORT_CODE(KEYCODE_2_PAD) PORT_CHAR(UCHAR_MAMEKEY(2_PAD)) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(u8"Keypad 2 \u2193") PORT_CODE(KEYCODE_2_PAD) PORT_CHAR(UCHAR_MAMEKEY(2_PAD)) // U+2193 = ↓ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -195,7 +194,7 @@ INPUT_PORTS_START( ec_1841_keyboard ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('*') PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_O) PORT_CHAR('o') PORT_CHAR('O') PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('[') PORT_CHAR('[') - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("\xd0\x81") PORT_CODE(KEYCODE_ENTER_PAD) PORT_CHAR(UCHAR_MAMEKEY(ENTER_PAD)) // scancode 0x5c, Cyrillic Io + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(u8"Ё") PORT_CODE(KEYCODE_ENTER_PAD) PORT_CHAR(UCHAR_MAMEKEY(ENTER_PAD)) // scancode 0x5c, Cyrillic Io PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F6) PORT_CHAR(UCHAR_MAMEKEY(F6)) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Keypad 3 PgDn") PORT_CODE(KEYCODE_3_PAD) PORT_CHAR(UCHAR_MAMEKEY(3_PAD)) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -213,7 +212,7 @@ INPUT_PORTS_START( ec_1841_keyboard ) PORT_START("MD11") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_CHAR(')') - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("{ \xd0\xa5") PORT_CODE(KEYCODE_SLASH_PAD) PORT_CHAR('{') // scancode 0x36, Cyrillic Ha + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(u8"{ Х") PORT_CODE(KEYCODE_SLASH_PAD) PORT_CHAR('{') // scancode 0x36, Cyrillic Ha PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR('\'') PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>') PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F8) PORT_CHAR(UCHAR_MAMEKEY(F8)) @@ -223,7 +222,7 @@ INPUT_PORTS_START( ec_1841_keyboard ) PORT_START("MD12") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_CHAR('_') - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("} \xd0\xaa") PORT_CODE(KEYCODE_ASTERISK) PORT_CHAR('}') // scancode 0x3a, Cyrillic Hard sign + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(u8"} Ъ") PORT_CODE(KEYCODE_ASTERISK) PORT_CHAR('}') // scancode 0x3a, Cyrillic Hard sign PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR(':') PORT_CHAR('"') PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_RSHIFT) PORT_CHAR(UCHAR_SHIFT_1) PORT_CHAR(UCHAR_MAMEKEY(RSHIFT)) // scancode 0x55 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F9) PORT_CHAR(UCHAR_MAMEKEY(F9)) @@ -243,7 +242,7 @@ INPUT_PORTS_START( ec_1841_keyboard ) PORT_START("MD14") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_BACKSLASH) PORT_CHAR('\\') PORT_CHAR('|') - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("* PrtSc") PORT_CODE(KEYCODE_PRTSCR) PORT_CHAR(UCHAR_MAMEKEY(PRTSCR)) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("* PrtSc") PORT_CODE(KEYCODE_PRTSCR) PORT_CHAR(UCHAR_MAMEKEY(PRTSCR)) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_LALT) PORT_CHAR(UCHAR_MAMEKEY(LALT)) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Lat") PORT_CODE(KEYCODE_F11) PORT_CHAR(UCHAR_MAMEKEY(F11)) // scancode 0x57 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_NUMLOCK) PORT_CHAR(UCHAR_MAMEKEY(NUMLOCK)) @@ -324,7 +323,7 @@ void ec_1841_keyboard_device::device_reset() // clock_write - //------------------------------------------------- -WRITE_LINE_MEMBER( ec_1841_keyboard_device::clock_write ) +void ec_1841_keyboard_device::clock_write(int state) { LOG("clock write %d\n", state); } @@ -334,7 +333,7 @@ WRITE_LINE_MEMBER( ec_1841_keyboard_device::clock_write ) // data_write - //------------------------------------------------- -WRITE_LINE_MEMBER( ec_1841_keyboard_device::data_write ) +void ec_1841_keyboard_device::data_write(int state) { LOG("data write %d\n", state); } @@ -344,7 +343,7 @@ WRITE_LINE_MEMBER( ec_1841_keyboard_device::data_write ) // bus_w - //------------------------------------------------- -WRITE8_MEMBER( ec_1841_keyboard_device::bus_w ) +void ec_1841_keyboard_device::bus_w(uint8_t data) { LOGDBG("bus_w %02x\n", data); @@ -356,7 +355,7 @@ WRITE8_MEMBER( ec_1841_keyboard_device::bus_w ) // p1_r - //------------------------------------------------- -READ8_MEMBER( ec_1841_keyboard_device::p1_r ) +uint8_t ec_1841_keyboard_device::p1_r() { /* @@ -388,7 +387,7 @@ READ8_MEMBER( ec_1841_keyboard_device::p1_r ) // p1_w - //------------------------------------------------- -WRITE8_MEMBER( ec_1841_keyboard_device::p1_w ) +void ec_1841_keyboard_device::p1_w(uint8_t data) { /* bit description @@ -412,7 +411,7 @@ WRITE8_MEMBER( ec_1841_keyboard_device::p1_w ) // p2_w - //------------------------------------------------- -WRITE8_MEMBER( ec_1841_keyboard_device::p2_w ) +void ec_1841_keyboard_device::p2_w(uint8_t data) { /* bit description @@ -439,7 +438,7 @@ WRITE8_MEMBER( ec_1841_keyboard_device::p2_w ) // t1_r - //------------------------------------------------- -READ_LINE_MEMBER( ec_1841_keyboard_device::t1_r ) +int ec_1841_keyboard_device::t1_r() { if (BIT(m_p2,0)) { m_q = 1; |