diff --git a/CHANGES b/CHANGES index 49589872d..cb6ca14a7 100644 --- a/CHANGES +++ b/CHANGES @@ -11,6 +11,7 @@ Other fixes: - Core: Fix reported ROM size when a fixed buffer size is used - Core: Fix memory leak loading ELF files - GBA: Disable more checks when loading GS save with checks disabled (fixes mgba.io/i/1851) + - GBA: Fix endianness issues in renderer proxy - GBA Core: Fix memory leak when loading symbols - Qt: Add dummy English translation file (fixes mgba.io/i/1469) - mGUI: Fix closing down a game if an exit is signalled diff --git a/src/gba/extra/proxy.c b/src/gba/extra/proxy.c index 196329036..1a70503e1 100644 --- a/src/gba/extra/proxy.c +++ b/src/gba/extra/proxy.c @@ -178,13 +178,13 @@ static bool _parsePacket(struct mVideoLogger* logger, const struct mVideoLoggerD break; case DIRTY_PALETTE: if (item->address < SIZE_PALETTE_RAM) { - logger->palette[item->address >> 1] = item->value; + STORE_16LE(item->value, item->address, logger->palette); proxyRenderer->backend->writePalette(proxyRenderer->backend, item->address, item->value); } break; case DIRTY_OAM: if (item->address < SIZE_OAM) { - logger->oam[item->address] = item->value; + STORE_16LE(item->value, item->address << 1, logger->oam); proxyRenderer->backend->writeOAM(proxyRenderer->backend, item->address); } break;