summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ariedlmayer@gmail.com>2025-07-25 23:07:43 -0400
committer AJR <ariedlmayer@gmail.com>2025-07-25 23:07:43 -0400
commitbd7be93bdf2a5d1ddc619453ea7635b7df8d061c (patch)
treea26df14f24a4a7891d5e128610a9a12fa743e6d4
parentf663de7076d33ff3ad28fc4ebf963974f2cc80d8 (diff)
atari810, atari1050: Fix polarity of host communications; correct drive select switch settings
-rw-r--r--src/devices/bus/a800/atari1050.cpp16
-rw-r--r--src/devices/bus/a800/atari810.cpp18
2 files changed, 17 insertions, 17 deletions
diff --git a/src/devices/bus/a800/atari1050.cpp b/src/devices/bus/a800/atari1050.cpp
index dec666b0b6b..94f8082d29b 100644
--- a/src/devices/bus/a800/atari1050.cpp
+++ b/src/devices/bus/a800/atari1050.cpp
@@ -54,27 +54,27 @@ void atari1050_device::mem_map(address_map &map)
void atari1050_device::data_out_w(int state)
{
- m_pia->pb_bit_w<6>(state);
+ m_pia->pb_bit_w<6>(!state);
}
void atari1050_device::command_w(int state)
{
- m_pia->pb_bit_w<7>(state);
+ m_pia->pb_bit_w<7>(!state);
}
void atari1050_device::ready_w(int state)
{
- m_pia->pb_bit_w<1>(state);
+ m_pia->pb_bit_w<1>(!state);
}
static INPUT_PORTS_START(atari1050)
- PORT_START("SELECT") // values not verified
- PORT_DIPNAME(0x03, 0x00, "Drive Code") PORT_DIPLOCATION("S2:1,2")
- PORT_DIPSETTING(0x00, "No. 1")
+ PORT_START("SELECT")
+ PORT_DIPNAME(0x03, 0x03, "Drive Code") PORT_DIPLOCATION("S2:1,2")
+ PORT_DIPSETTING(0x03, "No. 1")
PORT_DIPSETTING(0x01, "No. 2")
- PORT_DIPSETTING(0x02, "No. 3")
- PORT_DIPSETTING(0x03, "No. 4")
+ PORT_DIPSETTING(0x00, "No. 3")
+ PORT_DIPSETTING(0x02, "No. 4")
PORT_BIT(0xfc, IP_ACTIVE_LOW, IPT_UNUSED)
INPUT_PORTS_END
diff --git a/src/devices/bus/a800/atari810.cpp b/src/devices/bus/a800/atari810.cpp
index 62118335376..146856a67a7 100644
--- a/src/devices/bus/a800/atari810.cpp
+++ b/src/devices/bus/a800/atari810.cpp
@@ -52,27 +52,27 @@ void atari810_device::mem_map(address_map &map)
void atari810_device::data_out_w(int state)
{
- m_pia->pb_bit_w<7>(state);
+ m_pia->pb_bit_w<7>(!state);
}
void atari810_device::command_w(int state)
{
- m_pia->pb_bit_w<6>(state);
+ m_pia->pb_bit_w<6>(!state);
}
void atari810_device::ready_w(int state)
{
- m_pia->pb_bit_w<1>(state);
+ m_pia->pb_bit_w<1>(!state);
}
static INPUT_PORTS_START(atari810)
- PORT_START("SELECT") // values not verified
- PORT_DIPNAME(0x05, 0x00, "Drive Code") PORT_DIPLOCATION("S101:1,2")
- PORT_DIPSETTING(0x00, "No. 1")
- PORT_DIPSETTING(0x01, "No. 2")
- PORT_DIPSETTING(0x04, "No. 3")
- PORT_DIPSETTING(0x05, "No. 4")
+ PORT_START("SELECT")
+ PORT_DIPNAME(0x05, 0x05, "Drive Code") PORT_DIPLOCATION("S101:1,2")
+ PORT_DIPSETTING(0x05, "No. 1")
+ PORT_DIPSETTING(0x04, "No. 2")
+ PORT_DIPSETTING(0x00, "No. 3")
+ PORT_DIPSETTING(0x01, "No. 4")
PORT_BIT(0xfa, IP_ACTIVE_LOW, IPT_UNUSED)
INPUT_PORTS_END