The SX1 IS Porting Thread - page 10 - General Discussion and Assistance - CHDK Forum  

The SX1 IS Porting Thread

  • 381 Replies
  • 184523 Views
Re: The SX1 IS Porting Thread
« Reply #90 on: 14 / April / 2009, 18:53:02 »
Advertisements
i was under the impression that if chdk boots off diskboot.bin, that it *should* also boot the fi2 file, without changes in boot.c or whatever. so *maybe* the encryption was changed? or some other thing?

Yeah....that is currently the information here in the forum....(that actually it should work fine, with same "compilation")....

ewavr already checked earlier my "ps.fi2" file and it looked good to him too....actually I can start the Firmware Update (--> encryption and therefore the "keys/IV" seem to be right) but after the question "2.0.0.0 --> 2.1.0.0" (with ewavr suggested change in fi2enc.inc) the cam will crash. (Will crash also with original 1.1.0.0 naming of CHDK FI....)

So it must be "...the other thing"....because it is the latest official firmware release (a 2.xxx version!) it may be that Canon added/changed the "firmware update" routine (no loading to other adresses than the planned one's)... or in worst case and nobody knows: It is a bug in Firmware 2.0.0h... (future firmware update impossible?)....



*

Offline PhyrePhoX

  • *****
  • 2254
  • make RAW not WAR
    • PhyreWorX
Re: The SX1 IS Porting Thread
« Reply #91 on: 14 / April / 2009, 19:17:23 »
hm, odd. i guess we can only find out if one of you ports chdk for the older firmware version as well, and finds someone who hasnt yet updated their firmware. perhaps canon did something evil. doubt it though, but you never know ;)

*

Offline ewavr

  • ****
  • 1057
  • A710IS
Re: The SX1 IS Porting Thread
« Reply #92 on: 14 / April / 2009, 19:27:04 »
@ fboesch:
Try this (for fi2 boot fix):

1). In loader/sx1/resetcode/main.c remove line 75 ("STR     R0, [R1,#0xFFC]\n")

or

2). In boot.c restore default sequence:
 - remove line 127  *(int*)(0x2658+4)=.....
 - remove comment in line 268 (i.e. "BL      sub_FF8218A8\n"  is called)

or both 1) and 2)


*

Offline pev69

  • **
  • 55
Re: The SX1 IS Porting Thread
« Reply #93 on: 14 / April / 2009, 19:31:21 »
This brought to mind an issue I thought some time ago: Has anyone ever considered making CHDK a real FW update? I mean, integrating it with the original FW dump, and then "burning" the whole thing to flash? (Sorry, I did not search the forum or wikia for this, just that it is close to the topic at hand :)).


*

Offline PhyrePhoX

  • *****
  • 2254
  • make RAW not WAR
    • PhyreWorX
Re: The SX1 IS Porting Thread
« Reply #94 on: 14 / April / 2009, 19:33:28 »
This brought to mind an issue I thought some time ago: Has anyone ever considered making CHDK a real FW update? I mean, integrating it with the original FW dump, and then "burning" the whole thing to flash? (Sorry, I did not search the forum or wikia for this, just that it is close to the topic at hand :)).

http://chdk.setepontos.com/index.php/topic,3435.0.html :)

*

Offline pev69

  • **
  • 55
Re: The SX1 IS Porting Thread
« Reply #95 on: 14 / April / 2009, 19:44:17 »
Ah, okay, sorry, thanks!  :-X :D

*

Offline pev69

  • **
  • 55
Re: The SX1 IS Porting Thread
« Reply #96 on: 14 / April / 2009, 19:50:07 »
Try this (for fi2 boot fix):

1). In loader/sx1/resetcode/main.c remove line 75 ("STR     R0, [R1,#0xFFC]\n")

or

2). In boot.c restore default sequence:
 - remove line 127  *(int*)(0x2658+4)=.....
 - remove comment in line 268 (i.e. "BL      sub_FF8218A8\n"  is called)

or both 1) and 2)

The 1) alone and 1) + 2) made diksboot.bin not boot at all, FI2 method additionally put out the power led :).

The 2) alone changed only diskboot so that long press of power button did not boot cam at all (short -> play mode as before).
« Last Edit: 14 / April / 2009, 20:05:47 by pev69 »

Re: The SX1 IS Porting Thread
« Reply #97 on: 15 / April / 2009, 03:12:32 »
Hi all

I've added the "LED Blink" Code (using the known AF LED on the front) into main.c of \loader\sx1\resetcode.

_______

 #define LED_AF (void*)0xC02200B4   //LED_AF
 #define DELAY 5000000

void __attribute__((noreturn)) copy_and_restart(void *dst_void, const void *src_void, long length) {

        {
      
      volatile long *p = (void*)LED_AF;       // turned off later, so assumed to be power

        int counter;

        // DEBUG: blink led
        counter = DELAY; *p = 0x46;  while (counter--) { asm("nop\n nop\n"); };
        counter = DELAY; *p = 0x44;  while (counter--) { asm("nop\n nop\n"); };

____________________

Following "findings"

Startup of CHDK using Diskboot.bin --> 2 Blinks (one slightly "longer" then a "shorter" one )

Startup (trial) with PS.FI2 --> just the first slightly longer "blink" - then nothing...

So it seems the cam enters into main.c (also with PS.FI2)  but get somewhere lost here....

Is this of any help?





« Last Edit: 15 / April / 2009, 03:41:56 by fboesch »


Re: The SX1 IS Porting Thread
« Reply #98 on: 15 / April / 2009, 04:09:24 »
Hello all,
Firstly, I would thank fboesch and pev69 for great work. I was reading the whole discussion and feeling that only help I could provide to you is testing. So here are some results.

ISO overriding:
1*10 (16), 2*10 (32), 3*10 (50) and 4*10 (64) speeds gave significantly different pictures. 5*10 (80) is equivalent of native 80 setting. Test setup is not ideal, but the results are obvious  by an eye and histograms are different. The values in brackets are the ones camera wrote to exif.

Aperture overriding:
9,10 and 11 made my picture sequentially darker than 8. Lower values made no difference from 11 (at least looks like that).

Exposure by factor:
2*10 setting caused 20 seconds aperture in P, Tv, Av and M modes. I will test exposures longer than 64 seconds tonight.

Re: The SX1 IS Porting Thread
« Reply #99 on: 15 / April / 2009, 04:22:48 »
Setting exposure 9*10 does in fact 64 seconds in P, Tv, Av and M modes.

 

Related Topics


SimplePortal 2.3.6 © 2008-2014, SimplePortal