Adding new cameras, applying patches into trunk (with source code prepared) - page 5 - General Discussion and Assistance - CHDK Forum  

Adding new cameras, applying patches into trunk (with source code prepared)

  • 1679 Replies
  • 782474 Views
*

Offline whim

  • ******
  • 2046
  • A495/590/620/630 ixus70/115/220/230/300/870 S95
Advertisements
@fudgey

Nice one !
and yes, it's in the standard dev pack for windows

edit: 'bash --help' gives: 
Quote
GNU bash, version 2.04.0(1)-release-(i686-pc-msys)

wim
« Last Edit: 31 / August / 2008, 07:25:37 by whim »

*

Offline PhyrePhoX

  • *****
  • 2254
  • make RAW not WAR
    • PhyreWorX
will change this in the branch. i wonder why this didnt happen (or got reported) before?

*

Offline fudgey

  • *****
  • 1705
  • a570is
will change this in the branch. i wonder why this didnt happen (or got reported) before?

Probably because
1) not that many people build with the primaries in the src tree (there are no dumps in svn, after all)
2) many distros (such as Debian on which I used to compile CHDK) use bash (or some other sufficiently extended shell) as /bin/sh by default

Re: Adding new cameras, applying patches into trunk (with source code prepared)
« Reply #43 on: 06 / September / 2008, 16:48:36 »
hi,

here is the port for the ixus40 (sd300) firmware 100k adapted for firmware 100j.  additionally it corrects the series-shooting bug (shooting series as well as bracketing now works).  setting iso < 58 results in whitescreen + poweroff (take care with the autoiso settings).

please add this to the trunk.

thanks,
fred.

p.s. works well in juciphox too.
« Last Edit: 07 / September / 2008, 16:59:33 by fred55 »


*

Offline PhyrePhoX

  • *****
  • 2254
  • make RAW not WAR
    • PhyreWorX
tried to apply your patch to trunk. applying patch works, compiling for ixus40 100j fails though. maybe i did something wrong, please someone else confirm this.

*

Offline chr

  • ***
  • 138
  • IXUS 82 IS
Re: Adding new cameras, applying patches into trunk (with source code prepa
« Reply #45 on: 13 / October / 2008, 16:18:56 »
Hello ppl!

I think it's time to put sd1100 into the trunk. I just merged the latest stuff and made another release:

SD1100/ixus 80 porting ....

A patch is attached there. I hope, this build is as stable as the previous. There was no crash report since then.

However, it's still missing the move_rec and sdhc_largedisk support. I hacked that but it still freezes in PLAY mode. It is in the patch but disabled in the build chain.

The greatest problem is, that the diskboot.bin file must be encoded to be bootable. So no hacker can contribute unless running qemu/gdb ... and it can't go to the automated build thing, too.

(Reminder to that prob: Problems dumping the SD1100IS/IXUS80ISEmulating Digicam with QEMU ... udumper2008)

So I wrote this little tool (included in patch):

Code: (c) [Select]
/*
 * make an image bootable for latest cams
 * (c) 2008 chr
 *
 * GPL v3+
 *
 * Why make things easy if complex sells better?
 */
#include <stdio.h>
#include <stddef.h>
#include <string.h>
#include <stdlib.h>
#include <errno.h>

unsigned char _chr_[8] = { 4,6,1,0,7,2,5,3 };

unsigned char dance(unsigned char allbest, int fudgey);

#define GHOST 0x400
#define BARNEY 0x00

int main(int whim, char **reyalp) {
FILE *jeff666, *jucifer;
unsigned char *ewavr;

if (whim != 3) {
printf("usage: <in file> <out file>\n");
exit(1);
}

jeff666  = fopen(reyalp[1], "r");
if (jeff666 == NULL) {
printf("Error open %s: %s\n", reyalp[1], strerror(errno));
exit(1);
}
jucifer = fopen(reyalp[2], "w+");
if (jucifer == NULL) {
printf("Error open %s: %s\n", reyalp[2], strerror(errno));
exit(1);
}
fputc(BARNEY, jucifer);
ewavr = malloc(GHOST);

int grand, hacki = 0;
int phox = fread(ewavr, 1, GHOST, jeff666);
while (phox > 0) {
for (grand=0; grand<phox; grand+=8) {
unsigned char fe50[8];
for (hacki=0; hacki<8; hacki++) {
// fe50[hacki] = dancingbits(ewavr[grand + _chr_[hacki]], grand+hacki);
fe50[_chr_[hacki]] = dance(ewavr[grand + hacki], grand+hacki);
}
fwrite(fe50, 1, 8, jucifer);
}
phox = fread(ewavr, 1, GHOST, jeff666);
}
fclose(jeff666);
fclose(jucifer);
free(ewavr);
exit(0);
}

unsigned char dance(unsigned char allbest, int fudgey) {
if ((fudgey % 3) !=0)
return allbest ^ 0xff;
if ((fudgey & 1) == 0)
return allbest ^ 0xa0;
return (allbest >> 4) | (allbest << 4);
}

Note: it's already reverted. Must not run 15 times ;)
TODO: include this somehow into the build chain.

« Last Edit: 13 / October / 2008, 16:29:48 by chr »

*

Offline fudgey

  • *****
  • 1705
  • a570is
lol@your variable names...  :P

Nice work anyhow! :D

*

Offline fe50

  • ******
  • 3147
  • IXUS50 & 860, SX10 Star WARs-Star RAWs
    • fe50


*

Offline PhyrePhoX

  • *****
  • 2254
  • make RAW not WAR
    • PhyreWorX
tried again patching, both hacki and me did not succeed. fred55, you have to help us in order to get this into trunk :)

edit: uhm, where am i?

2nd edit: this is a reply to my post here: [REQ]Adding new cameras, applying patches into trunk (with source code prepared)
« Last Edit: 21 / October / 2008, 19:25:29 by PhyrePhoX »

*

Offline chr

  • ***
  • 138
  • IXUS 82 IS
sd1100 support
« Reply #49 on: 14 / November / 2008, 21:55:07 »
Hi there!

Here's a patchset against svn trunk rev 565. to support sd1100 aka ixus80/82

It contains:

0001-found-O_APPEND-for-dryos.patch
0002-sd1100-support-ixus80-82-fw-100c-101a.patch
0003-mh-these-files-are-autogenerated.patch
0004-tool-for-encoding-diskboot.bin-images.patch
0005-hack-gensigs.sh-we-have-different-rom-start-adresse.patch
0006-add-signatures-from-sd1100.patch
0007-rerun-finsig.patch
0008-while-hacking-it-happend-that-.cfg-got-corrupt-and.patch
0009-hacking-debug-osd-panel.patch
0010-new-feature-save-romlog.txt-in-debug-menu.patch
0011-compile-fix-make-OPT_DEBUGGING-global.patch


please add it to svn!

 

Related Topics