summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Nigel Barnes <Pernod70@users.noreply.github.com>2021-02-20 12:14:12 +0000
committer Nigel Barnes <Pernod70@users.noreply.github.com>2021-02-20 12:14:38 +0000
commit155d4487d6afc870bb23a9dec2e31c4177e11420 (patch)
treedca976fe18c5604538f66df2bc208a953985783c
parent56516643a1585079a3a36faca689f0df44309454 (diff)
tube_cms6809: Board is only mapped to upper half of tube addresses.
-rw-r--r--src/devices/bus/bbc/tube/tube_cms6809.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/devices/bus/bbc/tube/tube_cms6809.cpp b/src/devices/bus/bbc/tube/tube_cms6809.cpp
index 671bcc0533d..43c86628f2a 100644
--- a/src/devices/bus/bbc/tube/tube_cms6809.cpp
+++ b/src/devices/bus/bbc/tube/tube_cms6809.cpp
@@ -58,7 +58,6 @@ void bbc_tube_cms6809_device::device_add_mconfig(machine_config& config)
m_maincpu->set_addrmap(AS_PROGRAM, &bbc_tube_cms6809_device::tube_cms6809_mem);
MOS6522(config, m_via[0], 4_MHz_XTAL / 4);
- m_via[0]->readpb_handler().set_constant(0xff);
m_via[0]->writepb_handler().set(m_via[1], FUNC(via6522_device::write_pa));
m_via[0]->ca2_handler().set(m_via[1], FUNC(via6522_device::write_cb1));
m_via[0]->cb2_handler().set(m_via[1], FUNC(via6522_device::write_ca1));
@@ -113,10 +112,14 @@ void bbc_tube_cms6809_device::device_start()
uint8_t bbc_tube_cms6809_device::host_r(offs_t offset)
{
- return m_via[0]->read(offset & 0xf);
+ if (offset & 0x10)
+ return m_via[0]->read(offset & 0xf);
+ else
+ return 0xfe;
}
void bbc_tube_cms6809_device::host_w(offs_t offset, uint8_t data)
{
- m_via[0]->write(offset & 0xf, data);
+ if (offset & 0x10)
+ m_via[0]->write(offset & 0xf, data);
}