Mercurial > repos > blastem
changeset 2403:8171409b62ef
Fix incorrect manipulation of lock-on cart memory map
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Mon, 01 Jan 2024 20:02:41 -0800 |
parents | 49b7ead35482 |
children | 6f8400ce7a0f |
files | romdb.c |
diffstat | 1 files changed, 6 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/romdb.c Mon Jan 01 19:50:20 2024 -0800 +++ b/romdb.c Mon Jan 01 20:02:41 2024 -0800 @@ -862,9 +862,12 @@ *map = lock_info.map[i]; if (map->start < 0x200000) { if (map->buffer) { - uint8_t *buf = map->buffer; - buf += (0x200000 - map->start) & ((map->flags & MMAP_AUX_BUFF) ? map->aux_mask : map->mask); - map->buffer = buf; + uint32_t mask = (map->flags & MMAP_AUX_BUFF) ? map->aux_mask : map->mask; + if (mask < 0x3FFFFF) { + uint8_t *buf = map->buffer; + buf += (0x200000 - map->start) & mask; + map->buffer = buf; + } } map->start = 0x200000; }