From 7776c7a6f4462ffe74f6569ef2aaea920c084afe Mon Sep 17 00:00:00 2001 From: Rob Purchase Date: Tue, 15 Jul 2008 18:59:05 +0000 Subject: Fix red for target with insanely wide LCDs. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18060 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/lcd-as-memframe.S | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'firmware/target/arm/lcd-as-memframe.S') diff --git a/firmware/target/arm/lcd-as-memframe.S b/firmware/target/arm/lcd-as-memframe.S index 519a8a1615..84f549036f 100644 --- a/firmware/target/arm/lcd-as-memframe.S +++ b/firmware/target/arm/lcd-as-memframe.S @@ -302,7 +302,12 @@ lcd_write_yuv420_lines: #if LCD_WIDTH >= LCD_HEIGHT add r0, r0, #2*LCD_WIDTH strh r12, [r0, #2] +#if LCD_WIDTH <= 512 sub r0, r0, #(2*LCD_WIDTH)-4 +#else + sub r0, r0, #(2*LCD_WIDTH) + add r0, r0, #4 +#endif #else strh r12, [r0, #-2] @ store pixel #if LCD_WIDTH < 256 @@ -603,7 +608,12 @@ lcd_write_yuv420_lines_odither: #if LCD_WIDTH >= LCD_HEIGHT add r0, r0, #2*LCD_WIDTH strh r1, [r0, #2] @ store pixel - sub r0, r0, #(2*LCD_WIDTH-4) +#if LCD_WIDTH <= 512 + sub r0, r0, #(2*LCD_WIDTH)-4 +#else + sub r0, r0, #(2*LCD_WIDTH) + add r0, r0, #4 +#endif #else strh r1, [r0, #-2] @ store pixel #if LCD_WIDTH < 256 -- cgit v1.2.3