eos M10 port - page 2 - DryOS Development - CHDK Forum
supplierdeeply

eos M10 port

  • 327 Replies
  • 267863 Views
Re: Eos M10 port - Progress Report
« Reply #10 on: 24 / May / 2016, 01:41:51 »
Advertisements
Eos M10 Port - Progress Report
1/ Do you have an EOS M3 or M10 camera?
2/ Do you have anything running on these cameras?
3/ Incomplete, non-working "ports" are not really helpful.
4/ Running the sig finder is not "progress",..... and we already know it works reasonably well on the EOS M3 and M10 dumps.
1/ Three Eos M3 Cameras one of which has a simple "Power On Switch" Fault an would be a suitable CHDK Testing.
2/ Not yet .... to be continued in the M3 posts.
3/ The post's was deliberately "Incomplete".... to be continued in the M3 posts.
4/ Re, "progress" .... to be continued in the M3 posts.

I was not aware, and pleasantly surprised,  that the sig finder "works reasonably well" with the M3 and M10 cameras.

Also in regard to the other "Incomplete, non-working "ports" are not really helpful." there is some stuff to be posted
for some but not all Dig!c 4+ ports. Starting with the Ixus-145 porting attempt.

I did consider posting some Dig!c 4+ port stuff before the M10 post and I did expect to receive a negative reaction as a
result. The issue is then really about getting my IDA Demo 6v8 to work with both the  Dig!c 4+ ports. and  Dig!c 6 ports.

There is also some new stuff .... to be continued in the M3 posts.

Edit #1 Regarding IDA is there an existing place to post, or should I just use the M3 post as a place to start, ??

H-H
« Last Edit: 24 / May / 2016, 02:28:04 by Hardware_Hacker »

eos M10 port
« Reply #11 on: 24 / May / 2016, 04:56:20 »
The issue is then really about getting my IDA Demo 6v8 to work with both the  Dig!c 4+ ports. and  Dig!c 6 ports.
......
Edit #1 Regarding IDA is there an existing place to post, or should I just use the M3 post as a place to start, ??
If you really think that you can get the IDA Demo 6v8 working with Digic 4+ or Digic 6 ARM code, then by all means start a new thread to hold that discussion and share details.
Ported :   A1200    SD940   G10    Powershot N    G16

*

Offline srsa_4c

  • ******
  • 4451
Re: eos M10 port
« Reply #12 on: 30 / December / 2016, 14:31:28 »
Current prealpha release for firmware 110f, 110g and 110d (1.1.0, as Canon refers to it). If you're running an earlier fw version, please update to 110d first (get the update from Canon's support site).

To install this (unofficial) release, read this: http://chdk.wikia.com/wiki/Bootable_SD_card
If the information found on that page is difficult to understand, just use STICK (be sure to read the special instructions for installing an unofficial release).

Default ALT button is the playback button.

Note that CHDK was created with compact cameras in mind and doesn't fully support mirrorless cameras.

Issues

- To start the cam with the playback button, hold down the button a little longer
- To select a digit in a CHDK menu numeric field, press the shutter halfway

- CHDK overlay drawing is slow, can blink excessively when the Canon OSD is updated
- some games don't display correcly
- some framebuffer related features do not work properly
    - zebra (some menu options are ignored)
    - edge overlay (drawings accumulate)
- booting with .fi2 is not implemented
- CHDK dark frame subtraction control only seems effective when Canon setting is on AUTO

- Exposure overrides may fail to apply when shutter is held halfway down for a while
    - this does not happen when an AF lens is attached and auto focus succeeds
    - does not happen in M mode
    - does not happen when AE is locked using the Canon controls (asterisk on the 4-way controller)

Tested (using 15-45 kit lens)

- Exposure overrides in (semi-)manual modes (not very extensively)
- CHDK RAW/DNG in (semi-)manual modes (Av, Tv, M, P) (not very extensively)
- PTP play/rec switch
- llibtst.lua
- setmode.lua - one failure with default 10ms delay, works with 100ms
- ubtest.bas
- hooktest.lua (Av, Tv, M, P)
- isobase.lua
- PTP live view (has problems with overlay dimensions, only 3:2 aspect ratio tested)
- Motion detection (reaction time not tested)
- USB remote - plug test
- chdkptp cam tests

Untested

- RAW/DNG, overrides in scene/auto modes

Not implemented

- CHDK touchscreen functionality
- CHDK mirrorless camera support is not complete
    - Zoom related functionality is missing (except for focal length display)
    - Most focus related functions are not working and are untested
- Movie features are missing
- Filewritetask is not currently supported


You can find more release notes in the included readme.txt.

History:
m10-110d-1.5.0-4755_prealpha1.zip (693.61 kB - downloaded 52 times.)
m10-110d-1.5.0-4781-full.zip (695.25 kB - downloaded 12 times.)
m10-110d-1.5.0-4803-full.zip (696.31 kB - downloaded 5 times.)
m10-110f-1.5.0-4803-full.zip (696.31 kB - downloaded 4 times.)
m10-110d-1.5.0-4806-full.zip (695.74 kB - downloaded 21 times.)
m10-110f-1.5.0-4806-full.zip (695.74 kB - downloaded 23 times.)
m10-110d-1.5.0-4879-full.zip (777.66 kB - downloaded 7 times.)
m10-110f-1.5.0-4879-full.zip (777.63 kB - downloaded 5 times.)
m10-110d-1.5.0-4891-full.zip (702.66 kB - downloaded 124 times.)
m10-110f-1.5.0-4891-full.zip (702.65 kB - downloaded 51 times.)
m10-110f-1.5.0-4963-full.zip (710.93 kB - downloaded 9 times.)
« Last Edit: 13 / January / 2018, 12:04:51 by srsa_4c »

