From 57ab4eace9314b563e8522f13a5ef59d0425b562 Mon Sep 17 00:00:00 2001 From: Nigel Barnes Date: Sun, 20 Mar 2022 20:21:45 +0000 Subject: [PATCH] arc_midi_aka16: Corrected addressing of ROM page and UART. --- src/devices/bus/archimedes/podule/io.cpp | 6 +++--- src/devices/bus/archimedes/podule/io_morley.cpp | 2 +- src/devices/bus/archimedes/podule/rs423.cpp | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/devices/bus/archimedes/podule/io.cpp b/src/devices/bus/archimedes/podule/io.cpp index 1636079dc7e..829ad1585de 100644 --- a/src/devices/bus/archimedes/podule/io.cpp +++ b/src/devices/bus/archimedes/podule/io.cpp @@ -160,7 +160,7 @@ void arc_upmidi_aka12_device::ioc_map(address_map &map) { map(0x0000, 0x1fff).lr8(NAME([this](offs_t offset) { return m_podule_rom->base()[offset | ((m_rom_page << 11) & 0x3800)]; })).umask32(0x000000ff); map(0x2000, 0x203f).rw("via", FUNC(via6522_device::read), FUNC(via6522_device::write)).umask32(0x000000ff); - map(0x3000, 0x301f).rw("uart", FUNC(scn2681_device::read), FUNC(scn2681_device::write)).umask32(0x000000ff); + map(0x3000, 0x303f).rw("uart", FUNC(scn2681_device::read), FUNC(scn2681_device::write)).umask32(0x000000ff); } @@ -182,8 +182,8 @@ void arc_iomidi_aka15_device::memc_map(address_map &map) void arc_midi_aka16_device::ioc_map(address_map &map) { map(0x0000, 0x1fff).lr8(NAME([this](offs_t offset) { return m_podule_rom->base()[offset | ((m_rom_page << 11) & 0x3800)]; })).umask32(0x000000ff); - map(0x2000, 0x2000).lw8(NAME([this](u8 data) { m_rom_page = data; })); - map(0x3000, 0x301f).rw("uart", FUNC(scn2681_device::read), FUNC(scn2681_device::write)).umask32(0x000000ff); + map(0x2000, 0x203f).rw("uart", FUNC(scn2681_device::read), FUNC(scn2681_device::write)).umask32(0x000000ff); + map(0x3000, 0x3000).lw8(NAME([this](u8 data) { m_rom_page = data; })); } diff --git a/src/devices/bus/archimedes/podule/io_morley.cpp b/src/devices/bus/archimedes/podule/io_morley.cpp index ad3fae53591..284e26f5f9b 100644 --- a/src/devices/bus/archimedes/podule/io_morley.cpp +++ b/src/devices/bus/archimedes/podule/io_morley.cpp @@ -142,7 +142,7 @@ void arc_uma_morley_device::ioc_map(address_map &map) { map(0x0000, 0x1fff).lr8(NAME([this](offs_t offset) { return m_podule_rom->base()[offset | ((m_rom_page << 11) & 0x7800)]; })).umask32(0x000000ff); map(0x2000, 0x203f).rw("via", FUNC(via6522_device::read), FUNC(via6522_device::write)).umask32(0x000000ff); - map(0x3000, 0x301f).rw("uart", FUNC(scn2681_device::read), FUNC(scn2681_device::write)).umask32(0x000000ff); + map(0x3000, 0x303f).rw("uart", FUNC(scn2681_device::read), FUNC(scn2681_device::write)).umask32(0x000000ff); } void arc_uma_morley_device::memc_map(address_map &map) diff --git a/src/devices/bus/archimedes/podule/rs423.cpp b/src/devices/bus/archimedes/podule/rs423.cpp index 605c7db0877..d3f20c03edf 100644 --- a/src/devices/bus/archimedes/podule/rs423.cpp +++ b/src/devices/bus/archimedes/podule/rs423.cpp @@ -51,7 +51,7 @@ void arc_rs423_device::ioc_map(address_map &map) { map(0x0000, 0x1fff).lr8(NAME([this](offs_t offset) { return m_podule_rom->base()[offset | ((m_rom_page << 11) & 0x7800)]; })).umask32(0x000000ff); //map(0x2000, 0x203f).rw("via", FUNC(via6522_device::read), FUNC(via6522_device::write)).umask32(0x000000ff); - //map(0x3000, 0x301f).rw("duart", FUNC(scn2681_device::read), FUNC(scn2681_device::write)).umask32(0x000000ff); + //map(0x3000, 0x303f).rw("duart", FUNC(scn2681_device::read), FUNC(scn2681_device::write)).umask32(0x000000ff); }