summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/emumem.cpp
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/emumem.cpp
parentcbbfbd99cc5f243e1a111afce063e6b920dda074 (diff)
emumem: Allow an address shift of 1 (to the right) for 8-bit spaces (nw)
Diffstat (limited to 'src/emu/emumem.cpp')
-rw-r--r--src/emu/emumem.cpp9
1 files changed, 9 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>;