On 02/10/2021 13:00, Mark Cave-Ayland wrote:
> 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>
> ---
> hw/display/macfb.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/hw/display/macfb.c b/hw/display/macfb.c
> index 0c9e181b9b..29f6ad8eba 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;
>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>