A1000IS porting... - page 28 - DryOS Development - CHDK Forum

A1000IS porting...

  • 297 Replies
  • 146738 Views
Re: A1000IS porting...
« Reply #270 on: 03 / December / 2010, 10:11:47 »
Advertisements
Error 404: File Not Found
Page (or file) you requested has been moved or deleted

Re: A1000IS porting...
« Reply #271 on: 25 / June / 2011, 19:19:13 »
I have been sifting through this page for highlights and I've been on IRC and people like reyalP have been quite helpful.  I just got 2 used A1000 IS cameras, one has 100a firmware and one has 100b firmware.  I installed the SDM for the A1000 (they only have a 100b version) and it works fine on the 100b camera but won't load on the 100a camera. (Download for SDM here)  Since apparently you cannot just update the 100a firmware to 100b firmware (which still blows my mind but anyways) I am now on a quest for a working SDM for 100a.  I would also like to see fully functioning 100a and 100b CHDK versions.  Here are some main posts for those not wanting to sift through all this:

diablo's source files: http://chdk.setepontos.com/index.php?topic=2654.msg33964#msg33964

kulen's test results for the latest diablo build (if I understand things correctly): http://chdk.setepontos.com/index.php?topic=2654.msg46615#msg46615

the latest version in this thread, posted by bolalex: http://chdk.setepontos.com/index.php?topic=2654.msg50133#msg50133

The original 100a version: http://chdk.setepontos.com/index.php?topic=2654.msg25703#msg25703

Some other links of note

A Google translation of the German thread for the A1000IS (which includes a new 1.1.0 version for the 100b): http://translate.google.com/translate?hl=en&sl=de&tl=en&u=http%3A%2F%2Fforum.chdk-treff.de%2Fviewtopic.php%3Ff%3D12%26t%3D2171

The CHDK-DE download page which has a .zip file for "a1000-100b-1.1.0-full_ALPHA_rev_690" http://forum.chdk-treff.de/download.php (under "PowerShot A Serie")

The CHDK (English) wiki page for the A1000IS which includes a 'firmware dump' for 100a and 100b: http://chdk.wikia.com/wiki/A1000IS#Firmware_info


__________________________________


If your A1000 has the 100b firmware (you can check using "ACID") then I would suggest using the German 1.1.0 alpha version or the SDM version.  If your A1000 has the 100a firmware, then you and I are in the same boat and I am hopeful that someone will help us :)

I'll update this post if I found out more.

EDIT


It looks like the two 'newest' versions of the A1000 1.00b CHDK are not in English - one is German and one is Russian.  The Russian version was posted here (the 0.99 version) and the German version is the one at the German download link.  For me, the 0.99 Russian version loads fine on my camera but the German 1.1.0 version will not load (my camera won't turn on with it in.)  I have PMed CHDKLover, the German person behind the 1.1.0 version (and its addition to the German svn.)  I am hoping he can sort things out.  I am also really hoping he speaks English :)

For what it's worth, here are links to the Russian and German forum threads for A1000IS porting (run through Google Translator)

German: http://translate.google.com/translate?hl=en&sl=de&tl=en&u=http%3A%2F%2Fforum.chdk-treff.de%2Fviewtopic.php%3Ff%3D12%26t%3D2171

Russian: http://translate.google.com/translate?js=n&prev=_t&hl=en&ie=UTF-8&layout=2&eotf=1&sl=ru&tl=en&u=http%3A%2F%2Fchdk.clan.su%2Fforum%2F22-388-1
« Last Edit: 26 / June / 2011, 01:40:25 by Qanthelas »

Re: A1000IS porting...
« Reply #272 on: 25 / June / 2011, 22:14:53 »
If your A1000 has the 100a firmware, then you and I are in the same boat and I am hopeful that someone will help us :)

If nobody else gets to it first,  I'll do a 1.00a CHDK verision for you from the 1.00b. Won't be right away, I'm kind of tied up for the next three or four weeks but there is hope.

The big questions is,  how good is the 1.00b version? My most recent conversions between different firmware versions on the same camera have ranged from easy (S95) to hard (IXUS980_SD980) to downright nasty (A495).  If there is a CHDK port for the  1.00b that is clean and runs well then it will only take me a few hours to do the conversion and that could be squeezed in over the next couple of weeks.   If the 1.00b is wobbly then it will take longer to find the time.

