diff options
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 |
commit | 155d4487d6afc870bb23a9dec2e31c4177e11420 (patch) | |
tree | dca976fe18c5604538f66df2bc208a953985783c | |
parent | 56516643a1585079a3a36faca689f0df44309454 (diff) |
tube_cms6809: Board is only mapped to upper half of tube addresses.
-rw-r--r-- | src/devices/bus/bbc/tube/tube_cms6809.cpp | 9 |
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); } |