diff options
Diffstat (limited to 'src/devices/bus/pc_kbd/pc_kbdc.cpp')
-rw-r--r-- | src/devices/bus/pc_kbd/pc_kbdc.cpp | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/devices/bus/pc_kbd/pc_kbdc.cpp b/src/devices/bus/pc_kbd/pc_kbdc.cpp index 5e99056adbe..0b308b57f96 100644 --- a/src/devices/bus/pc_kbd/pc_kbdc.cpp +++ b/src/devices/bus/pc_kbd/pc_kbdc.cpp @@ -16,6 +16,10 @@ The following basic program can be useful for identifying scancodes: #include "emu.h" #include "pc_kbdc.h" +#define LOG_SIGNALS (1U<<1) +#define VERBOSE ( LOG_GENERAL ) + +#include "logmacro.h" //************************************************************************** // GLOBAL VARIABLES @@ -109,7 +113,7 @@ void pc_kbdc_device::device_start() } -void pc_kbdc_device::update_clock_state() +void pc_kbdc_device::update_clock_state(bool fromkb) { int new_clock_state = m_mb_clock_state & m_kb_clock_state; @@ -117,7 +121,7 @@ void pc_kbdc_device::update_clock_state() { // We first set our state to prevent possible endless loops m_clock_state = new_clock_state; - + LOGMASKED(LOG_SIGNALS, "%s Clock: %d\n", fromkb? "<-" : "->", m_clock_state); // Send state to keyboard interface logic on mainboard m_out_clock_cb(m_clock_state); @@ -128,7 +132,7 @@ void pc_kbdc_device::update_clock_state() } -void pc_kbdc_device::update_data_state() +void pc_kbdc_device::update_data_state(bool fromkb) { int new_data_state = m_mb_data_state & m_kb_data_state; @@ -136,6 +140,7 @@ void pc_kbdc_device::update_data_state() { // We first set our state to prevent possible endless loops m_data_state = new_data_state; + LOGMASKED(LOG_SIGNALS, "%s Data: %d\n", fromkb? "<-" : "->", m_data_state); // Send state to keyboard interface logic on mainboard m_out_data_cb(m_data_state); @@ -150,28 +155,28 @@ void pc_kbdc_device::update_data_state() WRITE_LINE_MEMBER(pc_kbdc_device::clock_write_from_mb) { m_mb_clock_state = state; - update_clock_state(); + update_clock_state(false); } WRITE_LINE_MEMBER(pc_kbdc_device::data_write_from_mb) { m_mb_data_state = state; - update_data_state(); + update_data_state(false); } WRITE_LINE_MEMBER(pc_kbdc_device::clock_write_from_kb) { m_kb_clock_state = state; - update_clock_state(); + update_clock_state(true); } WRITE_LINE_MEMBER(pc_kbdc_device::data_write_from_kb) { m_kb_data_state = state; - update_data_state(); + update_data_state(true); } |