summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2020-05-18 23:49:51 -0400
committer AJR <ajrhacker@users.noreply.github.com>2020-05-18 23:50:37 -0400
commit146518bb121991199abc23ec27278e0ebd0cff24 (patch)
tree63a3d9b3f6ef9138f729741214b18ab3eb20f21c /src/devices/machine
parentee66ef82c3a6795e2e141346bac68e906ef49634 (diff)
n82077aa, pc8477: SRA and SRB are not mapped in AT mode (nw)
Diffstat (limited to 'src/devices/machine')
-rw-r--r--src/devices/machine/upd765.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/devices/machine/upd765.cpp b/src/devices/machine/upd765.cpp
index 0ef2bc0e182..6f9e1698f84 100644
--- a/src/devices/machine/upd765.cpp
+++ b/src/devices/machine/upd765.cpp
@@ -98,8 +98,10 @@ void smc37c78_device::map(address_map &map)
void n82077aa_device::map(address_map &map)
{
- map(0x0, 0x0).r(FUNC(n82077aa_device::sra_r));
- map(0x1, 0x1).r(FUNC(n82077aa_device::srb_r));
+ if(mode != mode_t::AT) {
+ map(0x0, 0x0).r(FUNC(n82077aa_device::sra_r));
+ map(0x1, 0x1).r(FUNC(n82077aa_device::srb_r));
+ }
map(0x2, 0x2).rw(FUNC(n82077aa_device::dor_r), FUNC(n82077aa_device::dor_w));
map(0x3, 0x3).rw(FUNC(n82077aa_device::tdr_r), FUNC(n82077aa_device::tdr_w));
map(0x4, 0x4).rw(FUNC(n82077aa_device::msr_r), FUNC(n82077aa_device::dsr_w));
@@ -126,8 +128,10 @@ void dp8473_device::map(address_map &map)
void pc8477a_device::map(address_map &map)
{
- map(0x0, 0x0).r(FUNC(pc8477a_device::sra_r));
- map(0x1, 0x1).r(FUNC(pc8477a_device::srb_r));
+ if(mode != mode_t::AT) {
+ map(0x0, 0x0).r(FUNC(pc8477a_device::sra_r));
+ map(0x1, 0x1).r(FUNC(pc8477a_device::srb_r));
+ }
map(0x2, 0x2).rw(FUNC(pc8477a_device::dor_r), FUNC(pc8477a_device::dor_w));
map(0x3, 0x3).rw(FUNC(pc8477a_device::tdr_r), FUNC(pc8477a_device::tdr_w));
map(0x4, 0x4).rw(FUNC(pc8477a_device::msr_r), FUNC(pc8477a_device::dsr_w));