Bug report: || won't fix: A550,A560,I75 || fixed: SX20,I200,I960,I970,SD870 - page 5 - General Discussion and Assistance - CHDK Forum

Bug report: || won't fix: A550,A560,I75 || fixed: SX20,I200,I960,I970,SD870

  • 82 Replies
  • 26429 Views
*

Offline srsa_4c

  • ******
  • 4451
Re: Bug report? A560, SD870, IXUS 960, SX20, IXUS 75, A550, IXUS 970
« Reply #40 on: 20 / July / 2014, 16:40:16 »
Advertisements
Here's a build for ixus75_sd750 101a & 101b
Patch is:
Code: [Select]
Index: platform/ixus75_sd750/sub/101a/boot.c
===================================================================
--- platform/ixus75_sd750/sub/101a/boot.c (revision 3524)
+++ platform/ixus75_sd750/sub/101a/boot.c (working copy)
@@ -149,7 +149,63 @@
 
     asm volatile (
  "LDMFD   SP!, {R4,R5,LR}\n"
- "B       sub_FF81136C\n" //IsEmptyWriteCache_2
+// "B       sub_FF81136C\n" // wraps sub_FF811AE0
+    "B       sub_FF811AE0_my\n"
     );
 }
 
+/*
+void __attribute__((naked,noinline)) sub_FF81136C_my(  ) {
+asm volatile (
+      "    STR     LR, [SP, #-4]! \n"
+      "    LDR     LR, [SP], #4 \n"
+      "    B       sub_FF811AE0 \n"
+    );
+}
+*/
+
+void __attribute__((naked,noinline)) sub_FF811AE0_my(  ) {
+asm volatile (
+      "    STMFD   SP!, {R4,LR} \n"
+      "    SUB     SP, SP, #4 \n"
+      "    BL      sub_FF81B85C \n"
+      "    CMP     R0, #0 \n"
+      //"    BNE     loc_FF811B38 \n" // -
+      "    B       loc_FF811B38 \n" // +
+      "    MOV     R2, #0xE8 \n"
+      "    MOV     R1, #0xEC \n"
+      "    ADD     R2, R2, #0xC0000000 \n"
+      "    ADD     R1, R1, #0xC0000000 \n"
+      "    ADD     R2, R2, #0x220000 \n"
+      "    ADD     R1, R1, #0x220000 \n"
+      "    LDR     R3, [R2] \n"
+      "    LDR     R0, [R1] \n"
+      "    ORR     R3, R3, R0 \n"
+      "    TST     R3, #1 \n"
+      "    BNE     loc_FF811B38 \n" // jump if check succeeded, halt otherwise
+      "    MOV     R3, #0x4C \n"
+      "    ADD     R3, R3, #0xC0000000 \n"
+      "    ADD     R3, R3, #0x220000 \n"
+      "    MOV     R2, #0x44 \n"
+      "    STR     R2, [R3] \n" // switch off
+"loc_FF811B34:\n"
+      "    B       loc_FF811B34 \n" // infinite loop (until camera power supply switches off)
+"loc_FF811B38:\n"
+      "    BL      sub_FFA395F8 \n"
+      "    BL      sub_FFB1FF48 \n"
+      "    BL      sub_FF8112AC \n"
+      "    MOV     R1, #0x300000 \n"
+      "    BL      sub_FF811E40 \n"
+      "    BL      sub_FFB200DC \n"
+      "    MOV     R4, #0 \n"
+      "    LDR     R0, =0xFF811AD8 \n"
+      "    MOV     R1, #0x19 \n"
+      "    MOV     R2, R4 \n"
+      "    LDR     R3, =0xFF811B84 \n" // task_Startup
+      "    STR     R4, [SP] \n"
+      "    BL      sub_FFB2022C \n"
+      "    MOV     R0, R4 \n"
+      "    ADD     SP, SP, #4 \n"
+      "    LDMFD   SP!, {R4,PC} \n"
+    );
+}
Note that this mod only avoids a possible early poweroff, so I have no idea whether it will change anything.
edit: attachment no longer necessary, removed
« Last Edit: 20 / July / 2014, 16:59:18 by srsa_4c »

*

Offline koshy

  • *****
  • 1096
Re: Bug report? A560, SD870, IXUS 960, SX20, IXUS 75, A550, IXUS 970
« Reply #41 on: 20 / July / 2014, 16:46:48 »
Here's a build for ixus75_sd750 101a & 101b

I tried it and could not power the camera up using the power button.
I could power it up using the play button so the effect was unchanged from the outside look of it.
Koshy had a little ELPH which wasn't white as snow but everywhere that Koshy went the ELPH was sure to go. (actually an SD, but that detail ruins the rhyme...)

*

Offline srsa_4c

  • ******
  • 4451
