summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/addrmap.cpp
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2017-04-28 12:18:55 -0400
committer AJR <ajrhacker@users.noreply.github.com>2017-04-28 12:23:49 -0400
commit902d2d924b8d2586ec1077a2291525ea42d17dc1 (patch)
tree595be9354dde631d323be9af9d002c4e123855ab /src/emu/addrmap.cpp
parent8959978e02eb48c5d5f6bde0fedf8fcd506140e8 (diff)
NPOT subunit compromise (nw)
Handlers with a non-power-of-2 number of subunits are allowed once again. However, the offset multiplier will be rounded up to the nearest power of 2.
Diffstat (limited to 'src/emu/addrmap.cpp')
-rw-r--r--src/emu/addrmap.cpp9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/emu/addrmap.cpp b/src/emu/addrmap.cpp
index 5022e549cb6..d6ec2a134f7 100644
--- a/src/emu/addrmap.cpp
+++ b/src/emu/addrmap.cpp
@@ -317,13 +317,7 @@ bool address_map_entry::unitmask_is_appropriate(u8 width, u64 unitmask, const ch
singlemask <<= width;
}
- // subunit count must be a power of 2
- if (count != 1 && count != 2 && count != 4 && count != 8)
- {
- osd_printf_error("Handler %s specifies %d subunits with a mask of %08X%08X; needs to be a power of 2\n", string, count, (u32)(unitmask >> 32), (u32)unitmask);
- return false;
- }
-
+#if 0
// the mask must be symmetrical
u64 unitmask_bh = unitmask >> 8 & 0x00ff00ff00ff00ffU;
u64 unitmask_bl = unitmask & 0x00ff00ff00ff00ffU;
@@ -338,6 +332,7 @@ bool address_map_entry::unitmask_is_appropriate(u8 width, u64 unitmask, const ch
osd_printf_error("Handler %s specified an asymmetrical mask of %08X%08X\n", string, (u32)(unitmask >> 32), (u32)unitmask);
return false;
}
+#endif
return true;
}