From 06c1757138e549be39052874b0d54fc4f9182c11 Mon Sep 17 00:00:00 2001 From: Michael Sparmann Date: Mon, 28 Feb 2011 11:54:28 +0000 Subject: iPod Classic: Fix YUV blitting. Mpegplayer works now. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29460 a1c6a512-1295-4272-9138-f99709370657 --- firmware/export/s5l8702.h | 2 +- firmware/target/arm/s5l8702/ipod6g/lcd-asm-ipod6g.S | 1 + firmware/target/arm/s5l8702/ipod6g/lcd-ipod6g.c | 12 ++++++++---- 3 files changed, 10 insertions(+), 5 deletions(-) (limited to 'firmware') diff --git a/firmware/export/s5l8702.h b/firmware/export/s5l8702.h index ebd3eda2bb..7cc5646c9e 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 2b170f329b..7d9e8274d5 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 bbb1c9c0d0..8610f867a4 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); } -- cgit v1.2.3