SD 4000 IS / IXUS 300 HS / IXY 30S porting thread - page 7 - DryOS Development - CHDK Forum

SD 4000 IS / IXUS 300 HS / IXY 30S porting thread

  • 322 Replies
  • 186629 Views
*

Offline pixeldoc2000

  • ****
  • 356
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #60 on: 12 / September / 2010, 16:25:26 »
Advertisements
Hi pixeldoc,
The resfresh issue can be solved, check this
http://chdk.setepontos.com/index.php/topic,5045.msg54841.html#msg54841
Thanks!
Redraw does work much better now. Canon Menu does shown everytime and osd stuff does update too!

http://github.com/pixeldoc2000/chdk/commit/e8cf8149dadd1fa2f8298e0f3876dc4cc73cf0a9
« Last Edit: 12 / September / 2010, 16:45:29 by pixeldoc2000 »

Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #61 on: 13 / September / 2010, 17:02:54 »
I installed CHDK yesterday, but it will only let me select Firm Update while the lens is retracted. Once the lens is out, the camera seems to have forgotten about both that menu and about CHDK.

Traversing the CHDK menus seems to work fine.

Ah, putting a 1 GB, FAT16 card in instead of the 8 GB FAT32 I had bought with the camera allowed the camera to become bootable.

Pressing the on/off switch won't extend the lens, but tapping the release button next will.

Regular menus at first handle quirkily, but now seem to be fine with functioning alongside CHDK.

I haven't been able to get RAW to work.

If you have specific things you would like me to experiment with let me know.

*

Offline pixeldoc2000

  • ****
  • 356
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #62 on: 13 / September / 2010, 19:17:21 »
Thanks for testing...

I installed CHDK yesterday, but it will only let me select Firm Update while the lens is retracted. Once the lens is out, the camera seems to have forgotten about both that menu and about CHDK.
Camera does show Firmware Update only in play mode.
The Port is currently in an "early" stage. Most of the CHDK functions and override are not done yet.

Pressing the on/off switch won't extend the lens, but tapping the release button next will.
This has todo with CHDK boot process. Maybe could be fixed...

Regular menus at first handle quirkily, but now seem to be fine with functioning alongside CHDK.
Canon Menu and OSD has been improved since Beta v1. I release Beta v2 soon.

If you have specific things you would like me to experiment with let me know.
Please everyone report your Firmware Version.

*

Offline pixeldoc2000

  • ****
  • 356
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #63 on: 13 / September / 2010, 20:54:18 »
We need to override key and feather bits to avoid feather osd messing up chdk UI in ALT mode.

SD4000 kbd.c
Code: (c) [Select]
#define KEYS_MASK0 (0x0000090F)
// override key and feather bits to avoid feather osd messing up chdk display in ALT mode
#define KEYS_MASK1 (0x00000FF0)   // 0xF0 (keys) + 0xF00 (feather)
#define KEYS_MASK2 (0x00000000)
//static long alt_mode_key_mask = 0x00000000;   // we use two Keys, no need to override

This does fix CHDK Menu issus in REC mode (chdk menu disappeared on feather redraw).

Maybe this will fix the issus on other already ported cameras too (can't test it on my SD900 ATM).
« Last Edit: 13 / September / 2010, 20:57:59 by pixeldoc2000 »


*

Offline brent5000

  • *
  • 3
  • SD400 and IXUS 300 HS
Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #64 on: 14 / September / 2010, 03:59:13 »
I have a IXUS 300 HS that I just purchased a couple weeks ago (in Taiwan).  Have not yet loaded CHDK, but just dumped the Firmware revision (100 D) using CameraVersion V1.2:
Firmware Revision               : 1.00 rev 4.00

I only have a little experience in playing with CHDK on an SD400, but if there is something I can look at or test, let me know.  I am really looking forward to run some Intervalometer scripts.  Many thanks for your efforts!

Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #65 on: 14 / September / 2010, 15:20:37 »
Hi pixdeldoc,

Have loaded CHDK and run up - thank you for getting us this far ! My findings so far :


1 - Can bring up the menu and navigate the menu tree correctly.

2 - On exit from the CHDK menu the screen freezes,for example if I am in Display, I can however then switch to Play via pressing the shutter release and screen repaints and all controls working correctly - in programme Av for example I can control aperture, flash and compensation as normal. However no changes to Canons OSD (no battery charge indicator, grids, histogram as set in CHDK menu etc).

3 - It takes pictures correctly (however the values set in CHDK are not applied).

4 - While in Record I can switch back to CHDK menu and back to the Canon OSD - though as above it is frozen. If I switch to Play and then shutter release again to go back to Record it repaints and works fine. I can cycle through this as many times as I wish and I had no problems. CHDK Menu is always running in the background and can call up when required via ALT keys.

5 - I was able to change fonts \ sizes and colors to the menu text and background colors - this works fine and is retained.

6 - Set User Menu to root - this is retained and when ever ALT keys applied this shown first and I can navigate then to the main menu.

7 - I tried changing the time display via the CHDK Menu from 24hr to 12 hr - on exiting CHDK menu there was no change to displayed or logged time.


Is this what you were expecting ? I am not sure what other functionality you have been able to enable - I haven't been able to see any actual change in pictures, jpeg or RAW (as set up in CHDK).

Let me know if you need anything specific looked at - looking forward to the next release  :)

Firmware reports as 1.00 D \ 1.0 Rev 4.

