From df75e7463ecf05651c87df04b188591056f0233e Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Thu, 19 Jan 2017 22:05:39 +1100 Subject: [PATCH] zorba: use perfect time quantum for keybaord MCU, map right shift (nw) There's some kind of sync issue between the keyboard MCU which generates serial signals off its internal timer/counter and the 8251 USART in the computer that causes characters to be dropped. Some characters are more likely to be dropped than others. There's an issue somewhere in the chain, and this is a good test case for whatever it is. --- src/mame/drivers/zorba.cpp | 2 +- src/mame/machine/zorbakbd.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mame/drivers/zorba.cpp b/src/mame/drivers/zorba.cpp index 2efeeed1112..e348c55db0d 100644 --- a/src/mame/drivers/zorba.cpp +++ b/src/mame/drivers/zorba.cpp @@ -259,7 +259,7 @@ MACHINE_CONFIG_START( zorba, zorba_state ) // J6 TTL-level serial keyboard MCFG_DEVICE_ADD("keyboard", ZORBA_KEYBOARD, 0) MCFG_ZORBA_KEYBOARD_RXD_CB(DEVWRITELINE("uart2", i8251_device, write_rxd)) - //MCFG_QUANTUM_PERFECT_CPU("keyboard:mcu") + MCFG_QUANTUM_PERFECT_CPU("keyboard:mcu") MCFG_SOFTWARE_LIST_ADD("flop_list", "zorba") MACHINE_CONFIG_END diff --git a/src/mame/machine/zorbakbd.cpp b/src/mame/machine/zorbakbd.cpp index 379a021a56b..aa8d801c688 100644 --- a/src/mame/machine/zorbakbd.cpp +++ b/src/mame/machine/zorbakbd.cpp @@ -92,7 +92,7 @@ INPUT_PORTS_START(zorba_keyboard) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("TAB") PORT_CODE(KEYCODE_TAB) PORT_CHAR(9) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR(']') PORT_CHAR('}') PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_H) PORT_CHAR('h') PORT_CHAR('H') - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("SHIFT") PORT_CODE(KEYCODE_LSHIFT) PORT_CHAR(UCHAR_SHIFT_1) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("SHIFT") PORT_CODE(KEYCODE_LSHIFT) PORT_CODE(KEYCODE_RSHIFT) PORT_CHAR(UCHAR_SHIFT_1) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("KP .") PORT_CODE(KEYCODE_DEL_PAD) PORT_CHAR(UCHAR_MAMEKEY(DEL_PAD)) PORT_START("ROW5")