summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Nigel Barnes <Pernod70@users.noreply.github.com>2017-11-20 13:12:40 +0000
committer Nigel Barnes <Pernod70@users.noreply.github.com>2017-11-20 13:22:08 +0000
commitb35ea25f186c7da51927f6c67a210fe7a69e09ad (patch)
tree4cf8511290d2c2889ebf8eff7f932bff2884eb48
parent26d94f2275aec52c3a28c25076735fc7e4a465c6 (diff)
bbcm: Switch between internal/external tube ports.
-rw-r--r--src/mame/machine/bbc.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/mame/machine/bbc.cpp b/src/mame/machine/bbc.cpp
index cc2d12a9dfa..b3ea7af5aae 100644
--- a/src/mame/machine/bbc.cpp
+++ b/src/mame/machine/bbc.cpp
@@ -501,7 +501,11 @@ READ8_MEMBER(bbc_state::bbcm_r)
if ((myo>=0x80) && (myo<=0x9f)) return 0xfe;
if ((myo>=0xa0) && (myo<=0xbf)) return m_adlc ? m_adlc->read(space, myo & 0x03) : 0xfe;
if ((myo>=0xc0) && (myo<=0xdf)) return 0xff;
- if ((myo>=0xe0) && (myo<=0xff)) return m_intube ? m_intube->host_r(space, myo-0xe0) : 0xff;
+ if ((myo>=0xe0) && (myo<=0xff))
+ {
+ if (m_intube && m_ACCCON_ITU) return m_intube->host_r(space, myo-0xe0); /* Internal TUBE */
+ if (m_extube && !m_ACCCON_ITU) return m_extube->host_r(space, myo-0xe0); /* External TUBE */
+ }
}
return 0xfe;
}
@@ -532,7 +536,11 @@ WRITE8_MEMBER(bbc_state::bbcm_w)
//if ((myo>=0x80) && (myo<=0x9f))
if ((myo>=0xa0) && (myo<=0xbf) && (m_adlc)) m_adlc->write(space, myo & 0x03, data);
//if ((myo>=0xc0) && (myo<=0xdf))
- if ((myo>=0xe0) && (myo<=0xff) && (m_intube)) m_intube->host_w(space, myo-0xe0, data);
+ if ((myo>=0xe0) && (myo<=0xff))
+ {
+ if (m_intube && m_ACCCON_ITU) m_intube->host_w(space, myo-0xe0, data); /* Internal TUBE */
+ if (m_extube && !m_ACCCON_ITU) m_extube->host_w(space, myo-0xe0, data); /* External TUBE */
+ }
}
}