summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafaël Carré <rafael.carre@gmail.com>2009-10-03 13:56:23 +0000
committerRafaël Carré <rafael.carre@gmail.com>2009-10-03 13:56:23 +0000
commit71db2d74b57cab09a90c0d042a40452e1a93edc0 (patch)
tree2ebce939666ea5505cfbad62695816ea7efd5de3
parentccf2078150e9ccd9edafeccd209f93ca60a7ada5 (diff)
downloadrockbox-71db2d74b57cab09a90c0d042a40452e1a93edc0.tar.gz
rockbox-71db2d74b57cab09a90c0d042a40452e1a93edc0.zip
Samsung YH920 : fix lcd_blit_mono displaying twice too wide
lcd_write_data() wrote twice too much pixels to the controller The fix is the same than r22885, vertically packed 2bpp displays use 8-bits fb_data while horizontally packed 2bpp use 16-bits fb_data git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22893 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/target/arm/samsung/yh920/lcd-as-yh920.S26
1 files changed, 15 insertions, 11 deletions
diff --git a/firmware/target/arm/samsung/yh920/lcd-as-yh920.S b/firmware/target/arm/samsung/yh920/lcd-as-yh920.S
index 9444954041..2c7f5110bf 100644
--- a/firmware/target/arm/samsung/yh920/lcd-as-yh920.S
+++ b/firmware/target/arm/samsung/yh920/lcd-as-yh920.S
@@ -27,27 +27,31 @@
27 .align 2 27 .align 2
28 28
29 29
30/* Writes an array of pixels of specified width (in 8 bits unit)
31 *
32 * Arguments:
33 * r0 : pixels array
34 * r1 : number of pixels in 8 bits unit
35 *
36 * Register usage:
37 * r2 : LCD_CONTROL value / pixel value
38 * r3 : lcd bridge address
39 */
40
30 .global lcd_write_data 41 .global lcd_write_data
31 .type lcd_write_data,%function 42 .type lcd_write_data,%function
32 43
33lcd_write_data: 44lcd_write_data:
34 ldr r12, =LCD1_BASE 45 ldr r3, =LCD1_BASE
35 46
36.loop: 47.loop:
37 ldrb r2, [r0], #1
38
391: 481:
40 ldr r3, [r12] 49 ldr r2, [r3]
41 tst r3, #LCD1_BUSY_MASK 50 tst r2, #LCD1_BUSY_MASK
42 bne 1b 51 bne 1b
43 str r2, [r12, #0x10]
44 52
45 ldrb r2, [r0], #1 53 ldrb r2, [r0], #1
461: 54 str r2, [r3, #0x10]
47 ldr r3, [r12]
48 tst r3, #LCD1_BUSY_MASK
49 bne 1b
50 str r2, [r12, #0x10]
51 55
52 subs r1, r1, #1 56 subs r1, r1, #1
53 bne .loop 57 bne .loop