# HG changeset patch # User Michael Pavone # Date 1672372360 28800 # Node ID ff726f53d75aefad064abc2962db137a35aee131 # Parent 777900eb8e158daeb04bae71c19e1df0073563b5 Fix diassembly involving absolute addresses with high bits set diff -r 777900eb8e15 -r ff726f53d75a dis.c --- a/dis.c Thu Dec 29 15:47:54 2022 -0800 +++ b/dis.c Thu Dec 29 19:52:40 2022 -0800 @@ -42,8 +42,9 @@ uint16_t fetch(uint32_t address, void *data) { rom_def *rom = data; + address &= 0xFFFFFF; if (address >= rom->address_off && address < rom->address_end) { - return rom->buffer[((address & 0xFFFFFF) - rom->address_off) >> 1]; + return rom->buffer[(address - rom->address_off) >> 1]; } return 0; }