summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2019-04-19 11:48:08 -0400
committer AJR <ajrhacker@users.noreply.github.com>2019-04-19 11:48:08 -0400
commita0e4dc429073b6e8a1d4ca660ea9b3299bdc67b8 (patch)
tree9b06f4fa540c561835c8b90b17289ebda5a6aca5
parentbc9e7c6eb718043545ce833154809a6dcedaed35 (diff)
esq5505.cpp: Fix crash in most sets caused by misconfigured address map (nw)
-rw-r--r--src/mame/drivers/esq5505.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/mame/drivers/esq5505.cpp b/src/mame/drivers/esq5505.cpp
index 9cfc251f3cc..eb2764514bb 100644
--- a/src/mame/drivers/esq5505.cpp
+++ b/src/mame/drivers/esq5505.cpp
@@ -194,7 +194,6 @@ public:
void init_sq1();
void init_denib();
DECLARE_INPUT_CHANGED_MEMBER(key_stroke);
- void cpu_space_map(address_map &map);
DECLARE_WRITE_LINE_MEMBER(esq5505_otis_irq);
@@ -240,6 +239,9 @@ private:
void vfx_map(address_map &map);
void vfxsd_map(address_map &map);
+ void cpu_space_map(address_map &map);
+ void eps_cpu_space_map(address_map &map);
+
uint16_t *m_rom, *m_ram;
uint16_t m_analog_values[8];
@@ -254,10 +256,15 @@ FLOPPY_FORMATS_END
void esq5505_state::cpu_space_map(address_map &map)
{
map(0xfffff0, 0xffffff).m(m_maincpu, FUNC(m68000_base_device::autovectors_map));
- map(0xfffff5, 0xfffff5).r(m_dmac, FUNC(hd63450_device::iack));
map(0xfffff7, 0xfffff7).r(m_duart, FUNC(mc68681_device::get_irq_vector));
}
+void esq5505_state::eps_cpu_space_map(address_map &map)
+{
+ cpu_space_map(map);
+ map(0xfffff5, 0xfffff5).r(m_dmac, FUNC(hd63450_device::iack));
+}
+
void esq5505_state::machine_start()
{
driver_device::machine_start();
@@ -644,6 +651,7 @@ void esq5505_state::eps(machine_config &config)
{
vfx(config);
m_maincpu->set_addrmap(AS_PROGRAM, &esq5505_state::eps_map);
+ m_maincpu->set_addrmap(AS_PROGRAM, &esq5505_state::eps_cpu_space_map);
m_duart->set_clock(10_MHz_XTAL / 2);