All pastes #126283 Raw Edit

Miscellany

public text v1 · immutable
#126283 ·published 2006-08-11 09:27 UTC
rendered paste body
Index: bootloader/h10.c
===================================================================
RCS file: /cvsroot/rockbox/bootloader/h10.c,v
retrieving revision 1.1
diff -u -r1.1 h10.c
--- bootloader/h10.c	11 Aug 2006 08:35:26 -0000	1.1
+++ bootloader/h10.c	11 Aug 2006 09:25:12 -0000
@@ -66,10 +66,10 @@
 }
 
 
-/* Load original iriver firmware. This function expects a file called "H10_20GC.mi4" in
-   the root directory of the player. It should be decrypted and have the header stripped
-   using mi4code. It reads the file in to a memory buffer called buf. The rest of the 
-   loading is done in main()
+/* Load original iriver firmware. This function expects a file called
+   "H10_20GC.mi4" in the root directory of the player. It should be decrypted
+   and have the header stripped using mi4code. It reads the file in to a memory
+   buffer called buf. The rest of the loading is done in main()
 */
 int load_iriver(unsigned char* buf)
 {
@@ -93,144 +93,146 @@
 
 void main(void)
 {
-	/* Attempt to load original iriver firmware. Successfully starts loading the iriver
-       firmware but then locks up once the "System Initialising" screen is displayed.
-	   
-	   The iriver firmware was decrypted and the header removed. It was then appended to 
-	   the end of bootloader.bin and an mi4 file was created from the resulting file. 
-	   
-	   The original firmware starts at 0xd800 in the file and is of length 0x47da00.
-	   
-	   The whole file (bootloader.bin + decrypted mi4) are loaded to memory by the 
-	   original iriver bootloader on startup. This copies the mi4 part to the start
-	   of DRAM and passes execution to there.
-	
-	memmove16((void*)DRAMORIG, (void*)(DRAMORIG + 0xd800), 0x47da00);
-	asm volatile(
-		"mov   r0, #" SC(DRAMORIG) "\n"
-		"mov   pc, r0                 \n"
-	);
-	*/
+    /* Attempt to load original iriver firmware. Successfully starts loading the
+       iriver firmware but then locks up once the "System Initialising" screen
+       is displayed.
+       
+       The iriver firmware was decrypted and the header removed. It was then
+       appended to the end of bootloader.bin and an mi4 file was created from
+       the resulting file. 
+       
+       The original firmware starts at 0xd800 in the file and is of length
+       0x47da00.
+       
+       The whole file (bootloader.bin + decrypted mi4) are loaded to memory by
+       the original iriver bootloader on startup. This copies the mi4 part to
+       the start of DRAM and passes execution to there.
+    
+    memmove16((void*)DRAMORIG, (void*)(DRAMORIG + 0xd800), 0x47da00);
+    asm volatile(
+        "mov   r0, #" SC(DRAMORIG) "\n"
+        "mov   pc, r0                 \n"
+    );
+    */
 
     int i;
     int rc;
-	int btn;
+    int btn;
+    int fd;
+    char buffer[24];
 
     i=ata_init();
     disk_init();
     rc = disk_mount_all();
 
-	/* Load original iriver firmware. Uses load_iriver(buf) to load the decrypted mi4 file from
-       disk to DRAM. This then copies that part of DRAM to the start of DRAM and passes 
-	   execution to there.
-	
-	rc=load_iriver(loadbuffer);
-	memcpy((void*)DRAMORIG,loadbuffer,rc);
-	asm volatile(
-		"mov   r0, #" SC(DRAMORIG) "\n"
-		"mov   pc, r0                 \n"
-	);*/
-	
-	
-	/* This assumes that /test.txt exists */
-	int fd;
-	char buffer[24];
-	fd=open("/test.txt",O_RDWR);
-	
-	
-	/* WARNING: Running this code on the H10 caused permanent damage to my H10's hdd
-	            I strongly recommend against trying it.
-				
-	for(i=0;i<100;i++){
-		btn = button_read_device();
-		switch(btn){
-		case BUTTON_LEFT:
-			snprintf(buffer, sizeof(buffer), "Left");
-			write(fd,buffer,sizeof(buffer));
-			break;
-		case BUTTON_RIGHT:
-		break;
-		case BUTTON_REW:
-		break;
-		case BUTTON_FF:
-		break;
-		case BUTTON_PLAY:
-		break;
-		default:
-		break;
-		}
-		
-
-	}
-	*/
-	
-	
-	
+    /* Load original iriver firmware. Uses load_iriver(buf) to load the
+       decrypted mi4 file from disk to DRAM. This then copies that part of DRAM
+       to the start of DRAM and passes 
+       execution to there.
+    
+    rc=load_iriver(loadbuffer);
+    memcpy((void*)DRAMORIG,loadbuffer,rc);
+    asm volatile(
+        "mov   r0, #" SC(DRAMORIG) "\n"
+        "mov   pc, r0                 \n"
+    );*/
+    
+    
+    /* This assumes that /test.txt exists */
+    fd=open("/test.txt",O_RDWR);
+    
+    
+    /*
+    for(i=0;i<100;i++){
+        btn = button_read_device();
+        switch(btn){
+        case BUTTON_LEFT:
+            snprintf(buffer, sizeof(buffer), "Left");
+            write(fd,buffer,sizeof(buffer));
+            break;
+        case BUTTON_RIGHT:
+        break;
+        case BUTTON_REW:
+        break;
+        case BUTTON_FF:
+        break;
+        case BUTTON_PLAY:
+        break;
+        default:
+        break;
+        }
+        
+
+    }
+    */
+    
+    
+    
     /* Investigate gpio
-	
-	unsigned int gpio_a, gpio_b, gpio_c, gpio_d;
+    
+    unsigned int gpio_a, gpio_b, gpio_c, gpio_d;
     unsigned int gpio_e, gpio_f, gpio_g, gpio_h;
     unsigned int gpio_i, gpio_j, gpio_k, gpio_l;
 
-	gpio_a = GPIOA_INPUT_VAL;
-	gpio_b = GPIOB_INPUT_VAL;
-	gpio_c = GPIOC_INPUT_VAL;
-
-	gpio_g = GPIOG_INPUT_VAL;
-	gpio_h = GPIOH_INPUT_VAL;
-	gpio_i = GPIOI_INPUT_VAL;
-
-	snprintf(buffer, sizeof(buffer), "GPIO_A: %02x  GPIO_G: %02x\n", gpio_a, gpio_g);
-	write(fd,buffer,sizeof(buffer));
-	snprintf(buffer, sizeof(buffer), "GPIO_B: %02x  GPIO_H: %02x\n", gpio_b, gpio_h);
-	write(fd,buffer,sizeof(buffer));
-	snprintf(buffer, sizeof(buffer), "GPIO_C: %02x  GPIO_I: %02x\n", gpio_c, gpio_i);
-	write(fd,buffer,sizeof(buffer));
-	
-	gpio_d = GPIOD_INPUT_VAL;
-	gpio_e = GPIOE_INPUT_VAL;
-	gpio_f = GPIOF_INPUT_VAL;
-
-	gpio_j = GPIOJ_INPUT_VAL;
-	gpio_k = GPIOK_INPUT_VAL;
-	gpio_l = GPIOL_INPUT_VAL;
-
-	snprintf(buffer, sizeof(buffer), "GPIO_D: %02x  GPIO_J: %02x\n", gpio_d, gpio_j);
-	write(fd,buffer,sizeof(buffer));
-	snprintf(buffer, sizeof(buffer), "GPIO_E: %02x  GPIO_K: %02x\n", gpio_e, gpio_k);
-	write(fd,buffer,sizeof(buffer));
-	snprintf(buffer, sizeof(buffer), "GPIO_F: %02x  GPIO_L: %02x\n", gpio_f, gpio_l);
-	write(fd,buffer,sizeof(buffer));
-	*/
-	
-	
-	
-	/* Detect the scroller being touched
-	
-	int j = 0;
-	for(j=0;j<1000;j++){
-		if(gpio_c!=0xF7){
-			snprintf(buffer, sizeof(buffer), "GPIO_C: %02x\n", gpio_c);
-			write(fd,buffer,sizeof(buffer));
-		}
-		if(gpio_d!=0xDD){
-			snprintf(buffer, sizeof(buffer), "GPIO_D: %02x\n", gpio_d);
-			write(fd,buffer,sizeof(buffer));
-		}
-	}*/
-	
-	
-	/* Apparently necessary for the data to be actually written to file */
-	fsync(fd);
-	udelay(1000000);
-	
-	/* This causes the device to shut off instantly
-	
-	GPIOF_OUTPUT_VAL = 0;
-	*/
-	
-	close(fd);
-	udelay(1000000);
+    gpio_a = GPIOA_INPUT_VAL;
+    gpio_b = GPIOB_INPUT_VAL;
+    gpio_c = GPIOC_INPUT_VAL;
+
+    gpio_g = GPIOG_INPUT_VAL;
+    gpio_h = GPIOH_INPUT_VAL;
+    gpio_i = GPIOI_INPUT_VAL;
+
+    snprintf(buffer,sizeof(buffer),"GPIO_A: %02x GPIO_G: %02x\n",gpio_a,gpio_g);
+    write(fd,buffer,sizeof(buffer));
+    snprintf(buffer,sizeof(buffer),"GPIO_B: %02x GPIO_H: %02x\n",gpio_b,gpio_h);
+    write(fd,buffer,sizeof(buffer));
+    snprintf(buffer,sizeof(buffer),"GPIO_C: %02x GPIO_I: %02x\n",gpio_c,gpio_i);
+    write(fd,buffer,sizeof(buffer));
+    
+    gpio_d = GPIOD_INPUT_VAL;
+    gpio_e = GPIOE_INPUT_VAL;
+    gpio_f = GPIOF_INPUT_VAL;
+
+    gpio_j = GPIOJ_INPUT_VAL;
+    gpio_k = GPIOK_INPUT_VAL;
+    gpio_l = GPIOL_INPUT_VAL;
+
+    snprintf(buffer,sizeof(buffer),"GPIO_D: %02x GPIO_J: %02x\n",gpio_d,gpio_j);
+    write(fd,buffer,sizeof(buffer));
+    snprintf(buffer,sizeof(buffer),"GPIO_E: %02x GPIO_K: %02x\n",gpio_e,gpio_k);
+    write(fd,buffer,sizeof(buffer));
+    snprintf(buffer,sizeof(buffer),"GPIO_F: %02x GPIO_L: %02x\n",gpio_f,gpio_l);
+    write(fd,buffer,sizeof(buffer));
+    */
+    
+    
+    
+    /* Detect the scroller being touched
+    
+    int j = 0;
+    for(j=0;j<1000;j++){
+        if(gpio_c!=0xF7){
+            snprintf(buffer, sizeof(buffer), "GPIO_C: %02x\n", gpio_c);
+            write(fd,buffer,sizeof(buffer));
+        }
+        if(gpio_d!=0xDD){
+            snprintf(buffer, sizeof(buffer), "GPIO_D: %02x\n", gpio_d);
+            write(fd,buffer,sizeof(buffer));
+        }
+    }*/
+    
+    
+    /* Apparently necessary for the data to be actually written to file */
+    fsync(fd);
+    udelay(1000000);
+    
+    /* This causes the device to shut off instantly
+    
+    GPIOF_OUTPUT_VAL = 0;
+    */
+    
+    close(fd);
+    udelay(1000000);
 }
 
 /* These functions are present in the firmware library, but we reimplement
Index: firmware/target/arm/iriver/h10/backlight-h10.c
===================================================================
RCS file: /cvsroot/rockbox/firmware/target/arm/iriver/h10/backlight-h10.c,v
retrieving revision 1.1
diff -u -r1.1 backlight-h10.c
--- firmware/target/arm/iriver/h10/backlight-h10.c	3 Aug 2006 20:18:19 -0000	1.1
+++ firmware/target/arm/iriver/h10/backlight-h10.c	11 Aug 2006 09:25:12 -0000
@@ -28,7 +28,7 @@
 void __backlight_on(void)
 {
 #if 0    
-	int level = set_irq_level(HIGHEST_IRQ_LEVEL);
+    int level = set_irq_level(HIGHEST_IRQ_LEVEL);
     pcf50606_write(0x38, 0xb0); /* Backlight ON, GPO1INV=1, GPO1ACT=011 */
     set_irq_level(level);
 #endif
Index: firmware/target/arm/iriver/h10/button-h10.c
===================================================================
RCS file: /cvsroot/rockbox/firmware/target/arm/iriver/h10/button-h10.c,v
retrieving revision 1.2
diff -u -r1.2 button-h10.c
--- firmware/target/arm/iriver/h10/button-h10.c	11 Aug 2006 08:35:26 -0000	1.2
+++ firmware/target/arm/iriver/h10/button-h10.c	11 Aug 2006 09:25:12 -0000
@@ -33,7 +33,7 @@
 
 void button_init_device(void)
 {
-	/* No hardware initialisation required as it is done by the bootloader */
+    /* No hardware initialisation required as it is done by the bootloader */
 }
 
 bool button_hold(void)
@@ -47,8 +47,8 @@
 int button_read_device(void)
 {
     int btn = BUTTON_NONE;
-	unsigned char state;
-	static bool hold_button = false;
+    unsigned char state;
+    static bool hold_button = false;
 
 #if 0
     /* light handling */
@@ -59,25 +59,25 @@
 #endif
 
     hold_button = button_hold();
-	if (!hold_button)
+    if (!hold_button)
     {
-		/* Read normal buttons */
-		state = GPIOA_INPUT_VAL & 0xf8;
-		if ((state & 0x8) == 0) btn |= BUTTON_FF;
-		if ((state & 0x10) == 0) btn |= BUTTON_PLAY;
-		if ((state & 0x20) == 0) btn |= BUTTON_REW;
-		if ((state & 0x40) == 0) btn |= BUTTON_RIGHT;
-		if ((state & 0x80) == 0) btn |= BUTTON_LEFT;
-		
-		/* Read power button */
-		if ((GPIOB_INPUT_VAL & 0x1) == 0) btn |= BUTTON_POWER;
-		
-		/* Read scroller */
-		if ( ((GPIOC_INPUT_VAL & 0x4)==1) && ((GPIOD_INPUT_VAL & 0x10)==1) )
-		{
-			/* Scroller is pressed */
-		}
-	}
-	
+        /* Read normal buttons */
+        state = GPIOA_INPUT_VAL & 0xf8;
+        if ((state & 0x8) == 0) btn |= BUTTON_FF;
+        if ((state & 0x10) == 0) btn |= BUTTON_PLAY;
+        if ((state & 0x20) == 0) btn |= BUTTON_REW;
+        if ((state & 0x40) == 0) btn |= BUTTON_RIGHT;
+        if ((state & 0x80) == 0) btn |= BUTTON_LEFT;
+        
+        /* Read power button */
+        if ((GPIOB_INPUT_VAL & 0x1) == 0) btn |= BUTTON_POWER;
+        
+        /* Read scroller */
+        if ( ((GPIOC_INPUT_VAL & 0x4)==1) && ((GPIOD_INPUT_VAL & 0x10)==1) )
+        {
+            /* Scroller is pressed */
+        }
+    }
+    
     return btn;
 }
