diff options
author | 2019-01-06 09:06:18 -0500 | |
---|---|---|
committer | 2019-03-01 19:05:45 -0500 | |
commit | eb1b8e58e2245c9a2a5b910135f6f71e86d4844f (patch) | |
tree | d45dd99da09b9e0cfe9ba165b003244c3d5429b7 /src/emu | |
parent | cbbfbd99cc5f243e1a111afce063e6b920dda074 (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.cpp | 9 | ||||
-rw-r--r-- | src/emu/emumem_hedp.cpp | 28 | ||||
-rw-r--r-- | src/emu/emumem_hedr0.cpp | 17 | ||||
-rw-r--r-- | src/emu/emumem_hedr1.cpp | 17 | ||||
-rw-r--r-- | src/emu/emumem_hedr2.cpp | 17 | ||||
-rw-r--r-- | src/emu/emumem_hedr3.cpp | 17 | ||||
-rw-r--r-- | src/emu/emumem_hedw0.cpp | 17 | ||||
-rw-r--r-- | src/emu/emumem_hedw1.cpp | 17 | ||||
-rw-r--r-- | src/emu/emumem_hedw2.cpp | 17 | ||||
-rw-r--r-- | src/emu/emumem_hedw3.cpp | 17 | ||||
-rw-r--r-- | src/emu/emumem_hem.cpp | 8 | ||||
-rw-r--r-- | src/emu/emumem_hep.cpp | 4 | ||||
-rw-r--r-- | src/emu/emumem_het.cpp | 4 | ||||
-rw-r--r-- | src/emu/emumem_heu.cpp | 4 | ||||
-rw-r--r-- | src/emu/emumem_heun.cpp | 8 |
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>; |