summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author fulivi <fulivi@users.noreply.github.com>2018-04-17 04:32:37 +0200
committer R. Belmont <rb6502@users.noreply.github.com>2018-04-16 22:32:37 -0400
commit753934d6e5a4c73ddbe184632517e4a42cdeffd8 (patch)
treea0b72877a067fae3c85c1ac250609b8b7cbf594e
parent683d649d778f82b9d764fafdba4ee9627d3769d2 (diff)
hp64k: added IEEE488 remotizer to bus (#3456)
* hp64k: added IEEE488 remotizer to bus, small fixes to remotizer * remote488: removed sub-classing of bitbanger, back to plain bitb * remote488: re-introduced logging of parser FSM in a separated logging category
-rw-r--r--src/devices/bus/ieee488/ieee488.cpp3
-rw-r--r--src/devices/bus/ieee488/remote488.cpp13
-rw-r--r--src/mame/drivers/hp64k.cpp2
3 files changed, 10 insertions, 8 deletions
diff --git a/src/devices/bus/ieee488/ieee488.cpp b/src/devices/bus/ieee488/ieee488.cpp
index 3f823bdd48d..7903be8fe49 100644
--- a/src/devices/bus/ieee488/ieee488.cpp
+++ b/src/devices/bus/ieee488/ieee488.cpp
@@ -436,6 +436,5 @@ SLOT_INTERFACE_END
#include "remote488.h"
SLOT_INTERFACE_START(remote488_devices)
- SLOT_INTERFACE("remote488", REMOTE488)
-
+ SLOT_INTERFACE("remote488", REMOTE488)
SLOT_INTERFACE_END
diff --git a/src/devices/bus/ieee488/remote488.cpp b/src/devices/bus/ieee488/remote488.cpp
index 5ec97798c4d..9df480c2923 100644
--- a/src/devices/bus/ieee488/remote488.cpp
+++ b/src/devices/bus/ieee488/remote488.cpp
@@ -157,8 +157,11 @@
#include "remote488.h"
// Debugging
-#define VERBOSE 1
#include "logmacro.h"
+#define LOG_PARSER_MASK (LOG_GENERAL << 1)
+#define LOG_PARSER(...) LOGMASKED(LOG_PARSER_MASK, __VA_ARGS__)
+#undef VERBOSE
+#define VERBOSE LOG_GENERAL
// Bit manipulation
namespace {
@@ -325,8 +328,8 @@ void remote488_device::process_input_msgs()
if (m_flush_bytes) {
LOG("Flushed\n");
} else {
- recvd_data_byte(data , false);
m_poll_timer->reset();
+ recvd_data_byte(data , false);
return;
}
break;
@@ -336,8 +339,8 @@ void remote488_device::process_input_msgs()
LOG("Flushed\n");
m_flush_bytes = false;
} else {
- recvd_data_byte(data , true);
m_poll_timer->reset();
+ recvd_data_byte(data , true);
return;
}
break;
@@ -586,7 +589,7 @@ char remote488_device::recv_update(uint8_t& data)
case REM_RX_WAIT_SEP:
if (is_terminator(c) || is_space(c)) {
m_rx_state = REM_RX_WAIT_CH;
- LOG("PARSE %02x %d->%d\n" , c , prev_state , m_rx_state);
+ LOG_PARSER("PARSE %02x %d->%d\n" , c , prev_state , m_rx_state);
data = m_rx_data;
return m_rx_ch;
} else {
@@ -604,7 +607,7 @@ char remote488_device::recv_update(uint8_t& data)
m_rx_state = REM_RX_WAIT_CH;
break;
}
- LOG("PARSE %02x %d->%d\n" , c , prev_state , m_rx_state);
+ LOG_PARSER("PARSE %02x %d->%d\n" , c , prev_state , m_rx_state);
}
return 0;
}
diff --git a/src/mame/drivers/hp64k.cpp b/src/mame/drivers/hp64k.cpp
index f215f063a57..357d86e2620 100644
--- a/src/mame/drivers/hp64k.cpp
+++ b/src/mame/drivers/hp64k.cpp
@@ -1477,7 +1477,7 @@ MACHINE_CONFIG_START(hp64k_state::hp64k)
MCFG_IEEE488_ATN_CALLBACK(DEVWRITELINE("phi" , phi_device , atn_w))
MCFG_IEEE488_REN_CALLBACK(DEVWRITELINE("phi" , phi_device , ren_w))
MCFG_IEEE488_DIO_CALLBACK(DEVWRITE8("phi" , phi_device , bus_dio_w))
- // Feel so lonely here... waiting for the 488 remotizer ;)
+ MCFG_IEEE488_SLOT_ADD("ieee_rem" , 0 , remote488_devices , nullptr)
MACHINE_CONFIG_END
ROM_START(hp64k)