summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2005-01-27 00:00:05 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2005-01-27 00:00:05 +0000
commitdb58e7edd2f9eb32608d5687e94390ac4e057bfe (patch)
tree6ef9906d8bed072780e165c56019415c75c276a0
parentf7eeaec980cf48bb2b17debd664b341f8fd9f41c (diff)
downloadrockbox-db58e7edd2f9eb32608d5687e94390ac4e057bfe.zip
rockbox-db58e7edd2f9eb32608d5687e94390ac4e057bfe.tar.gz
rockbox-db58e7edd2f9eb32608d5687e94390ac4e057bfe.tar.bz2
rockbox-db58e7edd2f9eb32608d5687e94390ac4e057bfe.tar.xz
iRiver: Added extra parameters to lcd_write_command_ex()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5668 a1c6a512-1295-4272-9138-f99709370657
-rwxr-xr-xfirmware/drivers/lcd.S13
-rw-r--r--firmware/export/lcd.h2
2 files changed, 12 insertions, 3 deletions
diff --git a/firmware/drivers/lcd.S b/firmware/drivers/lcd.S
index c082637..1d301e2 100755
--- a/firmware/drivers/lcd.S
+++ b/firmware/drivers/lcd.S
@@ -333,11 +333,20 @@ lcd_write_command_ex:
and.l %d1,(0xb4,%a1)
move.w %d0,0xf0000000 /* Write to LCD */
- move.l (8,%sp),%d0 /* Data */
-
not.l %d1 /* Set A0 = 1 */
or.l %d1,(0xb4,%a1)
+
+ move.l (8,%sp),%d0 /* Data */
+ cmp.l #0xffffffff,%d0 /* -1? */
+ beq.b .last
move.w %d0,0xf0000000 /* Write to LCD */
+
+ move.l (12,%sp),%d0 /* Data */
+ cmp.l #0xffffffff,%d0 /* -1? */
+ beq.b .last
+ move.w %d0,0xf0000000 /* Write to LCD */
+
+.last:
rts
.align 2
diff --git a/firmware/export/lcd.h b/firmware/export/lcd.h
index 6809aaf..6d485c2 100644
--- a/firmware/export/lcd.h
+++ b/firmware/export/lcd.h
@@ -44,7 +44,7 @@ extern void lcd_scroll_speed( int speed );
extern void lcd_scroll_delay( int ms );
extern void lcd_set_contrast(int val);
extern void lcd_write_command( int byte );
-extern void lcd_write_command_ex( int cmd, unsigned char data );
+extern void lcd_write_command_ex( int cmd, int data1, int data2);
extern void lcd_write_data( const unsigned char* p_bytes, int count );
extern int lcd_default_contrast(void);