Index: firmware/target/arm/iriver/h10/power-h10.c
===================================================================
RCS file: /cvsroot/rockbox/firmware/target/arm/iriver/h10/power-h10.c,v
retrieving revision 1.1
diff -u -r1.1 power-h10.c
--- firmware/target/arm/iriver/h10/power-h10.c	3 Aug 2006 20:18:28 -0000	1.1
+++ firmware/target/arm/iriver/h10/power-h10.c	11 Aug 2006 09:25:12 -0000
@@ -71,7 +71,7 @@
 
 bool charger_inserted(void)
 {     
-	return (GPIOL_INPUT_VAL & 0x04)?true:false; /* FIXME: This only checks if USB is connected */
+    return (GPIOL_INPUT_VAL & 0x04)?true:false; /* FIXME: This only checks if USB is connected */
 }
 
 void ide_power_enable(bool on)
@@ -90,10 +90,10 @@
 void power_off(void)
 {
     /* set_irq_level(HIGHEST_IRQ_LEVEL);*/
-	#ifndef BOOTLOADER
+    #ifndef BOOTLOADER
     /* We don't turn off the ipod, we put it in a deep sleep */
     /* pcf50605_standby_mode(); */
     while(1)
         yield();
-	#endif
+    #endif
 }
Index: firmware/target/arm/iriver/h10/usb-h10.c
===================================================================
RCS file: /cvsroot/rockbox/firmware/target/arm/iriver/h10/usb-h10.c,v
retrieving revision 1.1
diff -u -r1.1 usb-h10.c
--- firmware/target/arm/iriver/h10/usb-h10.c	3 Aug 2006 20:18:30 -0000	1.1
+++ firmware/target/arm/iriver/h10/usb-h10.c	11 Aug 2006 09:25:13 -0000
@@ -92,10 +92,10 @@
 
 void usb_enable(bool on)
 {
-	(void)on;
+    (void)on;
 #if 0
-	/* For the ipod, we can only do one thing with USB mode - reboot
-	   into Apple's flash-based disk-mode.  This does not return. */
+    /* For the ipod, we can only do one thing with USB mode - reboot
+       into Apple's flash-based disk-mode.  This does not return. */
     if (on)
     {
       /* The following code is copied from ipodlinux */