summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author arbee <rb6502@users.noreply.github.com>2021-07-18 19:50:33 -0400
committer arbee <rb6502@users.noreply.github.com>2021-07-18 19:50:33 -0400
commit3509215e4e853272d38c56b101efa723c79565f8 (patch)
tree15750d17751c725b769009e69a8bca4fae5b0fc4 /src
parent51888262b7f0daf9204eea294f6c824c3a6dedf1 (diff)
apple3: disable the VIAs in Apple II mode. [Paul Hagstrom, R. Belmont]
Diffstat (limited to 'src')
-rw-r--r--src/mame/machine/apple3.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/mame/machine/apple3.cpp b/src/mame/machine/apple3.cpp
index 13dd3e0ef84..bcaa3c477e0 100644
--- a/src/mame/machine/apple3.cpp
+++ b/src/mame/machine/apple3.cpp
@@ -633,6 +633,7 @@ void apple3_state::apple3_via_0_out_b(uint8_t data)
void apple3_state::apple3_via_1_out_a(uint8_t data)
{
+ printf("via 1 out: A2 mode %02x\n", data & 0x40);
apple3_via_out(&m_via_1_a, data);
}
@@ -901,11 +902,11 @@ uint8_t apple3_state::apple3_memory_r(offs_t offset)
{
rv = m_bank7wr[offset - 0xf000];
}
- else if (offset >= 0xffd0 && offset <= 0xffdf)
+ else if ((offset >= 0xffd0 && offset <= 0xffdf) && (m_via_1_a & 0x40))
{
rv = m_via[0]->read(offset);
}
- else if (offset >= 0xffe0 && offset <= 0xffef)
+ else if ((offset >= 0xffe0 && offset <= 0xffef) && (m_via_1_a & 0x40))
{
rv = m_via[1]->read(offset);
}
@@ -1059,14 +1060,14 @@ void apple3_state::apple3_memory_w(offs_t offset, uint8_t data)
m_bank7wr[offset - 0xf000] = data;
}
}
- else if (offset >= 0xffd0 && offset <= 0xffdf)
+ else if ((offset >= 0xffd0 && offset <= 0xffdf) && (m_via_1_a & 0x40))
{
if (!machine().side_effects_disabled())
{
m_via[0]->write(offset, data);
}
}
- else if (offset >= 0xffe0 && offset <= 0xffef)
+ else if ((offset >= 0xffe0 && offset <= 0xffef) && (m_via_1_a & 0x40))
{
if (!machine().side_effects_disabled())
{