aboutsummaryrefslogtreecommitdiff
path: root/hw/display/macfb.c
diff options
context:
space:
mode:
authorMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>2021-10-07 23:12:51 +0100
committerLaurent Vivier <laurent@vivier.eu>2021-10-08 13:31:03 +0200
commit432d59c56ef8a8eaefd847a40a01439e32317bff (patch)
tree61e8e0ef23235a76f502127015ddc0a5c61a4468 /hw/display/macfb.c
parent57eeaf44ce6964e6e86275318f5fc35610c1dc68 (diff)
macfb: fix 24-bit RGB pixel encoding
According to Apple Technical Note HW26: "Macintosh Quadra Built-In Video" the in-built framebuffer encodes each 24-bit pixel into 4 bytes. Adjust the 24-bit RGB pixel encoding accordingly which agrees with the encoding expected by MacOS when changing into 24-bit colour mode. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Message-Id: <20211007221253.29024-12-mark.cave-ayland@ilande.co.uk> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Diffstat (limited to 'hw/display/macfb.c')
-rw-r--r--hw/display/macfb.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/hw/display/macfb.c b/hw/display/macfb.c
index e49c8b6f4b..3288a71b89 100644
--- a/hw/display/macfb.c
+++ b/hw/display/macfb.c
@@ -224,10 +224,10 @@ static void macfb_draw_line24(MacfbState *s, uint8_t *d, uint32_t addr,
int x;
for (x = 0; x < width; x++) {
- r = macfb_read_byte(s, addr);
- g = macfb_read_byte(s, addr + 1);
- b = macfb_read_byte(s, addr + 2);
- addr += 3;
+ r = macfb_read_byte(s, addr + 1);
+ g = macfb_read_byte(s, addr + 2);
+ b = macfb_read_byte(s, addr + 3);
+ addr += 4;
*(uint32_t *)d = rgb_to_pixel32(r, g, b);
d += 4;