summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Sparmann <theseven@rockbox.org>2011-02-28 11:54:28 +0000
committerMichael Sparmann <theseven@rockbox.org>2011-02-28 11:54:28 +0000
commit06c1757138e549be39052874b0d54fc4f9182c11 (patch)
treebabd0bf7bea86209abe387c02bf2df9092cf908f
parent156b0bc6146eb69a42189907593f4aa4e45775db (diff)
downloadrockbox-06c1757138e549be39052874b0d54fc4f9182c11.zip
rockbox-06c1757138e549be39052874b0d54fc4f9182c11.tar.gz
rockbox-06c1757138e549be39052874b0d54fc4f9182c11.tar.bz2
rockbox-06c1757138e549be39052874b0d54fc4f9182c11.tar.xz
iPod Classic: Fix YUV blitting. Mpegplayer works now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29460 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/export/s5l8702.h2
-rw-r--r--firmware/target/arm/s5l8702/ipod6g/lcd-asm-ipod6g.S1
-rw-r--r--firmware/target/arm/s5l8702/ipod6g/lcd-ipod6g.c12
3 files changed, 10 insertions, 5 deletions
diff --git a/firmware/export/s5l8702.h b/firmware/export/s5l8702.h
index ebd3eda..7cc5646 100644
--- a/firmware/export/s5l8702.h
+++ b/firmware/export/s5l8702.h
@@ -561,7 +561,7 @@ struct dma_lli
/////LCD/////
-#define LCD_BASE (*((uint32_t volatile*)(0x38300000)))
+#define LCD_BASE (0x38300000)
#define LCD_WCMD (*((uint32_t volatile*)(0x38300004)))
#define LCD_STATUS (*((uint32_t volatile*)(0x3830001c)))
#define LCD_WDATA (*((uint32_t volatile*)(0x38300040)))
diff --git a/firmware/target/arm/s5l8702/ipod6g/lcd-asm-ipod6g.S b/firmware/target/arm/s5l8702/ipod6g/lcd-asm-ipod6g.S
index 2b170f3..7d9e827 100644
--- a/firmware/target/arm/s5l8702/ipod6g/lcd-asm-ipod6g.S
+++ b/firmware/target/arm/s5l8702/ipod6g/lcd-asm-ipod6g.S
@@ -19,6 +19,7 @@
*
****************************************************************************/
+#define FORCE_FIFO_WAIT
/****************************************************************************
* #define FORCE_FIFO_WAIT
*
diff --git a/firmware/target/arm/s5l8702/ipod6g/lcd-ipod6g.c b/firmware/target/arm/s5l8702/ipod6g/lcd-ipod6g.c
index bbb1c9c..8610f86 100644
--- a/firmware/target/arm/s5l8702/ipod6g/lcd-ipod6g.c
+++ b/firmware/target/arm/s5l8702/ipod6g/lcd-ipod6g.c
@@ -259,12 +259,16 @@ void lcd_blit_yuv(unsigned char * const src[3],
s5l_lcd_write_cmd(R_WRITE_DATA_TO_GRAM);
} else {
s5l_lcd_write_cmd(R_COLUMN_ADDR_SET);
- s5l_lcd_write_data(x0); /* Start column */
- s5l_lcd_write_data(x1); /* End column */
+ s5l_lcd_write_data(x0 >> 8);
+ s5l_lcd_write_data(x0 & 0xff);
+ s5l_lcd_write_data(x1 >> 8);
+ s5l_lcd_write_data(x1 & 0xff);
s5l_lcd_write_cmd(R_ROW_ADDR_SET);
- s5l_lcd_write_data(y0); /* Start row */
- s5l_lcd_write_data(y1); /* End row */
+ s5l_lcd_write_data(y0 >> 8);
+ s5l_lcd_write_data(y0 & 0xff);
+ s5l_lcd_write_data(y1 >> 8);
+ s5l_lcd_write_data(y1 & 0xff);
s5l_lcd_write_cmd(R_MEMORY_WRITE);
}