# HG changeset patch # User Michael Pavone # Date 1552453055 25200 # Node ID e59045f781ce425dd38b5d4f935214714de9c352 # Parent a81db00e171a5c6985f497253957a80a5ea8c817 Fix a couple issues in manual memory map read/write functions diff -r a81db00e171a -r e59045f781ce backend.c --- a/backend.c Tue Mar 12 21:57:13 2019 -0700 +++ b/backend.c Tue Mar 12 21:57:35 2019 -0700 @@ -162,7 +162,7 @@ if (!chunk) { return; } - uint32_t offset = (address - chunk->start) & chunk->mask; + uint32_t offset = address & chunk->mask; if (chunk->flags & MMAP_WRITE) { uint8_t *base; if (chunk->flags & MMAP_PTR_IDX) { @@ -212,6 +212,8 @@ return 0xFF; } offset /= 2; + } else if(opts->byte_swap) { + offset ^= 1; } return base[offset]; } @@ -246,6 +248,8 @@ return; } offset /= 2; + } else if(opts->byte_swap) { + offset ^= 1; } base[offset] = value; }