Ported :   A1200    SD940   G10    Powershot N    G16

Re: A1000IS porting...
« Reply #273 on: 25 / June / 2011, 23:27:33 »
If nobody else gets to it first,  I'll do a 1.00a CHDK verision for you from the 1.00b. Won't be right away, I'm kind of tied up for the next three or four weeks but there is hope.
Hey waterwingz! reyalP on IRC thought you might be the person to talk to about getting a 100a version so I'm glad you saw my post :D

The big questions is,  how good is the 1.00b version?

I have been using the SDM but I will try to get the German 1.1.0 100b version up and running (on my 100b camera, just to clarify, I have one of each) and I'll test it out and edit this post with the results.  From what I've read, it seems like the 100b version works except perhaps the remote and the motion detection scripts.  Stay tuned :)

UPDATE

Well, the German autobuild version does not work - my camera will not turn on.  The .bin file form the German forums shows "Card locked!" when I turn the camera on (and then the camera turns on normally, not in CHDK.)  I tried out some of reyalp's and waterwingz's potential fixes (on IRC) but no luck yet.  I'm currently hoping that CHDKLover can help us out (since he is the one who made the German 1.1.0 version.)
« Last Edit: 29 / June / 2011, 01:55:31 by Qanthelas »


Re: A1000IS porting...
« Reply #274 on: 29 / June / 2011, 19:11:39 »
Please forgive the multiple posts but I'm trying to keep things (at least sort of) orderly.  I have been e-mailing Microfunguy (the man behind the SDM fork of CHDK) and he helped me debug the German autobuild source.  Since his SDM build was similar to the German autobuild, he tweaked his stubs files to work with the German autobuild.  I have loaded up this version on my camera and it works with the huge caveat that the menu isn't right (the text is stretched and not centered properly and some of it seems to be off screen) so I would not recommend actually using this build as is, but it at least gives source for a working version of the code that's in the German autobuilder.  I'm hopeful that waterwingz and reyalp will be able to use this to make a working version of 100b CHDK with the menus looking like they are supposed to and from there a 100a version :)  Since he also made a .bin file for me to test, I have attached that to this post, too.

Note that I did get Microfunguy's permission to post this here - he said that is what it was for :)

EDIT: To help clarify what I mean by "text is stretched and not centered properly..." here are some pictures :)

http://imgur.com/a/MBjyy (this is a gallery with a few pictures - there seems to be a two attachments per post limit on the forums so it'd be a bit tedious to post them all here.)
« Last Edit: 01 / July / 2011, 23:58:55 by Qanthelas »

Re: A1000IS porting...
« Reply #275 on: 02 / July / 2011, 02:03:08 »
With some coaching from reyalp I was able to get CHDK-Shell up and running and I tweaked the German svn platform_camera.h and now the display seems to work properly :)  As far as I can tell, there was a bunch of extra code in there about adjusting the display that was not necessary (and presumably copy/pasted from some other camera.)

I have done a bit of testing and things like Zebra, Histogram, and Edge seem to work as does the Misc OSD stuff and the depth of field OSD aid.  When I tried to use the Raw Parameters -> Create badpixel.bin menu option, it doesn't seem to quite work - it takes one picture but then just sits there.  (My understanding is that it should take two pictures and then do some thinking and make that badpixel.bin file.)  Also, when I set OSD parameters ->Show Temperature? to Battery my camera turned off and when I'd turn it back on it'd turn right back off.  I finally had to turn it on and quickly hit the play mode button so I could then go in to the menu and turn that back off.  Apparently this camera either doesn't have the battery temperature sensor or it is not properly mapped in the stubs files.

Anyways, here is the source and the full .zip (with CHDK folder and .bin for your camera) for my modified version :)
« Last Edit: 02 / July / 2011, 02:06:17 by Qanthelas »

Re: A1000IS porting...
« Reply #276 on: 02 / July / 2011, 23:57:18 »
CHDKLover has made some edits and posted them to the German trunk (as svn 695.)  I built this version and it will take RAW pictures as .CRW but it would not build badpixel.bin to take DNG photos.  I talked with reyalp on IRC and he pointed me towards the platform_camera.h file and these two lines:

    #define CAM_RAW_ROWPIX                  3736   // for new 10 MP http://chdk.setepontos.com/index.php/topic,2654.msg46273.html#msg46273
    #define CAM_RAW_ROWS                    2772   // for new 10 MP