*

Offline pixeldoc2000

  • ****
  • 356
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #66 on: 14 / September / 2010, 15:45:12 »
I only have a little experience in playing with CHDK on an SD400, but if there is something I can look at or test, let me know.  I am really looking forward to run some Intervalometer scripts.  Many thanks for your efforts!
You can test Beta v1 if you want.

Hi pixdeldoc,

Have loaded CHDK and run up - thank you for getting us this far ! My findings so far :

1 - Can bring up the menu and navigate the menu tree correctly.

2 - On exit from the CHDK menu the screen freezes,for example if I am in Display, I can however then switch to Play via pressing the shutter release and screen repaints and all controls working correctly - in programme Av for example I can control aperture, flash and compensation as normal. However no changes to Canons OSD (no battery charge indicator, grids, histogram as set in CHDK menu etc).

3 - It takes pictures correctly (however the values set in CHDK are not applied).

4 - While in Record I can switch back to CHDK menu and back to the Canon OSD - though as above it is frozen. If I switch to Play and then shutter release again to go back to Record it repaints and works fine. I can cycle through this as many times as I wish and I had no problems. CHDK Menu is always running in the background and can call up when required via ALT keys.

5 - I was able to change fonts \ sizes and colors to the menu text and background colors - this works fine and is retained.

6 - Set User Menu to root - this is retained and when ever ALT keys applied this shown first and I can navigate then to the main menu.

7 - I tried changing the time display via the CHDK Menu from 24hr to 12 hr - on exiting CHDK menu there was no change to displayed or logged time.

Is this what you were expecting ? I am not sure what other functionality you have been able to enable - I haven't been able to see any actual change in pictures, jpeg or RAW (as set up in CHDK).
2 & 4 - menu issus will hopefully be fixed in next beta

3 - no chdk override are done yet, this is exspected!

7 - change clock format does work for me and is retained

Is this what you were expecting ? I am not sure what other functionality you have been able to enable - I haven't been able to see any actual change in pictures, jpeg or RAW (as set up in CHDK).
yes, as written before, no overrides yet, neither for pictures or movie.

Thanks for testing everyone!

Watch out for next Beta.
« Last Edit: 14 / September / 2010, 15:50:32 by pixeldoc2000 »

*

Offline pixeldoc2000

  • ****
  • 356
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #67 on: 14 / September / 2010, 15:57:40 »
To make things easier, here is some status...

Current GIT code status

WORKING
  • diskboot (override READONLY flag)
  • firmware update
  • keyboard
  • ALT mode (chdk menu)
  • some scripts
  • JogDial in ALT mode

NOT WORKING
  • RAW
  • picture override
  • movie override
  • JogDial in ALT mode

ISSUS
  • chdk menu disappers sometimes

4x Cameras with Firmware 1.00d

still incomplete...
« Last Edit: 14 / September / 2010, 20:14:01 by pixeldoc2000 »


*

Offline pixeldoc2000

  • ****
  • 356
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #68 on: 14 / September / 2010, 19:29:09 »
Added JogDial support (git)

1. define "CAM_HAS_JOGDIAL 1" in camera.h

2. add get_jogdial_direction() function
kbd.c
Code: (c) [Select]
// ROM:FF861F98
int Get_JogDial(void) {
    return (*(int*)0xC0240104)>>16;     // 0xC0240000 + 0x104
}

static int new_jogdial=0, old_jogdial=0;

long get_jogdial_direction(void) {
    old_jogdial=new_jogdial;
    new_jogdial=Get_JogDial();

    if (old_jogdial<new_jogdial) {
        //return JOGDIAL_LEFT;
        return JOGDIAL_RIGHT;
    } else if (old_jogdial>new_jogdial) {
        return JOGDIAL_LEFT;
        //return JOGDIAL_RIGHT;
    } else {
        return 0;
    }
}
adjust get_jogdial_direction() to reverse left / right if needed.
verify JogDail address (0xC0240000 + 0x104). Look at the first brache in task_RotarySw() (verified on SD4000 and SX210).

3. add JogDial events
lib.c
Code: (c) [Select]
// ROM:FFB9FA10 DCD aRotatejogdialright ; "RotateJogDialRight"
// ROM:FFB9FA14 DCD 0x876
// ROM:FFB9FA18 DCD 2
void JogDial_CW(void) {
    _PostLogicalEventForNotPowerType(0x876, 2);  // RotateJogDialRight at levent_table
}

// ROM:FFB9FA1C DCD aRotatejogdialleft  ; "RotateJogDialLeft"
// ROM:FFB9FA20 DCD 0x877
// ROM:FFB9FA24 DCD 2
void JogDial_CCW(void) {
    _PostLogicalEventForNotPowerType(0x877, 2);  // RotateJogDialLeft at levent_table
}
search for "RotateJogDialRight" at levent_table .

4. test it!

5. enjoy the comfort and a warm fuzzy feeling 8)
« Last Edit: 14 / September / 2010, 22:19:59 by pixeldoc2000 »

*

Offline asm1989

  • *****
  • 527
  • SX720, SX260, SX210 & SX200
Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #69 on: 15 / September / 2010, 05:26:34 »
Find, new stub, thanks to G11 port ( another cam to look for similarities)

NHSTUB(SetFileTimeStamp, 0xFF837054) 

 

Related Topics


SimplePortal 2.3.6 © 2008-2014, SimplePortal