SX730 HS porting thread - DryOS Development - CHDK Forum

SX730 HS porting thread

  • 56 Replies
  • 55025 Views
SX730 HS porting thread
« on: 29 / October / 2018, 10:49:23 »
Advertisements
Hello,

i would like to offer my labor in creating a port to the SX730. I have general technical and electronical understand, can programm in C , implemented some arduino projects.

Only, i have no working knowledge in creating a CHDK port and don't know where to start. I would be pleased, if some senior developer or project leader could assist in coordinating the next necessary steps.

Cheers
Tim

Re: SX730 HS porting thread
« Reply #1 on: 29 / October / 2018, 10:51:21 »
My first step will be to read the firmware version of the camera. This should be pretty easy. I will follow these description:
https://chdk.wikia.com/wiki/FAQ#Q._How_can_I_get_the_original_firmware_version_number_of_my_camera.3F

Re: SX730 HS porting thread
« Reply #2 on: 29 / October / 2018, 11:35:09 »
Welcome.  Good to see you made it here after you posted on the CHDK Wikia.

You might want to take a look at this thread :

https://chdk.setepontos.com/index.php?topic=13569

If I get a little time, I'm going to try and document the current steps necessary to do a port.  In the meantime that thread and the links it contains should be enough to get you started.
Ported :   A1200    SD940   G10    Powershot N    G16

*

Offline reyalp

  • ******
  • 14128
Re: SX730 HS porting thread
« Reply #3 on: 29 / October / 2018, 13:43:28 »
My first step will be to read the firmware version of the camera. This should be pretty easy. I will follow these description:
https://chdk.wikia.com/wiki/FAQ#Q._How_can_I_get_the_original_firmware_version_number_of_my_camera.3F
The ver.req / vers.req method doesn't work on many modern cameras. You can get the version from a firmware dump, which you will probably want to make anyway.

Use https://chdk.wikia.com/wiki/Canon_Basic/Scripts/Dumper and when you have the dump file, search for the string starting with "Firmware Ver GM"
Don't forget what the H stands for.

Re: SX730 HS porting thread
« Reply #4 on: 30 / October / 2018, 18:55:13 »
I also have this camera. I have dumped the firmware and attaching it here:
https://drive.google.com/file/d/18jOTQSY-O_1kLC0UvfTy1uKWzV3uBHU5/view?usp=sharing

Re: SX730 HS porting thread
« Reply #5 on: 31 / October / 2018, 04:40:58 »
The ver.req / vers.req method doesn't work on many modern cameras. You can get the version from a firmware dump, which you will probably want to make anyway.
Use https://chdk.wikia.com/wiki/Canon_Basic/Scripts/Dumper and when you have the dump file, search for the string starting with "Firmware Ver GM"
I did not get it going with the ver.req or vers.req file method. First of all, the SX730HD did not have a DISP button. So i tryed all possible combinations with the FUNC SET button. But without success.
I will give it a try with the Universal Dumper.

*

Offline srsa_4c

  • ******
  • 4451
Re: SX730 HS porting thread
« Reply #6 on: 31 / October / 2018, 13:09:03 »
First of all, the SX730HD did not have a DISP button.
FWIW, new cameras have an INFO button rather than DISP. (DISP is Powershot legacy, INFO comes from DSLRs.) The firmware internally still refers to it as DISP.

finsig_thumb2 needs to be patched to work better on the sx730 dump as it relies on a task named FileWriteTask - which is no longer present in the sx730 firmware.
Code: [Select]
Index: tools/finsig_thumb2.c
===================================================================
--- tools/finsig_thumb2.c (revision 5108)
+++ tools/finsig_thumb2.c (working copy)
@@ -3607,7 +3607,7 @@
 {sig_match_unreg_evp_table,"UnRegisterEventProcTable","MechaUnRegisterEventProcedure"},
 {sig_match_evp_table_veneer,"RegisterEventProcTable_alt","RegisterEventProcTable"},
 {sig_match_evp_table_veneer,"UnRegisterEventProcTable_alt","UnRegisterEventProcTable"},
-{sig_match_str_r0_call,"CreateTaskStrictly",    "FileWriteTask",},
+{sig_match_str_r0_call,"CreateTaskStrictly",    "LowConsole",},
 {sig_match_str_r0_call,"CreateTask",            "EvShel",},
 {sig_match_near_str,   "dry_memcpy",            "EP Slot%d",            SIG_NEAR_BEFORE(4,1)},
 {NULL},
I could check this in as it doesn't affect existing ports, but I'd rather have @reyalp commit it, if possible.

*

Offline reyalp

  • ******
  • 14128
Re: SX730 HS porting thread
« Reply #7 on: 31 / October / 2018, 13:36:49 »
I could check this in as it doesn't affect existing ports, but I'd rather have @reyalp commit it, if possible.
If you've verified it doesn't change the output for other firmwares, checking in is totally fine with me. Otherwise I should get to it within a day or so done.

I'm sure there's no special reason I chose FileWriteTask there, it would have just been the first one I happened to see that provided the function.

I'd assume all the existing cameras have LowConsole, but there could be a bad match for other reasons.
« Last Edit: 31 / October / 2018, 23:20:58 by reyalp »
Don't forget what the H stands for.

*

Offline fe50

  • ******
  • 3152
  • IXUS50 & 860, SX10 Star WARs-Star RAWs
    • fe50
Re: SX730 HS porting thread
« Reply #8 on: 03 / November / 2018, 04:25:47 »
Added the
  • SX730 1.00C
full 32MB dump by kmmng from this forum post to the CHDK P&S FW dumps repository.

Re: SX730 HS porting thread
« Reply #9 on: 06 / November / 2018, 06:35:41 »
I dumped the firmware and got the firmware version.
This is what i did:
1) Formated the sd card from within the camera
2) Preparing the sd card on a Debian Linux maschine. Using the script makeScriptCard.sh from https://chdk.wikia.com/wiki/Canon_Basic/Card_Setup to write the string SCRIPT to the boot sector
3) Took the Universal dumper https://chdk.wikia.com/wiki/Canon_Basic/Scripts/Dumper and saved the script as the file 'extend.m' on the sd card.
4) Started the camera in Play Mode.

As a result i got the file CBDUMPER.LOG and PRIMARY.BIN.
Than (on my linux box) :
Code: [Select]
$ strings PRIMARY.BIN | grep -C2 "Firmware Ver"
Feb 28 2017
13:26:12
Firmware Version 1.00
Firmware Ver GM1.00B
BuildInfo.c
CheckSum Skip (no %s)

The Firmware Version does not match with that posted from kmmng, who commited a 1.00C Firmware.
Here is a link to the dump: https://github.com/TimPeTwo/chdk_canon_sx730hs_port/blob/master/fw_dump/PRIMARY.BIN
« Last Edit: 06 / November / 2018, 06:54:31 by TimPeTwo »

 

Related Topics


SimplePortal © 2008-2014, SimplePortal