# HG changeset patch # User Michael Pavone # Date 1704168161 28800 # Node ID 8171409b62efe7e0e786b53a7eb091dcfb8ee805 # Parent 49b7ead35482df8f8bb45fa2a6825b6bac0089d7 Fix incorrect manipulation of lock-on cart memory map diff -r 49b7ead35482 -r 8171409b62ef romdb.c --- 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; }