summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/ti99/internal/998board.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/ti99/internal/998board.cpp')
-rw-r--r--src/devices/bus/ti99/internal/998board.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/devices/bus/ti99/internal/998board.cpp b/src/devices/bus/ti99/internal/998board.cpp
index 77c8470a85e..0199742329a 100644
--- a/src/devices/bus/ti99/internal/998board.cpp
+++ b/src/devices/bus/ti99/internal/998board.cpp
@@ -2669,12 +2669,10 @@ void oso_device::update_hexbus()
// Check how the bus has changed. This depends on the states of all
// connected peripherals
- uint8_t value1 = hexbus_read();
- // if (value1 != value) LOGMASKED(LOG_OSO, "actually: %02x (BAV*=%d, HSK*=%d, data=%01x)\n", value1, (value1 & 0x04)? 1:0, (value1 & 0x10)? 1:0, ((value1>>4)&0x0c) | (value1&0x03));
// Update the state of BAV and HSK
- m_bav = ((value1 & bus::hexbus::HEXBUS_LINE_BAV)==0);
- m_hsk = ((value1 & bus::hexbus::HEXBUS_LINE_HSK)==0);
+ m_bav = (bus_bav_level()==ASSERT_LINE);
+ m_hsk = (bus_hsk_level()==ASSERT_LINE);
// Sometimes, Oso does not have a chance to advance its state after the
// last byte was read. In that case, a change of rdsetin would not be
@@ -2682,7 +2680,7 @@ void oso_device::update_hexbus()
// has happened.
if (m_hsk==false) m_rdsetold = false;
- m_oldvalue = value1;
+ m_oldvalue = m_current_bus_value;
}
/*
@@ -2691,8 +2689,8 @@ void oso_device::update_hexbus()
void oso_device::hexbus_value_changed(uint8_t data)
{
// LOGMASKED(LOG_OSO, "Hexbus value changed to %02x\n", data);
- bool bav = (data & bus::hexbus::HEXBUS_LINE_BAV)==0;
- bool hsk = (data & bus::hexbus::HEXBUS_LINE_HSK)==0;
+ bool bav = (bus_bav_level()==ASSERT_LINE);
+ bool hsk = (bus_hsk_level()==ASSERT_LINE);
if ((bav != m_bav) || (hsk != m_hsk))
{
@@ -2700,7 +2698,7 @@ void oso_device::hexbus_value_changed(uint8_t data)
m_hsk = hsk;
LOGMASKED(LOG_HEXBUS, "BAV*=%d, HSK*=%d\n", m_bav? 0:1, m_hsk? 0:1);
- int nibble = ((data & bus::hexbus::HEXBUS_LINE_BIT32)>>4) | (data & bus::hexbus::HEXBUS_LINE_BIT10);
+ int nibble = data_lines(data);
// The real devices are driven at a similar clock rate like the 99/8.
// The designers assumed that there is a clock tick of Oso between