From 4072dbd26d61adde6b53397ed5e4f9ae6c3ca656 Mon Sep 17 00:00:00 2001 From: SarahW Date: Fri, 27 Jan 2017 20:39:49 +0000 Subject: [PATCH] Fix ordering of components in Voodoo 2 2D blitter chroma range registers. Fixes mouse pointer in Populous : The Beginning. --- src/vid_voodoo.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/vid_voodoo.c b/src/vid_voodoo.c index 613c6b7..b03c6a4 100644 --- a/src/vid_voodoo.c +++ b/src/vid_voodoo.c @@ -4609,21 +4609,21 @@ static void voodoo_reg_writel(uint32_t addr, uint32_t val, void *p) break; case SST_bltSrcChromaRange: voodoo->bltSrcChromaRange = val; - voodoo->bltSrcChromaMinR = val & 0x1f; + voodoo->bltSrcChromaMinB = val & 0x1f; voodoo->bltSrcChromaMinG = (val >> 5) & 0x3f; - voodoo->bltSrcChromaMinB = (val >> 11) & 0x1f; - voodoo->bltSrcChromaMaxR = (val >> 16) & 0x1f; + voodoo->bltSrcChromaMinR = (val >> 11) & 0x1f; + voodoo->bltSrcChromaMaxB = (val >> 16) & 0x1f; voodoo->bltSrcChromaMaxG = (val >> 21) & 0x3f; - voodoo->bltSrcChromaMaxB = (val >> 27) & 0x1f; + voodoo->bltSrcChromaMaxR = (val >> 27) & 0x1f; break; case SST_bltDstChromaRange: voodoo->bltDstChromaRange = val; - voodoo->bltDstChromaMinR = val & 0x1f; + voodoo->bltDstChromaMinB = val & 0x1f; voodoo->bltDstChromaMinG = (val >> 5) & 0x3f; - voodoo->bltDstChromaMinB = (val >> 11) & 0x1f; - voodoo->bltDstChromaMaxR = (val >> 16) & 0x1f; + voodoo->bltDstChromaMinR = (val >> 11) & 0x1f; + voodoo->bltDstChromaMaxB = (val >> 16) & 0x1f; voodoo->bltDstChromaMaxG = (val >> 21) & 0x3f; - voodoo->bltDstChromaMaxB = (val >> 27) & 0x1f; + voodoo->bltDstChromaMaxR = (val >> 27) & 0x1f; break; case SST_bltClipX: voodoo->bltClipRight = val & 0xfff;