summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2019-01-06 09:06:18 -0500
committer AJR <ajrhacker@users.noreply.github.com>2019-03-01 19:05:45 -0500
commiteb1b8e58e2245c9a2a5b910135f6f71e86d4844f (patch)
treed45dd99da09b9e0cfe9ba165b003244c3d5429b7 /src/emu
parentcbbfbd99cc5f243e1a111afce063e6b920dda074 (diff)
emumem: Allow an address shift of 1 (to the right) for 8-bit spaces (nw)
Diffstat (limited to 'src/emu')
-rw-r--r--src/emu/emumem.cpp9
-rw-r--r--src/emu/emumem_hedp.cpp28
-rw-r--r--src/emu/emumem_hedr0.cpp17
-rw-r--r--src/emu/emumem_hedr1.cpp17
-rw-r--r--src/emu/emumem_hedr2.cpp17
-rw-r--r--src/emu/emumem_hedr3.cpp17
-rw-r--r--src/emu/emumem_hedw0.cpp17
-rw-r--r--src/emu/emumem_hedw1.cpp17
-rw-r--r--src/emu/emumem_hedw2.cpp17
-rw-r--r--src/emu/emumem_hedw3.cpp17
-rw-r--r--src/emu/emumem_hem.cpp8
-rw-r--r--src/emu/emumem_hep.cpp4
-rw-r--r--src/emu/emumem_het.cpp4
-rw-r--r--src/emu/emumem_heu.cpp4
-rw-r--r--src/emu/emumem_heun.cpp8
15 files changed, 201 insertions, 0 deletions
diff --git a/src/emu/emumem.cpp b/src/emu/emumem.cpp
index e49a0f626b2..092e44d9555 100644
--- a/src/emu/emumem.cpp
+++ b/src/emu/emumem.cpp
@@ -742,6 +742,13 @@ void memory_manager::allocate(device_memory_interface &memory)
// allocate one of the appropriate type
switch (spaceconfig->data_width() | (spaceconfig->addr_shift() + 4))
{
+ case 8|(4+1):
+ if (spaceconfig->endianness() == ENDIANNESS_LITTLE)
+ memory.allocate<address_space_specific<0, 1, ENDIANNESS_LITTLE>>(*this, spacenum);
+ else
+ memory.allocate<address_space_specific<0, 1, ENDIANNESS_BIG >>(*this, spacenum);
+ break;
+
case 8|(4-0):
if (spaceconfig->endianness() == ENDIANNESS_LITTLE)
memory.allocate<address_space_specific<0, 0, ENDIANNESS_LITTLE>>(*this, spacenum);
@@ -2643,6 +2650,8 @@ template<int Width, int AddrShift, int Endian> memory_access_cache<Width, AddrSh
}
+template class memory_access_cache<0, 1, ENDIANNESS_LITTLE>;
+template class memory_access_cache<0, 1, ENDIANNESS_BIG>;
template class memory_access_cache<0, 0, ENDIANNESS_LITTLE>;
template class memory_access_cache<0, 0, ENDIANNESS_BIG>;
template class memory_access_cache<1, 3, ENDIANNESS_LITTLE>;
diff --git a/src/emu/emumem_hedp.cpp b/src/emu/emumem_hedp.cpp
index 84a592fbfbd..ccaa4ed650e 100644
--- a/src/emu/emumem_hedp.cpp
+++ b/src/emu/emumem_hedp.cpp
@@ -170,6 +170,8 @@ template<int Width, int AddrShift, int Endian> std::string handler_entry_write_i
+template class handler_entry_read_delegate<0, 1, ENDIANNESS_LITTLE, read8_delegate>;
+template class handler_entry_read_delegate<0, 1, ENDIANNESS_BIG, read8_delegate>;
template class handler_entry_read_delegate<0, 0, ENDIANNESS_LITTLE, read8_delegate>;
template class handler_entry_read_delegate<0, 0, ENDIANNESS_BIG, read8_delegate>;
template class handler_entry_read_delegate<1, 3, ENDIANNESS_LITTLE, read16_delegate>;
@@ -193,6 +195,8 @@ template class handler_entry_read_delegate<3, -2, ENDIANNESS_BIG, read64_dele
template class handler_entry_read_delegate<3, -3, ENDIANNESS_LITTLE, read64_delegate>;
template class handler_entry_read_delegate<3, -3, ENDIANNESS_BIG, read64_delegate>;
+template class handler_entry_read_delegate<0, 1, ENDIANNESS_LITTLE, read8m_delegate>;
+template class handler_entry_read_delegate<0, 1, ENDIANNESS_BIG, read8m_delegate>;
template class handler_entry_read_delegate<0, 0, ENDIANNESS_LITTLE, read8m_delegate>;
template class handler_entry_read_delegate<0, 0, ENDIANNESS_BIG, read8m_delegate>;
template class handler_entry_read_delegate<1, 3, ENDIANNESS_LITTLE, read16m_delegate>;
@@ -216,6 +220,8 @@ template class handler_entry_read_delegate<3, -2, ENDIANNESS_BIG, read64m_del
template class handler_entry_read_delegate<3, -3, ENDIANNESS_LITTLE, read64m_delegate>;
template class handler_entry_read_delegate<3, -3, ENDIANNESS_BIG, read64m_delegate>;
+template class handler_entry_read_delegate<0, 1, ENDIANNESS_LITTLE, read8s_delegate>;
+template class handler_entry_read_delegate<0, 1, ENDIANNESS_BIG, read8s_delegate>;
template class handler_entry_read_delegate<0, 0, ENDIANNESS_LITTLE, read8s_delegate>;
template class handler_entry_read_delegate<0, 0, ENDIANNESS_BIG, read8s_delegate>;
template class handler_entry_read_delegate<1, 3, ENDIANNESS_LITTLE, read16s_delegate>;
@@ -239,6 +245,8 @@ template class handler_entry_read_delegate<3, -2, ENDIANNESS_BIG, read64s_del
template class handler_entry_read_delegate<3, -3, ENDIANNESS_LITTLE, read64s_delegate>;
template class handler_entry_read_delegate<3, -3, ENDIANNESS_BIG, read64s_delegate>;
+template class handler_entry_read_delegate<0, 1, ENDIANNESS_LITTLE, read8sm_delegate>;
+template class handler_entry_read_delegate<0, 1, ENDIANNESS_BIG, read8sm_delegate>;
template class handler_entry_read_delegate<0, 0, ENDIANNESS_LITTLE, read8sm_delegate>;
template class handler_entry_read_delegate<0, 0, ENDIANNESS_BIG, read8sm_delegate>;
template class handler_entry_read_delegate<1, 3, ENDIANNESS_LITTLE, read16sm_delegate>;
@@ -262,6 +270,8 @@ template class handler_entry_read_delegate<3, -2, ENDIANNESS_BIG, read64sm_de
template class handler_entry_read_delegate<3, -3, ENDIANNESS_LITTLE, read64sm_delegate>;
template class handler_entry_read_delegate<3, -3, ENDIANNESS_BIG, read64sm_delegate>;
+template class handler_entry_read_delegate<0, 1, ENDIANNESS_LITTLE, read8mo_delegate>;
+template class handler_entry_read_delegate<0, 1, ENDIANNESS_BIG, read8mo_delegate>;
template class handler_entry_read_delegate<0, 0, ENDIANNESS_LITTLE, read8mo_delegate>;
template class handler_entry_read_delegate<0, 0, ENDIANNESS_BIG, read8mo_delegate>;
template class handler_entry_read_delegate<1, 3, ENDIANNESS_LITTLE, read16mo_delegate>;
@@ -285,6 +295,8 @@ template class handler_entry_read_delegate<3, -2, ENDIANNESS_BIG, read64mo_de
template class handler_entry_read_delegate<3, -3, ENDIANNESS_LITTLE, read64mo_delegate>;
template class handler_entry_read_delegate<3, -3, ENDIANNESS_BIG, read64mo_delegate>;
+template class handler_entry_read_delegate<0, 1, ENDIANNESS_LITTLE, read8smo_delegate>;
+template class handler_entry_read_delegate<0, 1, ENDIANNESS_BIG, read8smo_delegate>;
template class handler_entry_read_delegate<0, 0, ENDIANNESS_LITTLE, read8smo_delegate>;
template class handler_entry_read_delegate<0, 0, ENDIANNESS_BIG, read8smo_delegate>;
template class handler_entry_read_delegate<1, 3, ENDIANNESS_LITTLE, read16smo_delegate>;
@@ -308,6 +320,8 @@ template class handler_entry_read_delegate<3, -2, ENDIANNESS_BIG, read64smo_d
template class handler_entry_read_delegate<3, -3, ENDIANNESS_LITTLE, read64smo_delegate>;
template class handler_entry_read_delegate<3, -3, ENDIANNESS_BIG, read64smo_delegate>;
+template class handler_entry_write_delegate<0, 1, ENDIANNESS_LITTLE, write8_delegate>;
+template class handler_entry_write_delegate<0, 1, ENDIANNESS_BIG, write8_delegate>;
template class handler_entry_write_delegate<0, 0, ENDIANNESS_LITTLE, write8_delegate>;
template class handler_entry_write_delegate<0, 0, ENDIANNESS_BIG, write8_delegate>;
template class handler_entry_write_delegate<1, 3, ENDIANNESS_LITTLE, write16_delegate>;
@@ -331,6 +345,8 @@ template class handler_entry_write_delegate<3, -2, ENDIANNESS_BIG, write64_de
template class handler_entry_write_delegate<3, -3, ENDIANNESS_LITTLE, write64_delegate>;
template class handler_entry_write_delegate<3, -3, ENDIANNESS_BIG, write64_delegate>;
+template class handler_entry_write_delegate<0, 1, ENDIANNESS_LITTLE, write8m_delegate>;
+template class handler_entry_write_delegate<0, 1, ENDIANNESS_BIG, write8m_delegate>;
template class handler_entry_write_delegate<0, 0, ENDIANNESS_LITTLE, write8m_delegate>;
template class handler_entry_write_delegate<0, 0, ENDIANNESS_BIG, write8m_delegate>;
template class handler_entry_write_delegate<1, 3, ENDIANNESS_LITTLE, write16m_delegate>;
@@ -354,6 +370,8 @@ template class handler_entry_write_delegate<3, -2, ENDIANNESS_BIG, write64m_d
template class handler_entry_write_delegate<3, -3, ENDIANNESS_LITTLE, write64m_delegate>;
template class handler_entry_write_delegate<3, -3, ENDIANNESS_BIG, write64m_delegate>;
+template class handler_entry_write_delegate<0, 1, ENDIANNESS_LITTLE, write8s_delegate>;
+template class handler_entry_write_delegate<0, 1, ENDIANNESS_BIG, write8s_delegate>;
template class handler_entry_write_delegate<0, 0, ENDIANNESS_LITTLE, write8s_delegate>;
template class handler_entry_write_delegate<0, 0, ENDIANNESS_BIG, write8s_delegate>;
template class handler_entry_write_delegate<1, 3, ENDIANNESS_LITTLE, write16s_delegate>;
@@ -377,6 +395,8 @@ template class handler_entry_write_delegate<3, -2, ENDIANNESS_BIG, write64s_d
template class handler_entry_write_delegate<3, -3, ENDIANNESS_LITTLE, write64s_delegate>;
template class handler_entry_write_delegate<3, -3, ENDIANNESS_BIG, write64s_delegate>;
+template class handler_entry_write_delegate<0, 1, ENDIANNESS_LITTLE, write8sm_delegate>;
+template class handler_entry_write_delegate<0, 1, ENDIANNESS_BIG, write8sm_delegate>;
template class handler_entry_write_delegate<0, 0, ENDIANNESS_LITTLE, write8sm_delegate>;
template class handler_entry_write_delegate<0, 0, ENDIANNESS_BIG, write8sm_delegate>;
template class handler_entry_write_delegate<1, 3, ENDIANNESS_LITTLE, write16sm_delegate>;
@@ -400,6 +420,8 @@ template class handler_entry_write_delegate<3, -2, ENDIANNESS_BIG, write64sm_
template class handler_entry_write_delegate<3, -3, ENDIANNESS_LITTLE, write64sm_delegate>;
template class handler_entry_write_delegate<3, -3, ENDIANNESS_BIG, write64sm_delegate>;
+template class handler_entry_write_delegate<0, 1, ENDIANNESS_LITTLE, write8mo_delegate>;
+template class handler_entry_write_delegate<0, 1, ENDIANNESS_BIG, write8mo_delegate>;
template class handler_entry_write_delegate<0, 0, ENDIANNESS_LITTLE, write8mo_delegate>;
template class handler_entry_write_delegate<0, 0, ENDIANNESS_BIG, write8mo_delegate>;
template class handler_entry_write_delegate<1, 3, ENDIANNESS_LITTLE, write16mo_delegate>;
@@ -423,6 +445,8 @@ template class handler_entry_write_delegate<3, -2, ENDIANNESS_BIG, write64mo_
template class handler_entry_write_delegate<3, -3, ENDIANNESS_LITTLE, write64mo_delegate>;
template class handler_entry_write_delegate<3, -3, ENDIANNESS_BIG, write64mo_delegate>;
+template class handler_entry_write_delegate<0, 1, ENDIANNESS_LITTLE, write8smo_delegate>;
+template class handler_entry_write_delegate<0, 1, ENDIANNESS_BIG, write8smo_delegate>;
template class handler_entry_write_delegate<0, 0, ENDIANNESS_LITTLE, write8smo_delegate>;
template class handler_entry_write_delegate<0, 0, ENDIANNESS_BIG, write8smo_delegate>;
template class handler_entry_write_delegate<1, 3, ENDIANNESS_LITTLE, write16smo_delegate>;
@@ -447,6 +471,8 @@ template class handler_entry_write_delegate<3, -3, ENDIANNESS_LITTLE, write64smo
template class handler_entry_write_delegate<3, -3, ENDIANNESS_BIG, write64smo_delegate>;
+template class handler_entry_read_ioport<0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_ioport<0, 1, ENDIANNESS_BIG>;
template class handler_entry_read_ioport<0, 0, ENDIANNESS_LITTLE>;
template class handler_entry_read_ioport<0, 0, ENDIANNESS_BIG>;
template class handler_entry_read_ioport<1, 3, ENDIANNESS_LITTLE>;
@@ -470,6 +496,8 @@ template class handler_entry_read_ioport<3, -2, ENDIANNESS_BIG>;
template class handler_entry_read_ioport<3, -3, ENDIANNESS_LITTLE>;
template class handler_entry_read_ioport<3, -3, ENDIANNESS_BIG>;
+template class handler_entry_write_ioport<0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_ioport<0, 1, ENDIANNESS_BIG>;
template class handler_entry_write_ioport<0, 0, ENDIANNESS_LITTLE>;
template class handler_entry_write_ioport<0, 0, ENDIANNESS_BIG>;
template class handler_entry_write_ioport<1, 3, ENDIANNESS_LITTLE>;
diff --git a/src/emu/emumem_hedr0.cpp b/src/emu/emumem_hedr0.cpp
index b39b88263dc..92deb472e03 100644
--- a/src/emu/emumem_hedr0.cpp
+++ b/src/emu/emumem_hedr0.cpp
@@ -5,6 +5,23 @@
#include "emumem_hedr.ipp"
+template class handler_entry_read_dispatch< 1, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch< 1, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch< 2, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch< 2, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch< 3, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch< 3, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch< 4, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch< 4, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch< 5, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch< 5, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch< 6, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch< 6, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch< 7, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch< 7, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch< 8, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch< 8, 0, 1, ENDIANNESS_BIG>;
+
template class handler_entry_read_dispatch< 1, 0, 0, ENDIANNESS_LITTLE>;
template class handler_entry_read_dispatch< 1, 0, 0, ENDIANNESS_BIG>;
template class handler_entry_read_dispatch< 2, 0, 0, ENDIANNESS_LITTLE>;
diff --git a/src/emu/emumem_hedr1.cpp b/src/emu/emumem_hedr1.cpp
index 5a06dab08c3..86aa8452791 100644
--- a/src/emu/emumem_hedr1.cpp
+++ b/src/emu/emumem_hedr1.cpp
@@ -4,6 +4,23 @@
#include "emu.h"
#include "emumem_hedr.ipp"
+template class handler_entry_read_dispatch< 9, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch< 9, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch<10, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch<10, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch<11, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch<11, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch<12, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch<12, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch<13, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch<13, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch<14, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch<14, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch<15, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch<15, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch<16, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch<16, 0, 1, ENDIANNESS_BIG>;
+
template class handler_entry_read_dispatch< 9, 0, 0, ENDIANNESS_LITTLE>;
template class handler_entry_read_dispatch< 9, 0, 0, ENDIANNESS_BIG>;
template class handler_entry_read_dispatch<10, 0, 0, ENDIANNESS_LITTLE>;
diff --git a/src/emu/emumem_hedr2.cpp b/src/emu/emumem_hedr2.cpp
index 4c80f2423c4..a59bc746f9e 100644
--- a/src/emu/emumem_hedr2.cpp
+++ b/src/emu/emumem_hedr2.cpp
@@ -4,6 +4,23 @@
#include "emu.h"
#include "emumem_hedr.ipp"
+template class handler_entry_read_dispatch<17, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch<17, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch<18, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch<18, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch<19, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch<19, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch<20, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch<20, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch<21, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch<21, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch<22, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch<22, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch<23, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch<23, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch<24, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch<24, 0, 1, ENDIANNESS_BIG>;
+
template class handler_entry_read_dispatch<17, 0, 0, ENDIANNESS_LITTLE>;
template class handler_entry_read_dispatch<17, 0, 0, ENDIANNESS_BIG>;
template class handler_entry_read_dispatch<18, 0, 0, ENDIANNESS_LITTLE>;
diff --git a/src/emu/emumem_hedr3.cpp b/src/emu/emumem_hedr3.cpp
index 97fa6d1c9e3..aa325b5b5a8 100644
--- a/src/emu/emumem_hedr3.cpp
+++ b/src/emu/emumem_hedr3.cpp
@@ -5,6 +5,23 @@
#include "emumem_hedr.ipp"
+template class handler_entry_read_dispatch<25, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch<25, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch<26, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch<26, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch<27, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch<27, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch<28, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch<28, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch<29, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch<29, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch<30, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch<30, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch<31, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch<31, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_read_dispatch<32, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_dispatch<32, 0, 1, ENDIANNESS_BIG>;
+
template class handler_entry_read_dispatch<25, 0, 0, ENDIANNESS_LITTLE>;
template class handler_entry_read_dispatch<25, 0, 0, ENDIANNESS_BIG>;
template class handler_entry_read_dispatch<26, 0, 0, ENDIANNESS_LITTLE>;
diff --git a/src/emu/emumem_hedw0.cpp b/src/emu/emumem_hedw0.cpp
index 6a1d0b99699..acfbd3362c3 100644
--- a/src/emu/emumem_hedw0.cpp
+++ b/src/emu/emumem_hedw0.cpp
@@ -5,6 +5,23 @@
#include "emumem_hedw.ipp"
+template class handler_entry_write_dispatch< 1, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch< 1, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch< 2, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch< 2, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch< 3, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch< 3, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch< 4, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch< 4, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch< 5, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch< 5, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch< 6, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch< 6, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch< 7, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch< 7, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch< 8, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch< 8, 0, 1, ENDIANNESS_BIG>;
+
template class handler_entry_write_dispatch< 1, 0, 0, ENDIANNESS_LITTLE>;
template class handler_entry_write_dispatch< 1, 0, 0, ENDIANNESS_BIG>;
template class handler_entry_write_dispatch< 2, 0, 0, ENDIANNESS_LITTLE>;
diff --git a/src/emu/emumem_hedw1.cpp b/src/emu/emumem_hedw1.cpp
index 4f62d45de4d..d3d3b9e5f81 100644
--- a/src/emu/emumem_hedw1.cpp
+++ b/src/emu/emumem_hedw1.cpp
@@ -4,6 +4,23 @@
#include "emu.h"
#include "emumem_hedw.ipp"
+template class handler_entry_write_dispatch< 9, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch< 9, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch<10, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch<10, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch<11, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch<11, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch<12, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch<12, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch<13, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch<13, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch<14, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch<14, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch<15, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch<15, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch<16, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch<16, 0, 1, ENDIANNESS_BIG>;
+
template class handler_entry_write_dispatch< 9, 0, 0, ENDIANNESS_LITTLE>;
template class handler_entry_write_dispatch< 9, 0, 0, ENDIANNESS_BIG>;
template class handler_entry_write_dispatch<10, 0, 0, ENDIANNESS_LITTLE>;
diff --git a/src/emu/emumem_hedw2.cpp b/src/emu/emumem_hedw2.cpp
index b00eb38311d..8e6fc4c4dcf 100644
--- a/src/emu/emumem_hedw2.cpp
+++ b/src/emu/emumem_hedw2.cpp
@@ -4,6 +4,23 @@
#include "emu.h"
#include "emumem_hedw.ipp"
+template class handler_entry_write_dispatch<17, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch<17, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch<18, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch<18, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch<19, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch<19, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch<20, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch<20, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch<21, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch<21, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch<22, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch<22, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch<23, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch<23, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch<24, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch<24, 0, 1, ENDIANNESS_BIG>;
+
template class handler_entry_write_dispatch<17, 0, 0, ENDIANNESS_LITTLE>;
template class handler_entry_write_dispatch<17, 0, 0, ENDIANNESS_BIG>;
template class handler_entry_write_dispatch<18, 0, 0, ENDIANNESS_LITTLE>;
diff --git a/src/emu/emumem_hedw3.cpp b/src/emu/emumem_hedw3.cpp
index 539736655cc..4a423133483 100644
--- a/src/emu/emumem_hedw3.cpp
+++ b/src/emu/emumem_hedw3.cpp
@@ -5,6 +5,23 @@
#include "emumem_hedw.ipp"
+template class handler_entry_write_dispatch<25, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch<25, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch<26, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch<26, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch<27, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch<27, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch<28, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch<28, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch<29, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch<29, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch<30, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch<30, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch<31, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch<31, 0, 1, ENDIANNESS_BIG>;
+template class handler_entry_write_dispatch<32, 0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_dispatch<32, 0, 1, ENDIANNESS_BIG>;
+
template class handler_entry_write_dispatch<25, 0, 0, ENDIANNESS_LITTLE>;
template class handler_entry_write_dispatch<25, 0, 0, ENDIANNESS_BIG>;
template class handler_entry_write_dispatch<26, 0, 0, ENDIANNESS_LITTLE>;
diff --git a/src/emu/emumem_hem.cpp b/src/emu/emumem_hem.cpp
index 45f83d75d12..1a2963951f1 100644
--- a/src/emu/emumem_hem.cpp
+++ b/src/emu/emumem_hem.cpp
@@ -95,6 +95,8 @@ template<int Width, int AddrShift, int Endian> std::string handler_entry_write_m
+template class handler_entry_read_memory<0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_memory<0, 1, ENDIANNESS_BIG>;
template class handler_entry_read_memory<0, 0, ENDIANNESS_LITTLE>;
template class handler_entry_read_memory<0, 0, ENDIANNESS_BIG>;
template class handler_entry_read_memory<1, 3, ENDIANNESS_LITTLE>;
@@ -118,6 +120,8 @@ template class handler_entry_read_memory<3, -2, ENDIANNESS_BIG>;
template class handler_entry_read_memory<3, -3, ENDIANNESS_LITTLE>;
template class handler_entry_read_memory<3, -3, ENDIANNESS_BIG>;
+template class handler_entry_write_memory<0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_memory<0, 1, ENDIANNESS_BIG>;
template class handler_entry_write_memory<0, 0, ENDIANNESS_LITTLE>;
template class handler_entry_write_memory<0, 0, ENDIANNESS_BIG>;
template class handler_entry_write_memory<1, 3, ENDIANNESS_LITTLE>;
@@ -142,6 +146,8 @@ template class handler_entry_write_memory<3, -3, ENDIANNESS_LITTLE>;
template class handler_entry_write_memory<3, -3, ENDIANNESS_BIG>;
+template class handler_entry_read_memory_bank<0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_memory_bank<0, 1, ENDIANNESS_BIG>;
template class handler_entry_read_memory_bank<0, 0, ENDIANNESS_LITTLE>;
template class handler_entry_read_memory_bank<0, 0, ENDIANNESS_BIG>;
template class handler_entry_read_memory_bank<1, 3, ENDIANNESS_LITTLE>;
@@ -165,6 +171,8 @@ template class handler_entry_read_memory_bank<3, -2, ENDIANNESS_BIG>;
template class handler_entry_read_memory_bank<3, -3, ENDIANNESS_LITTLE>;
template class handler_entry_read_memory_bank<3, -3, ENDIANNESS_BIG>;
+template class handler_entry_write_memory_bank<0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_memory_bank<0, 1, ENDIANNESS_BIG>;
template class handler_entry_write_memory_bank<0, 0, ENDIANNESS_LITTLE>;
template class handler_entry_write_memory_bank<0, 0, ENDIANNESS_BIG>;
template class handler_entry_write_memory_bank<1, 3, ENDIANNESS_LITTLE>;
diff --git a/src/emu/emumem_hep.cpp b/src/emu/emumem_hep.cpp
index 97bdf759a38..f411dcb522c 100644
--- a/src/emu/emumem_hep.cpp
+++ b/src/emu/emumem_hep.cpp
@@ -50,6 +50,8 @@ template<int Width, int AddrShift, int Endian> void handler_entry_write_passthro
np->detach(handlers);
}
+template class handler_entry_read_passthrough<0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_passthrough<0, 1, ENDIANNESS_BIG>;
template class handler_entry_read_passthrough<0, 0, ENDIANNESS_LITTLE>;
template class handler_entry_read_passthrough<0, 0, ENDIANNESS_BIG>;
template class handler_entry_read_passthrough<1, 3, ENDIANNESS_LITTLE>;
@@ -73,6 +75,8 @@ template class handler_entry_read_passthrough<3, -2, ENDIANNESS_BIG>;
template class handler_entry_read_passthrough<3, -3, ENDIANNESS_LITTLE>;
template class handler_entry_read_passthrough<3, -3, ENDIANNESS_BIG>;
+template class handler_entry_write_passthrough<0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_passthrough<0, 1, ENDIANNESS_BIG>;
template class handler_entry_write_passthrough<0, 0, ENDIANNESS_LITTLE>;
template class handler_entry_write_passthrough<0, 0, ENDIANNESS_BIG>;
template class handler_entry_write_passthrough<1, 3, ENDIANNESS_LITTLE>;
diff --git a/src/emu/emumem_het.cpp b/src/emu/emumem_het.cpp
index 5d948eccfeb..87f3d35dc10 100644
--- a/src/emu/emumem_het.cpp
+++ b/src/emu/emumem_het.cpp
@@ -42,6 +42,8 @@ template<int Width, int AddrShift, int Endian> handler_entry_write_tap<Width, Ad
+template class handler_entry_read_tap<0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_tap<0, 1, ENDIANNESS_BIG>;
template class handler_entry_read_tap<0, 0, ENDIANNESS_LITTLE>;
template class handler_entry_read_tap<0, 0, ENDIANNESS_BIG>;
template class handler_entry_read_tap<1, 3, ENDIANNESS_LITTLE>;
@@ -65,6 +67,8 @@ template class handler_entry_read_tap<3, -2, ENDIANNESS_BIG>;
template class handler_entry_read_tap<3, -3, ENDIANNESS_LITTLE>;
template class handler_entry_read_tap<3, -3, ENDIANNESS_BIG>;
+template class handler_entry_write_tap<0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_tap<0, 1, ENDIANNESS_BIG>;
template class handler_entry_write_tap<0, 0, ENDIANNESS_LITTLE>;
template class handler_entry_write_tap<0, 0, ENDIANNESS_BIG>;
template class handler_entry_write_tap<1, 3, ENDIANNESS_LITTLE>;
diff --git a/src/emu/emumem_heu.cpp b/src/emu/emumem_heu.cpp
index 7b071e36c52..8a62d8aa5e2 100644
--- a/src/emu/emumem_heu.cpp
+++ b/src/emu/emumem_heu.cpp
@@ -230,6 +230,8 @@ template<int Width, int AddrShift, int Endian> std::string handler_entry_write_u
}
+template class handler_entry_read_units<0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_units<0, 1, ENDIANNESS_BIG>;
template class handler_entry_read_units<0, 0, ENDIANNESS_LITTLE>;
template class handler_entry_read_units<0, 0, ENDIANNESS_BIG>;
template class handler_entry_read_units<1, 3, ENDIANNESS_LITTLE>;
@@ -253,6 +255,8 @@ template class handler_entry_read_units<3, -2, ENDIANNESS_BIG>;
template class handler_entry_read_units<3, -3, ENDIANNESS_LITTLE>;
template class handler_entry_read_units<3, -3, ENDIANNESS_BIG>;
+template class handler_entry_write_units<0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_units<0, 1, ENDIANNESS_BIG>;
template class handler_entry_write_units<0, 0, ENDIANNESS_LITTLE>;
template class handler_entry_write_units<0, 0, ENDIANNESS_BIG>;
template class handler_entry_write_units<1, 3, ENDIANNESS_LITTLE>;
diff --git a/src/emu/emumem_heun.cpp b/src/emu/emumem_heun.cpp
index e76ddfe7078..c25d77bbd33 100644
--- a/src/emu/emumem_heun.cpp
+++ b/src/emu/emumem_heun.cpp
@@ -64,6 +64,8 @@ template<int Width, int AddrShift, int Endian> std::string handler_entry_write_n
}
+template class handler_entry_read_unmapped<0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_unmapped<0, 1, ENDIANNESS_BIG>;
template class handler_entry_read_unmapped<0, 0, ENDIANNESS_LITTLE>;
template class handler_entry_read_unmapped<0, 0, ENDIANNESS_BIG>;
template class handler_entry_read_unmapped<1, 3, ENDIANNESS_LITTLE>;
@@ -87,6 +89,8 @@ template class handler_entry_read_unmapped<3, -2, ENDIANNESS_BIG>;
template class handler_entry_read_unmapped<3, -3, ENDIANNESS_LITTLE>;
template class handler_entry_read_unmapped<3, -3, ENDIANNESS_BIG>;
+template class handler_entry_write_unmapped<0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_unmapped<0, 1, ENDIANNESS_BIG>;
template class handler_entry_write_unmapped<0, 0, ENDIANNESS_LITTLE>;
template class handler_entry_write_unmapped<0, 0, ENDIANNESS_BIG>;
template class handler_entry_write_unmapped<1, 3, ENDIANNESS_LITTLE>;
@@ -111,6 +115,8 @@ template class handler_entry_write_unmapped<3, -3, ENDIANNESS_LITTLE>;
template class handler_entry_write_unmapped<3, -3, ENDIANNESS_BIG>;
+template class handler_entry_read_nop<0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_read_nop<0, 1, ENDIANNESS_BIG>;
template class handler_entry_read_nop<0, 0, ENDIANNESS_LITTLE>;
template class handler_entry_read_nop<0, 0, ENDIANNESS_BIG>;
template class handler_entry_read_nop<1, 3, ENDIANNESS_LITTLE>;
@@ -134,6 +140,8 @@ template class handler_entry_read_nop<3, -2, ENDIANNESS_BIG>;
template class handler_entry_read_nop<3, -3, ENDIANNESS_LITTLE>;
template class handler_entry_read_nop<3, -3, ENDIANNESS_BIG>;
+template class handler_entry_write_nop<0, 1, ENDIANNESS_LITTLE>;
+template class handler_entry_write_nop<0, 1, ENDIANNESS_BIG>;
template class handler_entry_write_nop<0, 0, ENDIANNESS_LITTLE>;
template class handler_entry_write_nop<0, 0, ENDIANNESS_BIG>;
template class handler_entry_write_nop<1, 3, ENDIANNESS_LITTLE>;