diff -u -r rockbox-original/main-pp.c rockbox-modified/main-pp.c --- rockbox-original/main-pp.c 2007-03-18 20:32:32.000000000 +0200 +++ rockbox-modified/main-pp.c 2007-03-19 21:36:13.000000000 +0200 @@ -266,6 +266,10 @@ return EOK; } #endif + +#ifdef SANSA_E200 +#define LCD_REG_6 (*(volatile unsigned long *)(0xc2000018)) +#endif void* main(void) { @@ -279,6 +283,11 @@ chksum_crc32gentab (); +#ifdef SANSA_E200 + LCD_REG_6 &= ~1; /* stop dma-ing */ + udelay(100000); /* wait for really stopped */ +#endif + system_init(); kernel_init(); lcd_init(); @@ -288,7 +297,9 @@ lcd_set_foreground(LCD_WHITE); lcd_set_background(LCD_BLACK); lcd_clear_display(); - +#ifdef SANSA_E200 + LCD_REG_6 |= 1; +#endif btn = button_read_device(); /* Enable bootloader messages */ @@ -299,7 +310,7 @@ printf("Rockbox boot loader"); printf("Version: 20%s", version); - printf(MODEL_NAME); + printf(MODEL_NAME); i=ata_init(); if (i==0) { @@ -394,7 +405,7 @@ printf(strerror(rc)); } } - } + } return (void*)loadbuffer; }