Re: Bug report? A560, SD870, IXUS 960, SX20, IXUS 75, A550, IXUS 970
« Reply #42 on: 20 / July / 2014, 16:58:36 »
I tried it and could not power the camera up using the power button.
I could power it up using the play button so the effect was unchanged from the outside look of it.
I see. Unfortunately, (to my knowledge) none of the Vx ports implement special support for boot-time mode detection. That means someone would have to find it (mostly trial & error), as it is different from the method used in DryOS cameras. Doing this without physical access to the cam would be very painful and slow...

The issue was probably much more severe in DryOS, as without the hack probably none of them would start (in any mode).

*

Offline koshy

  • *****
  • 1096
Re: Bug report? A560, SD870, IXUS 960, SX20, IXUS 75, A550, IXUS 970
« Reply #43 on: 21 / July / 2014, 18:31:10 »
I see. Unfortunately, (to my knowledge) none of the Vx ports implement special support for boot-time mode detection. That means someone would have to find it (mostly trial & error), as it is different from the method used in DryOS cameras.

I see. The three VxWorks OS cameras listed in this thred (A550, SD750/IXUS_75, A560 - red in attached graphic) differ from all other VxWorks OS cameras by the fact that they have two push buttons. Play and On/Off. The other cameras all have a slide back and forth button, a dial, or the special on/off switch used for S2/S3 that will be used to set what mode to use (those work in that fashion - green in attached graphic). I looked at the lot and found two exceptions that have a two button concept (blue in the attached graphic) like the three in question. So I was wondering if something could be derived from those ports.

a) G7 has a play button and an on/off button and both work just fine
b) S80 has a play button and an on off button implemented in the sliding lens cover (sliding into a certain position actuates the button.
Koshy had a little ELPH which wasn't white as snow but everywhere that Koshy went the ELPH was sure to go. (actually an SD, but that detail ruins the rhyme...)

*

Offline srsa_4c

  • ******
  • 4451
Re: Bug report? A560, SD870, IXUS 960, SX20, IXUS 75, A550, IXUS 970
« Reply #44 on: 22 / July / 2014, 11:58:46 »
So I was wondering if something could be derived from those ports.
Any related code should show up in platform/<cam>/sub/<rev>/boot.c, but I didn't find any for Vx ports.

Quote
a) G7 has a play button and an on/off button and both work just fine
b) S80 has a play button and an on off button implemented in the sliding lens cover (sliding into a certain position actuates the button.
These cams are from the earlier Vx generation before Canon introduced code that is causing the problem.

*

Offline koshy

  • *****
  • 1096
a) G7 has a play button and an on/off button and both work just fine
b) S80 has a play button and an on off button implemented in the sliding lens cover (sliding into a certain position actuates the button.
These cams are from the earlier Vx generation before Canon introduced code that is causing the problem.

Too bad. I had hoped the two being both DIGIC 2 and DIGIC 3 would raise chances of them using the same OS. But I have no clue about that and won't get into it ;-)

Koshy had a little ELPH which wasn't white as snow but everywhere that Koshy went the ELPH was sure to go. (actually an SD, but that detail ruins the rhyme...)

*

Offline koshy

  • *****
  • 1096
Re: Bug report? A560, SD870, IXUS 960, SX20, IXUS 75, A550, IXUS 970
« Reply #46 on: 23 / July / 2014, 19:27:12 »
I created a new version for ixus860/sd870,  boot.c, capt_seq.c, movie_rec.c are created using code_gen. There are a lot of changes, then a full test is required. Please start testing if power up button works and if CHDK loads without problems. After that, please run tests as described here: http://chdk.wikia.com/wiki/Testing

This one got lost...

- SD870 powers up using both play and power buttons
- zebra works

- Full shutter press 6 times: no DNGs in folder with JPEG
- With AF (half pressed): no DNGs
- in A/RAW folder: no DNG, no folder created
- turned off DNG format: no RAW

Free Memory: 852320 bytes

Well, please instruct in detail what to test with subsequent versions.
Koshy had a little ELPH which wasn't white as snow but everywhere that Koshy went the ELPH was sure to go. (actually an SD, but that detail ruins the rhyme...)

*

Offline nafraf

  • *****
  • 1308
ixus860_sd870 100c:
Please test DNG creation creation and long exposure.

*

Offline koshy

  • *****
  • 1096
ixus860_sd870 100c:
Please test DNG creation creation and long exposure.
Both fail.
Long exposure has no effect at 00:01:31.
I re-iterated yesterday's DNG tests with identical results.
Koshy had a little ELPH which wasn't white as snow but everywhere that Koshy went the ELPH was sure to go. (actually an SD, but that detail ruins the rhyme...)

*

Offline nafraf

  • *****
  • 1308
Hooks did not work on previous files. Please test this new version.

 

Related Topics


SimplePortal © 2008-2014, SimplePortal