*

Offline srsa_4c

  • ******
  • 4451
Re: eos M10 port
« Reply #13 on: 30 / December / 2016, 14:41:49 »
Time to bump this.

I currently have keyboard, display and ptp working. Rest is not done, so no release yet.

If somebody could upload a firmware dump made with an updated camera (1.1.0 official fw upgrade), that would be helpful. I'd like to avoid publishing mine.

CPUinfo attached, no surprises there.

DryOS r57, overlay buffers (yuv and opacity) are at the end of RAM. Yet another camera that doesn't have (any kind of) zoom buttons.

edit:
Ant's request below has been answered in PM.

edit2:
The M10 has its own propset (none of the existing ones match).
« Last Edit: 01 / January / 2017, 09:44:05 by srsa_4c »


*

Offline Ant

  • *****
  • 509
Re: eos M10 port
« Reply #14 on: 30 / December / 2016, 15:40:01 »
CPUinfo attached, no surprises there.

Do you have a secondary ROM dump(8M from 0xFB800000)?
It's interesting to compare...


« Last Edit: 30 / December / 2016, 16:08:42 by Ant »

*

Offline srsa_4c

  • ******
  • 4451
Re: eos M10 port
« Reply #15 on: 05 / January / 2017, 20:42:53 »
(Lack of ) progress report.
When loading CHDK to the usual place (Canon heap start), available memory is around 900kB in playback mode. I've seen it go down to 600KB though, so this isn't going to be a memory-rich port.

As reported on recent models, manipulating the halfshoot and full-shoot bits is no longer effective (that means, CHDK can't simulate button presses on these). I'm currently trying to find out, why. I'd much rather work this around (using levents), but that would not be considered a "nice" solution, I guess...

edit:
I also get nice 'exception 0x10's when trying to access MMIO. Either using rmem, my memview module or peek(). Even for addresses like the keyboard GPIO or the jogdial counter, which are actually read by the same PhySw task...
« Last Edit: 05 / January / 2017, 20:59:01 by srsa_4c »

*

Offline Ant

  • *****
  • 509
Re: eos M10 port
« Reply #16 on: 06 / January / 2017, 03:44:30 »
that means, CHDK can't simulate button presses on these). I'm currently trying to find out, why.
What about other buttons?
Do you remember:
Quote
After calling GetKbdState in the beginning of kbd_p1_f  function and overriding keyboard state value  EOS M3 reads reyboard state second time (see sub_fc07507e).

*

Offline srsa_4c

  • ******
  • 4451
Re: eos M10 port
« Reply #17 on: 06 / January / 2017, 19:44:52 »
that means, CHDK can't simulate button presses on these). I'm currently trying to find out, why.
What about other buttons?
Those are working normally.
Quote
Do you remember:
Quote
After calling GetKbdState in the beginning of kbd_p1_f  function and overriding keyboard state value  EOS M3 reads reyboard state second time (see sub_fc07507e).
I wasn't sure why you needed that, so I did not dig down to that function. Now it looks like you're affected too and you found the probable cause too (that routine does not re-read any button states in earlier cameras).
I'd like to find a solution that lets me avoid copying the several dozen lines of additional fw code.

edit:
Does the chdkptp rmem command work for you when using it to display something from an otherwise readable MMIO range (such as the keyboard GPIOs)?
« Last Edit: 06 / January / 2017, 19:47:54 by srsa_4c »


*

Offline reyalp

  • ******
  • 14121
Re: eos M10 port
« Reply #18 on: 06 / January / 2017, 21:27:17 »
edit:
Does the chdkptp rmem command work for you when using it to display something from an otherwise readable MMIO range (such as the keyboard GPIOs)?
IIRC on G7x, rmem'ing MMIO works for single words, but not larger ranges. rmem passes the address range directly to the PTP transfer function, which probably tries to use DMA
Don't forget what the H stands for.

*

Offline Ant

  • *****
  • 509
Re: eos M10 port
« Reply #19 on: 07 / January / 2017, 04:58:42 »
Does the chdkptp rmem command work for you when using it to display something from an otherwise readable MMIO range (such as the keyboard GPIOs)?
I can confirm that on M3 chdkptp and ptpcam allow to read MMIO registers and sometimes allow to read memory ranges(for example "m 0xC0F07000 192")
Also I can call ShowPhySwStatus:
Code: [Select]
NotifyMask   95-64 |0x9f6b0060|  63-32 |0x30043ff9|  31-0 |0x0107cf13|
SwitchMask   95-64 |0xdf6b0070|  63-32 |0x30043ff9|  31-0 |0x0107cf13|
InvertData   95-64 |0x00020010|  63-32 |0x10043ff9|  31-0 |0x00000000|
ChataNone    95-64 |0x8f600000|  63-32 |0x00000000|  31-0 |0x0107cf13|
ChataDefault 95-64 |0x100b0020|  63-32 |0x30003ff8|  31-0 |0x00000000|
GpioStatus   95-64 |0x10220050|  63-32 |0x00043ff9|  31-0 |0x01024110|
SwitchStatus 95-64 |0x10200040|  63-32 |0x10000000|  31-0 |0x01024110|
« Last Edit: 07 / January / 2017, 05:12:49 by Ant »

 

Related Topics


SimplePortal 2.3.6 © 2008-2014, SimplePortal