diff options
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 |
commit | 146518bb121991199abc23ec27278e0ebd0cff24 (patch) | |
tree | 63a3d9b3f6ef9138f729741214b18ab3eb20f21c /src/devices/machine | |
parent | ee66ef82c3a6795e2e141346bac68e906ef49634 (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.cpp | 12 |
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)); |