diff options
| author | 2017-04-28 12:18:55 -0400 | |
|---|---|---|
| committer | 2017-04-28 12:23:49 -0400 | |
| commit | 902d2d924b8d2586ec1077a2291525ea42d17dc1 (patch) | |
| tree | 595be9354dde631d323be9af9d002c4e123855ab /src/emu/addrmap.cpp | |
| parent | 8959978e02eb48c5d5f6bde0fedf8fcd506140e8 (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.cpp | 9 |
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; } |
