diff --git a/CHANGES b/CHANGES index fd1167588..1577f105d 100644 --- a/CHANGES +++ b/CHANGES @@ -34,6 +34,7 @@ Emulation fixes: - GB Memory: Better emulate 0xFEA0 region on DMG, MGB and AGB - GB Video: Fix mode 0 window edge case (fixes mgba.io/i/1519) - GB Audio: Fix channel 4 volume (fixes mgba.io/i/1529) + - GB Video: Fix color scaling in AGB mode Other fixes: - Qt: Fix some Qt display driver race conditions - Core: Improved lockstep driver reliability (Le Hoang Quyen) diff --git a/src/gb/renderers/software.c b/src/gb/renderers/software.c index c0e5c2367..661a4363f 100644 --- a/src/gb/renderers/software.c +++ b/src/gb/renderers/software.c @@ -461,8 +461,11 @@ static void GBVideoSoftwareRendererWritePalette(struct GBVideoRenderer* renderer color = mColorFrom555(r | (g << 5) | (b << 10)); #else r >>= 2; + r += r >> 4; g >>= 2; + g += g >> 4; b >>= 2; + b += b >> 4; color = r | (g << 8) | (b << 16); #endif }