summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2018-11-25 15:51:25 -0500
committer AJR <ajrhacker@users.noreply.github.com>2018-11-25 15:52:20 -0500
commitc8816e5e7571f6a4e9eb09724121b6d6877df2ca (patch)
tree2282650c1c501f643e029385a7bc0afccb6cc121
parent0e4d68efd9b3a713f9be5f24b970a76e5b722def (diff)
bus/s100: Collect data reads by ANDing with FF, not ORing with 0 (nw)
-rw-r--r--src/devices/bus/s100/dj2db.cpp6
-rw-r--r--src/devices/bus/s100/mm65k16s.cpp2
-rw-r--r--src/devices/bus/s100/nsmdsa.cpp2
-rw-r--r--src/devices/bus/s100/nsmdsad.cpp2
-rw-r--r--src/devices/bus/s100/s100.cpp8
-rw-r--r--src/devices/bus/s100/s100.h6
-rw-r--r--src/devices/bus/s100/seals8k.cpp2
-rw-r--r--src/devices/bus/s100/wunderbus.cpp4
8 files changed, 16 insertions, 16 deletions
diff --git a/src/devices/bus/s100/dj2db.cpp b/src/devices/bus/s100/dj2db.cpp
index b4aa4d303e8..f3cff259db3 100644
--- a/src/devices/bus/s100/dj2db.cpp
+++ b/src/devices/bus/s100/dj2db.cpp
@@ -305,7 +305,7 @@ uint8_t s100_dj2db_device::s100_smemr_r(address_space &space, offs_t offset)
{
uint8_t data = 0;
-// if (!(m_board_enbl & m_phantom)) return 0;
+// if (!(m_board_enbl & m_phantom)) return 0xff;
if ((offset >= 0xf800) && (offset < 0xfbf8))
{
@@ -368,7 +368,7 @@ uint8_t s100_dj2db_device::s100_smemr_r(address_space &space, offs_t offset)
}
else
{
- return 0;
+ return 0xff;
}
// LS241 inverts data
@@ -475,7 +475,7 @@ void s100_dj2db_device::s100_mwrt_w(address_space &space, offs_t offset, uint8_t
uint8_t s100_dj2db_device::s100_sinp_r(address_space &space, offs_t offset)
{
- return 0;
+ return 0xff;
}
diff --git a/src/devices/bus/s100/mm65k16s.cpp b/src/devices/bus/s100/mm65k16s.cpp
index 2cc3edabb58..27cdc021d39 100644
--- a/src/devices/bus/s100/mm65k16s.cpp
+++ b/src/devices/bus/s100/mm65k16s.cpp
@@ -235,7 +235,7 @@ void s100_mm65k16s_device::device_reset()
uint8_t s100_mm65k16s_device::s100_smemr_r(address_space &space, offs_t offset)
{
- uint8_t data = 0;
+ uint8_t data = 0xff;
if (offset < 0xf800)
{
diff --git a/src/devices/bus/s100/nsmdsa.cpp b/src/devices/bus/s100/nsmdsa.cpp
index 3a2ab33b594..8efa1c9f392 100644
--- a/src/devices/bus/s100/nsmdsa.cpp
+++ b/src/devices/bus/s100/nsmdsa.cpp
@@ -107,5 +107,5 @@ void s100_mds_a_device::device_reset()
uint8_t s100_mds_a_device::s100_smemr_r(address_space &space, offs_t offset)
{
- return 0;
+ return 0xff;
}
diff --git a/src/devices/bus/s100/nsmdsad.cpp b/src/devices/bus/s100/nsmdsad.cpp
index 21c25e7dcbc..d13f6a7f748 100644
--- a/src/devices/bus/s100/nsmdsad.cpp
+++ b/src/devices/bus/s100/nsmdsad.cpp
@@ -109,5 +109,5 @@ void s100_mds_ad_device::device_reset()
uint8_t s100_mds_ad_device::s100_smemr_r(address_space &space, offs_t offset)
{
- return 0;
+ return 0xff;
}
diff --git a/src/devices/bus/s100/s100.cpp b/src/devices/bus/s100/s100.cpp
index 798cfd67b9e..dd28ca385d3 100644
--- a/src/devices/bus/s100/s100.cpp
+++ b/src/devices/bus/s100/s100.cpp
@@ -137,13 +137,13 @@ void s100_bus_device::add_card(device_s100_card_interface *card)
READ8_MEMBER( s100_bus_device::smemr_r )
{
- uint8_t data = 0;
+ uint8_t data = 0xff;
device_s100_card_interface *entry = m_device_list.first();
while (entry)
{
- data |= entry->s100_smemr_r(space, offset);
+ data &= entry->s100_smemr_r(space, offset);
entry = entry->next();
}
@@ -173,13 +173,13 @@ WRITE8_MEMBER( s100_bus_device::mwrt_w )
READ8_MEMBER( s100_bus_device::sinp_r )
{
- uint8_t data = 0;
+ uint8_t data = 0xff;
device_s100_card_interface *entry = m_device_list.first();
while (entry)
{
- data |= entry->s100_sinp_r(space, offset);
+ data &= entry->s100_sinp_r(space, offset);
entry = entry->next();
}
diff --git a/src/devices/bus/s100/s100.h b/src/devices/bus/s100/s100.h
index 139839a7172..6336be291e4 100644
--- a/src/devices/bus/s100/s100.h
+++ b/src/devices/bus/s100/s100.h
@@ -148,7 +148,7 @@ public:
// interrupts
virtual void s100_int_w(int state) { }
virtual void s100_nmi_w(int state) { }
- virtual uint8_t s100_sinta_r(offs_t offset) { return 0; }
+ virtual uint8_t s100_sinta_r(offs_t offset) { return 0xff; }
// vectored interrupts
virtual void s100_vi0_w(int state) { }
@@ -161,11 +161,11 @@ public:
virtual void s100_vi7_w(int state) { }
// memory access
- virtual uint8_t s100_smemr_r(address_space &space, offs_t offset) { return 0; }
+ virtual uint8_t s100_smemr_r(address_space &space, offs_t offset) { return 0xff; }
virtual void s100_mwrt_w(address_space &space, offs_t offset, uint8_t data) { }
// I/O access
- virtual uint8_t s100_sinp_r(address_space &space, offs_t offset) { return 0; }
+ virtual uint8_t s100_sinp_r(address_space &space, offs_t offset) { return 0xff; }
virtual void s100_sout_w(address_space &space, offs_t offset, uint8_t data) { }
// configuration access
diff --git a/src/devices/bus/s100/seals8k.cpp b/src/devices/bus/s100/seals8k.cpp
index 79e90a29d4f..9191f8566df 100644
--- a/src/devices/bus/s100/seals8k.cpp
+++ b/src/devices/bus/s100/seals8k.cpp
@@ -208,7 +208,7 @@ u8 s100_8k_sc_device::s100_smemr_r(address_space &space, offs_t offset)
if (board_selected(offset))
return m_ram[offset & 0x1fff];
else
- return 0;
+ return 0xff;
}
diff --git a/src/devices/bus/s100/wunderbus.cpp b/src/devices/bus/s100/wunderbus.cpp
index 43b7be095a3..9d307d9053b 100644
--- a/src/devices/bus/s100/wunderbus.cpp
+++ b/src/devices/bus/s100/wunderbus.cpp
@@ -303,9 +303,9 @@ void s100_wunderbus_device::s100_vi2_w(int state)
uint8_t s100_wunderbus_device::s100_sinp_r(address_space &space, offs_t offset)
{
uint8_t address = (m_7c->read() & 0x3e) << 2;
- if ((offset & 0xf8) != address) return 0;
+ if ((offset & 0xf8) != address) return 0xff;
- uint8_t data = 0;
+ uint8_t data = 0xff;
if ((offset & 0x07) < 7)
{