From one of the .CRW files I took with the camera (opened in UFRaw as an addon for GIMP) I found that the size was wrong.  I changed those two lines to this:

    #define CAM_RAW_ROWPIX                  3684   // for new 10 MP http://chdk.setepontos.com/index.php/topic,2654.msg46273.html#msg46273
    #define CAM_RAW_ROWS                    2760   // for new 10 MP

I saved and rebuilt and now badpixel.bin can be created successfully :) (Through the Raw options -> Create badpixel.bin menu options on the camera in record mode.)  When I set to record DNG, take some pictures, and try to open them in UFRaw or IrFanView, they look kinda like the fuzzy lines on a TV when it has bad reception and mostly in two colors (like green and purple.)  I've attached a screenshot of one of my .DNG files in UFRaw to this post so you can see what I mean.  I have also attached the full .zip file (with everything you'd unzip on to your camera, but note that when I unzipped this onto my camera I deleted the German language file so that it would automatically load in to English.  If English is your language of choice I suggest you do the same.)

EDIT: I forgot to mention, I also changed the #define CAM_COLORMATRIX1 part of platform_camera.h by copy/pasting over that part of the sx110's platform_camera.h (to see if the different color matrix would fix the DNG files, but it didn't.)  So note that the color matrix that was being used and the sx100's color matrix both don't seem to fix the issue.

________________

UPDATE: The plot thickens...When I have taken a .DNG picture on my camera and then go to Main Menu -> Raw parameters ->RAW develop -> (go through the folders to find a .DNG, press Right, go back up to it, press left, select "DNG -> CHDW RAW") it makes a .CRW file and I can open that .CRW file in UFRaw in GIMP.  Thus somewhere inside my .DNG file (which is not displaying correctly at all in UFRaw) is my actual picture.  Note that reyalp thinks that this is perhaps not actually using RAW develop (but rather just using RAW develop to get to the file browser) but in any case, it seems to show that it is not a matter of my .DNG files not capturing the image, it is something else (perhaps bad metadata?)
« Last Edit: 03 / July / 2011, 00:40:02 by Qanthelas »

*

Offline philmoz

  • *****
  • 3450
    • Photos
Re: A1000IS porting...
« Reply #277 on: 03 / July / 2011, 00:36:26 »
CHDKLover has made some edits and posted them to the German trunk (as svn 695.)  I built this version and it will take RAW pictures as .CRW but it would not build badpixel.bin to take DNG photos.  I talked with reyalp on IRC and he pointed me towards the platform_camera.h file and these two lines:

    #define CAM_RAW_ROWPIX                  3736   // for new 10 MP http://chdk.setepontos.com/index.php/topic,2654.msg46273.html#msg46273
    #define CAM_RAW_ROWS                    2772   // for new 10 MP

From one of the .CRW files I took with the camera (opened in UFRaw as an addon for GIMP) I found that the size was wrong.  I changed those two lines to this:

    #define CAM_RAW_ROWPIX                  3684   // for new 10 MP http://chdk.setepontos.com/index.php/topic,2654.msg46273.html#msg46273
    #define CAM_RAW_ROWS                    2760   // for new 10 MP

I saved and rebuilt and now badpixel.bin can be created successfully :) (Through the Raw options -> Create badpixel.bin menu options on the camera in record mode.)  When I set to record DNG, take some pictures, and try to open them in UFRaw or IrFanView, they look kinda like the fuzzy lines on a TV when it has bad reception and mostly in two colors (like green and purple.)  I've attached a screenshot of one of my .DNG files in UFRaw to this post so you can see what I mean.  I have also attached the full .zip file (with everything you'd unzip on to your camera, but note that when I unzipped this onto my camera I deleted the German language file so that it would automatically load in to English.  If English is your language of choice I suggest you do the same.)

EDIT: I forgot to mention, I also changed the #define CAM_COLORMATRIX1 part of platform_camera.h by copy/pasting over that part of the sx110's platform_camera.h (to see if the different color matrix would fix the DNG files, but it didn't.)  So note that the color matrix that was being used and the sx100's color matrix both don't seem to fix the issue.

