summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c b/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c
index ac7754f5e9..317a764d3c 100644
--- a/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c
+++ b/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c
@@ -115,6 +115,14 @@ void lcd_init_device(void)
115{ 115{
116 unsigned int addr; 116 unsigned int addr;
117 117
118 /* Pin 32 controls the LED above the LCD */
119 IO_GIO_DIR2 &= ~(0x01); /* output */
120 IO_GIO_INV2 &= ~(0x01); /* non-inverted */
121 IO_GIO_FSEL2 &= ~(0x03<<14); /* normal pins */
122
123 /* Turn the LED off */
124 IO_GIO_BITCLR2 = 1;
125
118 /* Clear the Frame */ 126 /* Clear the Frame */
119 memset16(FRAME, 0x0000, LCD_WIDTH*LCD_HEIGHT); 127 memset16(FRAME, 0x0000, LCD_WIDTH*LCD_HEIGHT);
120 128
@@ -556,21 +564,22 @@ void lcd_blit_pal256(unsigned char *src, int src_x, int src_y, int x, int y,
556 + (LCD_NATIVE_WIDTH+LCD_FUDGE)*(LCD_NATIVE_HEIGHT-1) 564 + (LCD_NATIVE_WIDTH+LCD_FUDGE)*(LCD_NATIVE_HEIGHT-1)
557 - (LCD_NATIVE_WIDTH+LCD_FUDGE)*x + y; 565 - (LCD_NATIVE_WIDTH+LCD_FUDGE)*x + y;
558 566
559 src=src+src_x+src_y*LCD_WIDTH; 567 src=src+src_x+src_y*width;
560 568
561 while(height--) 569 while(height--)
562 { 570 {
571 register char *c_src=src;
563 register char *c_dst=dst; 572 register char *c_dst=dst;
564 register int c_width=width; 573 register int c_width=width;
565 574
566 while (c_width--) 575 while (c_width--)
567 { 576 {
568 *c_dst = *src++; 577 *c_dst = *c_src++;
569 c_dst -= (LCD_NATIVE_WIDTH+LCD_FUDGE); 578 c_dst -= (LCD_NATIVE_WIDTH+LCD_FUDGE);
570 } 579 }
571 580
572 dst++; 581 dst++;
573 src+=LCD_WIDTH-width; 582 src+=width;
574 } 583 }
575#endif 584#endif
576} 585}