emumem: Allow an address shift of 1 (to the right) for 8-bit spaces (nw)

This commit is contained in:
AJR 2019-01-06 09:06:18 -05:00
parent cbbfbd99cc
commit eb1b8e58e2
15 changed files with 201 additions and 0 deletions

View File

@ -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>;

View File

@ -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>;

View File

@ -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>;

View File

@ -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>;

View File

@ -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>;

View File

@ -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>;

View File

@ -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>;

View File

@ -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>;

View File

@ -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>;

View File

@ -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>;

View File

@ -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>;

View File

@ -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>;

View File

@ -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>;

View File

@ -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>;

View File

@ -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>;