Skip to content

Commit

Permalink
macfb: fix 24-bit RGB pixel encoding
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
mcayland authored and vivier committed Oct 8, 2021
1 parent 57eeaf4 commit 432d59c
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions hw/display/macfb.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit 432d59c

Please sign in to comment.