Your CAM_RAW_ROWPIX & CAM_RAW_ROWS still look wrong.
The raw image buffer size is 0xEC04F0 on this camera = 15467760 bytes or 10311840 pixels.
3684 x 2760 = 10167840 pixels.
The original values 3736 x 2772 = 10356192 pixels which also doesn't match the buffer size.

I'd suggest the RAW image size is the same as the A2000 - 3720 x 2772 = 10311840 pixels.

Try CAM_RAW_ROWPIX 3720
and CAM_RAW_ROWS 2772

Phil.
CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)


Re: A1000IS porting...
« Reply #278 on: 03 / July / 2011, 00:58:27 »
Your CAM_RAW_ROWPIX & CAM_RAW_ROWS still look wrong.
The raw image buffer size is 0xEC04F0 on this camera = 15467760 bytes or 10311840 pixels.
3684 x 2760 = 10167840 pixels.
The original values 3736 x 2772 = 10356192 pixels which also doesn't match the buffer size.

I'd suggest the RAW image size is the same as the A2000 - 3720 x 2772 = 10311840 pixels.

Try CAM_RAW_ROWPIX 3720
and CAM_RAW_ROWS 2772

Phil.


I hereby award you one free internet! :D  I followed your suggestion and now the CAM_RAW lines in platform_camera.h look like this:

    #define CAM_RAW_ROWPIX                  3720   // tweaked at philmoz's suggestion to match the A2000 http://chdk.setepontos.com/index.php?topic=2654.msg69715#msg69715
    #define CAM_RAW_ROWS                    2772   // tweaked at philmoz's suggestion to match the A2000


I saved the changes, built this in CHDK-Shell, loaded it on my camera, created a badpixel.bin, took two DNG photos, and they open up in UFRaw (in GIMP) and look like what I took a picture of! Yay! I think the color matrix might still need tweaking, but it at least seems to successfully take CRW and DNG RAW pictures now!

EDIT: I reverted the color matrix section of the platform_camera.h file to what it was (in the German trunk695 and trunk694) to try and avoid some confusion.  I built it, put it on my camera, made a badpixel.bin, took a DNG picture, put the card in my computer, opened up that DNG in UFRaw, and it indeed looks like what I took a picture of, so it seems to be OK.

I have attached my Source folder (which is basically the German trunk695 with some tweaks to platform_camera.h) and the full .zip with everything you'd want to put on your camera to run this (and remember, if you want it to just be in English, delete the German file from the LANG folder.)
« Last Edit: 03 / July / 2011, 01:16:51 by Qanthelas »

Re: A1000IS porting...
« Reply #279 on: 03 / July / 2011, 02:41:54 »
(Mods, if there are no double posting rules on this forum, please forgive me! Rest assured that my intentions are good  :D )

I just downloaded waterwingz's CHDK-PT tool to see if I could get it to make an a1000 100a version off of the source code I just posted for a 100b version (which is the modified German trunk695.)  I am not able to get this to work :(

First off, I used the Dumper Canon Basic Script to get the PRIMARY.BIN files for both the 100a and 100b (since I have one of each.)  I am confused to find that they are both 4096 KB and they both show a date modified of 12/31/1999 11:00 PM.  When I start running them through CHDK-PT and comparing the output, I can't find much at all that is different.  About the only noticeable difference I've encountered so far is in the address.txt file for the each version.

100a:
line 78 "   LDR   R0, =0xFFEEAFD0 \n"       

100b:
line 77 "   LDR   R0, =0xFFEEAE90 \n"     

When I try to run Convert -> Address List nothing seems to happen - it thinks for a little bit and shows "analyzing... 0 lines" then finishes and there is nothing in the text box area and when I hit Save it just saves a blank file.  I don't know what this means.

On a random sidenote, perhaps info from these address.txt files could help fix video recording in CHDK?  So far as I know, none of the video recording features of CHDK are available for the a1000 so far (in this most recent build or any other build for that matter.)  Maybe the info here could help with that, I'm not sure.

Anyways, here are links to both PRIMARY.BIN files (renamed so you can tell them apart :P) - Note that I would have just attached these to this post but they are too big =/

http://www.mediafire.com/?5sxdemtamb682

 

Related Topics