summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2019-08-21 13:27:17 -0400
committer AJR <ajrhacker@users.noreply.github.com>2019-08-21 13:27:17 -0400
commit1792ac0b9f520ff89482cd42c5a86a43a5e41e0d (patch)
treea864b7e3b4e00703570898f15e8f5992d55ebefc
parente1bda202058805df55a0ba110bd0e82a80113cae (diff)
alto2: Properly internalize address maps, likely fixing regression (nw)
-rw-r--r--src/devices/cpu/alto2/alto2cpu.cpp6
-rw-r--r--src/mame/drivers/alto2.cpp21
2 files changed, 3 insertions, 24 deletions
diff --git a/src/devices/cpu/alto2/alto2cpu.cpp b/src/devices/cpu/alto2/alto2cpu.cpp
index 22788db73f9..61ea287c81a 100644
--- a/src/devices/cpu/alto2/alto2cpu.cpp
+++ b/src/devices/cpu/alto2/alto2cpu.cpp
@@ -128,9 +128,9 @@ void alto2_cpu_device::iomem_map(address_map &map)
alto2_cpu_device::alto2_cpu_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock) :
cpu_device(mconfig, ALTO2, tag, owner, clock),
m_kb_read_callback(*this),
- m_ucode_config("ucode", ENDIANNESS_BIG, 32, 12, -2 ),
- m_const_config("const", ENDIANNESS_BIG, 16, 8, -1 ),
- m_iomem_config("iomem", ENDIANNESS_BIG, 16, 17, -1 ),
+ m_ucode_config("ucode", ENDIANNESS_BIG, 32, 12, -2, address_map_constructor(FUNC(alto2_cpu_device::ucode_map), this)),
+ m_const_config("const", ENDIANNESS_BIG, 16, 8, -1, address_map_constructor(FUNC(alto2_cpu_device::const_map), this)),
+ m_iomem_config("iomem", ENDIANNESS_BIG, 16, 17, -1, address_map_constructor(FUNC(alto2_cpu_device::iomem_map), this)),
m_cram_config(2),
m_ucode_rom_pages(1),
m_ucode_ram_pages(2),
diff --git a/src/mame/drivers/alto2.cpp b/src/mame/drivers/alto2.cpp
index d2d1dfeac16..eee0f48d598 100644
--- a/src/mame/drivers/alto2.cpp
+++ b/src/mame/drivers/alto2.cpp
@@ -28,9 +28,6 @@ public:
DECLARE_MACHINE_RESET(alto2);
void alto2(machine_config &config);
- void alto2_const_map(address_map &map);
- void alto2_iomem_map(address_map &map);
- void alto2_ucode_map(address_map &map);
protected:
u16 kb_r(offs_t offset);
@@ -259,30 +256,12 @@ ROM_END
// ADDRESS MAPS
//**************************************************************************
-void alto2_state::alto2_ucode_map(address_map &map)
-{
- map(0, 4*ALTO2_UCODE_PAGE_SIZE-1).m(m_maincpu, FUNC(alto2_cpu_device::ucode_map));
-}
-
-void alto2_state::alto2_const_map(address_map &map)
-{
- map(0, ALTO2_CONST_SIZE-1).m(m_maincpu, FUNC(alto2_cpu_device::const_map));
-}
-
-void alto2_state::alto2_iomem_map(address_map &map)
-{
- map(0, 2*ALTO2_RAM_SIZE-1).m(m_maincpu, FUNC(alto2_cpu_device::iomem_map));
-}
-
void alto2_state::alto2(machine_config &config)
{
// Basic machine hardware
// SYSCLK is Display Control part A51 (tagged 29.4MHz) divided by 5(?)
// 5.8MHz according to de.wikipedia.org/wiki/Xerox_Alto
ALTO2(config, m_maincpu, XTAL(29'491'200)/5);
- m_maincpu->set_addrmap(AS_PROGRAM, &alto2_state::alto2_ucode_map);
- m_maincpu->set_addrmap(AS_DATA, &alto2_state::alto2_const_map);
- m_maincpu->set_addrmap(AS_IO, &alto2_state::alto2_iomem_map);
m_maincpu->kb_read_callback().set(FUNC(alto2_state::kb_r));
// Video hardware