Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - dfort

Pages: [1] 2 3 ... 134
1
Camera-specific discussion / Re: ML on EOS-M2
« on: Today at 06:49:55 AM »
Got basic crop_rec working!

Ok--not nearly as exciting as what Danne is doing on the EOSM but using his bleeding edge branch with the EOSM2 merged in and trying out just the basic crop_rec which is 3x3 sampling with the 1280x720/60p setting I was able to record H.264. Better still, setting FPS override to 24fps and pushing the A timer to +30 recording raw video is possible. Here's the proof:

mlv_dump -v
Code: [Select]
...
    Res:  1736x696
    raw_info:
      api_version      0x00000001
      height           727
      width            1808
...
      sampling        3x3 (read 1 line, skip 2, bin 3 columns)
...
     Camera Name:   'Canon EOS M2'


2
Camera-specific discussion / Re: ML on EOS-M2
« on: Yesterday at 08:47:54 AM »
News update -- made some major changes.

I was merging in Danne's latest EOSM changes but because there were so many branches merged into my M2 experiments branch it turned out that this branch wasn't working properly with the EOSM. After lots of trial and error I finally got it working on the EOSM so now we should be in a better place to continue debugging the M2.

3
Camera-specific discussion / Re: ML on EOS-M2
« on: January 17, 2019, 05:19:02 PM »
...the FPS limits should be the same as on 100D - they share the same focus pixel pattern, if I'm not mistaken.

I also thought of that and have been using the 100D values on the EOSM2 for my tests.

4
General Development Discussion / Re: Portable ROM dumper
« on: January 17, 2019, 07:09:13 AM »
In Makefile.user, these options have to be one per line.

My Makefile.user that didn't work (Mac):

Code: [Select]
#
# Host compiler settings
#
HOST_CC=gcc-5
HOST_LD=gcc-5
HOST_AR=$(shell which ar)

# CONFIG_QEMU = y
# LOG_INTERRUPTS = y
# CONSOLE_DEBUG = y
# CONFIG_DEBUGMSG = y
# CONFIG_DEBUG_INTERCEPT_STARTUP = y
# CONFIG_DEBUG_INTERCEPT = y
# CONFIG_GDB      = y
# CONFIG_GDBSTUB  = y
# CONFIG_MMIO_TRACE=y

# Recovery branch options:
CONFIG_BOOT_FULLFAT=y
CONFIG_BOOT_DUMPER=y
CONFIG_BOOT_SROM_DUMPER=y

Am I missing any juicy options that could be turned on in Makefile.user?

- this ROM dumper only dumps the "primary" firmware ...

I can look into that if you think it helps, but so far I've considered it low priority...

Well, the MPU messages are in there, right?

Confirmed - MPU messages are on the Master processor. Actually, g3gg0 tried to log them back in 2012 (!)

There's probably some other stuff in there too. I can't get the 7D to do what reddeercity is doing with the 5D2 because some of the code seems to be running on the Master processor. In fact the raw_video_10bit_12bit_LVState branch won't compile on the 7D and it seems to be an issue with something in the 7D_MASTER code.

However, even with a Master processor dump the chances of me doing anything useful with it are rather slim.

@IDA_ML - Are you following this?

5
Really? DUMP_M50.FIR isn't working for you? Maybe try a smaller SD card though the new dumper should be able to work on the larger cards as long as it is formatted as FAT32.

6
Camera-specific discussion / Re: Canon EOS 1300D / Rebel T6
« on: January 17, 2019, 05:21:47 AM »
How can I solve these unknowns?

If you look in the qemu-eos/qemu-2.5.0/hw/eos/mpu_spells directory you'll see that there is no file for the 1300D. You can create one. The way to do it is to use one of the branches that will create a startup log with mpu information in the log. Then from the mpu/spells directory run this:

Code: [Select]
python extract_init_spells.py [path to your startup log] > 1300D.h
I believe I used the dm-spy-experiments branch compiled with the CONFIG_DEBUG_INTERCEPT_STARTUP option. There are other branches like the io_trace branch that can also create startup logs. I remember having to fiddle around with it for a while to get the mpu codes to show up in the log.

7
General Development Discussion / Re: Portable ROM dumper
« on: January 16, 2019, 08:27:02 PM »
Confirming Walter's findings. Both the AUTOEXEC.BIN and DUMP_7D.FIR are working. Wish I had this when I dumped the 2.0.6 firmware.



Throwback to Dec. 31, 1969 on the date stamp.

By the way, I tried compiling with the options in my Makefile.user file -- didn't work. For the record, putting the compile options in the command line worked fine.

Speaking of dual processor cameras -- this is the firmware for the slave processor, right? Is there a way to dump the firmware for the master processor or am I not understanding how this works?

8
Camera-specific discussion / Re: ML on EOS-M2
« on: January 16, 2019, 06:39:31 AM »
...One thing to test is enabling fps override and push tha A-timmer and see if that also fixes raw histogram freeze.

Getting back to this -- it is also working in photo mode. In other words, turn on FPS override, set it to 24fps and push timer A to (FT+30) and no more LiveView freezes.

A while back fps-engio.c intentionally failed to build on the EOSM and 1100D because the timer values needed to be tested. I'm not exactly sure how it is supposed to work but I looked up those discussions:

https://www.magiclantern.fm/forum/index.php?topic=14959.msg148768#msg148768
https://www.magiclantern.fm/forum/index.php?topic=1009.msg151433#msg151433

Looks like it is time to understand how this works.

[EDIT] Does fps-engio.c even come into play if FPS override it not enabled?

9
Camera-specific discussion / Re: ML on EOS-M2
« on: January 16, 2019, 02:58:08 AM »
Thought I'd write up a quick update on a long process.

I've been trying to track down the issue with the LiveView freezing in photo mode when the raw histogram is active. I discovered that switching from RAW in the Canon menu to one of the JPEG options (except RAW + L) it will not freeze but then again we need it set to RAW for simple silent stills (FRSP is not working). I found some different PREFERRED_RAW_TYPE addresses by using the RAW_DEBUG_TYPE option that didn't freeze LiveView but then it wouldn't save valid silent stills. Took another look at the console with RAW_DEBUG enabled and things are looking pretty normal now--I think:



Danne reported that in movie mode, mlv_lite enabled and raw recording on he also gets the LiveView freeze. He discovered that with global draw turned off, FPS override set to 24fps and Timer A pushed to (FT+30) it will actually record raw video. Whew--took me a while to follow that but I tried it with the latest test build and yes, it does work.

The LiveView freeze is really bugging me but it is working--or at least limping. That's where we're at on this. Any other reports? Any hints on how to debug this?

10
Camera-specific discussion / Re: Canon EOS M
« on: January 15, 2019, 06:17:17 PM »
Dfort, the pixeldestroyel, needs to take a look.

Ha ha -- need some sample MLV and simple silent stills from the various cameras and settings in order to work on this. Seems like things are changing daily. Lets narrow down just the ones that aren't working in MLV App for now because that seems to be the preferred app.

11
Camera-specific discussion / Re: Canon EOS 1300D / Rebel T6
« on: January 15, 2019, 08:45:21 AM »
I'm trying to run Hello Word from script with definition commented but crash:

Hello World from your PR branch is working over here.



I can't get into the ML menus on a vanilla build but I'm also having a problem with the EOSM2 so it could be my setup. Looks like you're already running tests and creating logs -- nice progress!

12
General Development Discussion / Re: Portable ROM dumper
« on: January 15, 2019, 03:52:31 AM »
Busy day but I finally got a chance to give the new dumper on the 7D.

Code: [Select]
  Magic Lantern Rescue
 ----------------------------
 - Model ID: 0x250 7D
 - Camera model: Canon EOS 7D
 - Firmware version: ??? / ???
 - IMG naming: 100EOS7D/IMG_0000.JPG
 - User PS: ??? ??? ???
 - Boot flags: FIR=0 BOOT=-1 RAM=-1 UPD=-1
 - ROMBASEADDR: 0xFF010000
 - card_bootflags 109a18
 - boot_read/write_sector 109d54 109d64
 - Patching 104294 from e3500001 to e3500000
 - 104254 Card low-level init => F4240
 - 1026EC Card init => 0
 - Patching 1026FC from e3510001 to e3510000
 - 1026EC Card init #2 => 1
 - Dumping ROM0... 100%
 - MD5: 55edc9e76de2ba7bae387f77d9a9c7cc
 - Dumping ROM1... 100%
 - MD5: ef25a835383698be6888d4395088a8e2
 - No serial flash.
 - DONE!

Screen goes dark right away so I wasn't sure when it was finished. First time I didn't wait long enough but second time I just let it run for a couple minutes. Used a 512MB card. ROM0 md5 mismatch as expected but the dump looks good.

[EDIT] Checked 700D, EOSM and EOSM2 -- only the EOSM is showing a different md5 checksum on ROM0, the other cameras had perfect checksums.

13
This might help the M50 port.

Code: [Select]
  Magic Lantern Rescue
 ----------------------------
 - Model ID: 0x412 M50
 - Camera model: Canon EOS M50 / KISS M
 - Firmware version: 1.0.1 / 6.8.0 34(00)
 - IMG naming: 100CANON/IMG_2868.JPG
 - User PS: CineStyle 
 - Boot flags: FIR=0 BOOT=-1 RAM=-1 UPD=-1
 - ROMBASEADDR: 0xE0040000

CHDK CPU info for 0x412 M50
------------------------------
ID         0x414FC091
  Revision             0x1 1
  Part                 0xC09 3081
  ARM Arch             0xF 15
  Variant              0x4 4
  Implementor          0x41 65
Cache type 0x83338003
  Icache min words/line 0x3 3 [8]
  (zero)               0x0 0
  L1 Icache policy     0x2 2
  Dcache min words/line 0x3 3 [8]
  Exclusives Reservation Granule 0x3 3 [8]
  Cache Writeback Granule 0x3 3 [8]
  (zero)               0x0 0
  (register format)    0x4 4
TCM type   0x00000000
  (raw value)          0x0 0
MPU type   0x414FC091
  S                    0x1 1
  -                    0x48 72
  Num of MPU regions   0xC0 192
Multiprocessor ID 0x80000000
  (raw value)          0x80000000 -2147483648
Processor feature 0 0x00001231
  ARM inst set         0x1 1
  Thumb inst set       0x3 3
  Jazelle inst set     0x2 2
  ThumbEE inst set     0x1 1
  -                    0x0 0
Processor feature 1 0x00000011
  Programmers' model   0x1 1
  Security extensions  0x1 1
  Microcontr. prog model 0x0 0
  -                    0x0 0
Debug feature 0x00010444
  (raw value)          0x10444 66628
Aux feature 0x00000000
  (raw value)          0x0 0
Mem model feature 0 0x00100103
  VMSA support         0x3 3
  PMSA support         0x0 0
  Cache coherence      0x1 1
  Outer shareable      0x0 0
  TCM support          0x0 0
  Auxiliary registers  0x1 1
  FCSE support         0x0 0
  -                    0x0 0
Mem model feature 1 0x20000000
  L1 Harvard cache VA  0x0 0
  L1 unified cache VA  0x0 0
  L1 Harvard cache s/w 0x0 0
  L1 unified cache s/w 0x0 0
  L1 Harvard cache     0x0 0
  L1 unified cache     0x0 0
  L1 cache test & clean 0x0 0
  Branch predictor     0x2 2
Mem model feature 2 0x01230000
  L1 Harvard fg prefetch 0x0 0
  L1 Harvard bg prefetch 0x0 0
  L1 Harvard range     0x0 0
  Harvard TLB          0x0 0
  Unified TLB          0x3 3
  Mem barrier          0x2 2
  WFI stall            0x1 1
  HW access flag       0x0 0
Mem model feature 3 0x00102111
  Cache maintain MVA   0x1 1
  Cache maintain s/w   0x1 1
  BP maintain          0x1 1
  -                    0x102 258
  Supersection support 0x0 0
ISA feature 0 0x00101111
  Swap instrs          0x1 1
  Bitcount instrs      0x1 1
  Bitfield instrs      0x1 1
  CmpBranch instrs     0x1 1
  Coproc instrs        0x0 0
  Debug instrs         0x1 1
  Divide instrs        0x0 0
  -                    0x0 0
ISA feature 1 0x13112111
  Endian instrs        0x1 1
  Exception instrs     0x1 1
  Exception AR instrs  0x1 1
  Extend instrs        0x2 2
  IfThen instrs        0x1 1
  Immediate instrs     0x1 1
  Interwork instrs     0x3 3
  Jazelle instrs       0x1 1
ISA feature 2 0x21232041
  LoadStore instrs     0x1 1
  Memhint instrs       0x4 4
  MultiAccess Interruptible instructions 0x0 0
  Mult instrs          0x2 2
  MultS instrs         0x3 3
  MultU instrs         0x2 2
  PSR AR instrs        0x1 1
  Reversal instrs      0x2 2
ISA feature 3 0x11112131
  Saturate instrs      0x1 1
  SIMD instrs          0x3 3
  SVC instrs           0x1 1
  SynchPrim instrs     0x2 2
  TabBranch instrs     0x1 1
  ThumbCopy instrs     0x1 1
  TrueNOP instrs       0x1 1
  T2 Exec Env instrs   0x1 1
ISA feature 4 0x00011142
  Unprivileged instrs  0x2 2
  WithShifts instrs    0x4 4
  Writeback instrs     0x1 1
  SMC instrs           0x1 1
  Barrier instrs       0x1 1
  SynchPrim_instrs_frac 0x0 0
  PSR_M instrs         0x0 0
  -                    0x0 0
ISA feature 5 0x00000000
  -                    0x0 0
Cache level ID 0x09200003
  Cache type, level1   0x3 3 [Separate Icache, Dcache]
  Cache type, level2   0x0 0 [no cache]
  Cache type, level3   0x0 0 [no cache]
  Cache type, level4   0x0 0 [no cache]
  Cache type, level5   0x0 0 [no cache]
  Cache type, level6   0x0 0 [no cache]
  Cache type, level7   0x0 0 [no cache]
  Cache type, level8   0x1 1 [Icache only]
  Level of coherency   0x1 1
  Level of unification 0x1 1
  (zero)               0x0 0
Cache size ID reg (data, level0) 0x700FE019
  Line size in words   0x1 1 [8]
  Associativity        0x3 3 [4]
  Number of sets       0x7F 127 [128]
  Write allocation     0x1 1
  Read allocation      0x1 1
  Write back           0x1 1
  Write through        0x0 0
Cache size ID reg (inst, level0) 0x200FE019
  Line size in words   0x1 1 [8]
  Associativity        0x3 3 [4]
  Number of sets       0x7F 127 [128]
  Write allocation     0x0 0
  Read allocation      0x1 1
  Write back           0x0 0
  Write through        0x0 0
SCTLR      0x48C5187D
  MPU Enable           0x1 1
  Strict Align         0x0 0
  L1 DCache Enable     0x1 1
  - (SBO)              0xF 15
  - (SBZ)              0x0 0
  Branch Pred Enable   0x1 1
  L1 ICache Enable     0x1 1
  High Vectors         0x0 0
  Round Robin          0x0 0
  - (SBZ)              0x0 0
  - (SBO)              0x1 1
  MPU background reg   0x0 0
  - (SBO)              0x1 1
  Div0 exception       0x0 0
  - (SBZ)              0x0 0
  FIQ Enable           0x0 0
  - (SBO)              0x3 3
  VIC                  0x0 0
  CPSR E bit           0x0 0
  - (SBZ)              0x0 0
  NMFI                 0x1 1
  TRE                  0x0 0
  AFE                  0x0 0
  Thumb exceptions     0x1 1
  Big endian           0x0 0
ACTLR      0x00000045
  (raw value)          0x45 69
ACTLR2     0x00000001
  (raw value)          0x1 1
CPACR      0x00000000
  (raw value)          0x0 0
DBGDIDR    0x35141000
  Revision             0x0 0
  Variant              0x0 0
  - (RAZ)              0x10 16
  Version              0x4 4 [v7 basic]
  Context              0x1 1 [2]
  BRP                  0x5 5 [6]
  WRP                  0x3 3 [4]
DBGDRAR    0x00000000
  Valid                0x0 0
  - (UNK)              0x0 0
  Address              0x0 0 [0x00000000]
DBGDSAR    0x00000000
  Valid                0x0 0
  - (UNK)              0x0 0
  Address              0x0 0 [0x00000000]
DBGDSCR    0x00000000
  HALTED               0x0 0
  RESTARTED            0x0 0
  MOE                  0x0 0
  SDABORT_l            0x0 0
  ADABORT_l            0x0 0
  UND_l                0x0 0
  FS                   0x0 0
  DBGack               0x0 0
  INTdis               0x0 0
  UDCCdis              0x0 0
  ITRen                0x0 0
  HDBGen               0x0 0
  MDBGen               0x0 0
  SPIDdis              0x0 0
  SPNIDdis             0x0 0
  NS                   0x0 0
  ADAdiscard           0x0 0
  ExtDCCmode           0x0 0
  - (SBZ)              0x0 0
  InstrCompl_l         0x0 0
  PipeAdv              0x0 0
  TXfull_l             0x0 0
  RXfull_l             0x0 0
  - (SBZ)              0x0 0
  TXfull               0x0 0
  RXfull               0x0 0
  - (SBZ)              0x0 0

 - DONE!

14
General Development Discussion / Re: Portable ROM dumper
« on: January 14, 2019, 06:32:44 AM »
EOSM - MD5 on ROM0 didn't match. Tried multiple times with cards from 1 to 32GB. However, dump seems fine and it works in QEMU. ROM0 md5 issue not reproducible in QEMU.
Code: [Select]
  Magic Lantern Rescue
 ----------------------------
 - Model ID: 0x331 M
 - Camera model: ???
 - Firmware version: 2.0.2 / 9.9.8 B8(3a)
 - IMG naming: 100?????/IMG_5914.JPG
 - User PS: CineStyle logNeutral EOSHD C-LOG
 - Boot flags: FIR=0 BOOT=-1 RAM=-1 UPD=-1
 - ROMBASEADDR: 0xFF0C0000
 - card_bootflags 10a63c
 - boot_read/write_sector 10aec8 10afbc
 - 102798 Card init => 2
 - Dumping ROM0... 100%
 - MD5: 8f2ab35008ead4f09ce9a2a5f9ce42f2
 - Dumping ROM1... 100%
 - MD5: 351d4472390b9074162692e7f039cc88
 - 0: \n**** SROM(SIO%d) Menu ****\n
 - 107c64: \n**** SROM Menu ****\n
 - 107B4C: tag c022c000
 - sf_init 107B48
 - 10717c: Read Address[0x%06x-0x%06x]:0x
 - 106A94: tag c0820000
 - sf_command_sio 106A44
 - Reading serial flash... 100%
 - Writing SFDATA.BIN... 100%
 - MD5: 395f84348339a032ce14b67998c74af8
 - DONE!

EOSM2 - Seemed to work perfectly (I'm still having Mac QEMU issues with all dumps from this camera)
Code: [Select]
  Magic Lantern Rescue
 ----------------------------
 - Model ID: 0x355 M2
 - Camera model: ???
 - Firmware version: 1.0.3 / 6.0.6 7A(2b)
 - IMG naming: 100?????/IMG_1436.JPG
 - Boot flags: FIR=0 BOOT=-1 RAM=-1 UPD=-1
 - ROMBASEADDR: 0xFF0C0000
 - card_bootflags 10a6e4
 - boot_read/write_sector 10af38 10b02c
 - 102264 Card init => 2
 - Dumping ROM0... 100%
 - MD5: bae9e17718452b4c5cd904a0004615d2
 - Dumping ROM1... 100%
 - MD5: 7183d78b02c51297fb465b89efee71f1
 - 107860: \n**** SROM(SIO%d) Menu ****\n
 - 107734: tag c0400000
 - sf_init 107734
 - 106f44: Read Address[0x%06x-0x%06x]:0x
 - 1066AC: tag c0820000
 - sf_command_sio 10666C
 - Reading serial flash... 100%
 - Writing SFDATA.BIN... 100%
 - MD5: f193d5bac8f48049948f62d2fdfdb482
 - DONE!

700D - perfect
Code: [Select]
  Magic Lantern Rescue
 ----------------------------
 - Model ID: 0x326 700D
 - Camera model: ???
 - Firmware version: 1.1.5 / 3.0.2 21(01)
 - IMG naming: 100?????/IMG_4984.JPG
 - User PS: ??? ??? ???
 - Boot flags: FIR=0 BOOT=-1 RAM=-1 UPD=-1
 - ROMBASEADDR: 0xFF0C0000
 - card_bootflags 10ab54
 - boot_read/write_sector 10b3e0 10b4d4
 - 10266C Card init => 2
 - Dumping ROM0... 100%
 - MD5: d5929b7a5ad99f511fc83d7d0b48b85f
 - Dumping ROM1... 100%
 - MD5: 6a5b5cdf62a73870f72b06e467219ed1
 - 0: \n**** SROM(SIO%d) Menu ****\n
 - 107e48: \n**** SROM Menu ****\n
 - 107D30: tag c022c000
 - sf_init 107D2C
 - 107360: Read Address[0x%06x-0x%06x]:0x
 - 106C78: tag c0820000
 - sf_command_sio 106C28
 - Reading serial flash... 100%
 - Writing SFDATA.BIN... 100%
 - MD5: d83d31e10ea740d670c1636a3233ff4c
 - DONE!

7D (didn't work) screen blanks out after ROM0 md5. Tried with various sized cards from 32MB to 4GB. Saves ROM0.BIN but md5 checksum doesn't match. Also saves a partial ROM1.BIN.

15
Camera-specific discussion / Re: ML on EOS-M2
« on: January 13, 2019, 04:42:23 AM »
Wrong active areas?

I don't know. Ran raw_diag and it looks good to me. At least compared to the EOSM.

EOSM2


EOSM


EOSM2


EOSM


With raw histogram turned on and in photo mode the camera starts normally, screen is drawn and then between 1 and about 40 seconds the screen freezes. Going into the Canon menu and back to LiveView will "unfreeze" it but will freeze again in about the same timeframe.

With the raw histogram disabled the LiveView doesn't freeze, this is what the console shows:

EOSM2


Enabling the raw histogram will freeze LiveView in photo mode. Both the EOSM and EOSM2 show pretty much the same information on the console:

EOSM2


EOSM


One thing that might be a problem is the small size difference of the LV raw buffer between these two similar cameras, 0x48798100 for the EOSM2 verses 0x46798080 for the EOSM in this test. In any case it seems to point back to what running RAW_DEBUG back in Reply #440 turned up where the EOSM2 showed an LV raw buffer of 0x8798100 verses 0x6798080 for the EOSM on that test.

16
Camera-specific discussion / Re: Canon EOS 1300D / Rebel T6
« on: January 12, 2019, 09:08:02 PM »
Maybe this helps?

https://bitbucket.org/durin42/hg-git/src/default/

In any case, using Mercurial probably isn't the hard part. Dump the firmware, patch it to run in QEMU, disassemble it and find the missing pieces.

17
Reverse Engineering / Re: Pixel binning patterns in LiveView
« on: January 12, 2019, 08:59:50 PM »
...very small depth of field...

Said the guy with the full frame camera.  :P

What would impress me is if all of the various cameras could be merged into Danne's experimental branch. You can do 1x3 on the 6D, right?

18
Camera-specific discussion / Re: Canon 100D / SL1
« on: January 12, 2019, 07:59:07 PM »
There is need for new focuspixel maps, right?

Some of these new resolutions are not showing focus pixels but if the one you really want to use has focus pixels all over it, this post explains how to create a map file. Once you have some MLV's that show focus pixels clearly please share them on the Dealing with Focus Pixels in raw video. Note that with mlv_dump you can trim down the files to only one or two frames which makes for quicker up/downloads. (Hum--if you need a newer or a Mac version of mlv_dump you can get it from my downloads page.)

I'll help with the map files when I get around to it and once we settle down on which of the new crop_rec resolutions we're going to keep.

19
Reverse Engineering / Re: Pixel binning patterns in LiveView
« on: January 12, 2019, 07:40:57 PM »
Let's see if I got this.

Original file in ACR (I've got version 11.1 and the white balance is a bit different but whatever)



Apply some black magic:

Code: [Select]
find . -maxdepth 1 -mindepth 1 -iname '*.dng' -print0 | xargs -0 exiv2 -M"set Exif.Image.DefaultScale Rational 3/1 1/1"
Looks good.



Don't see any focus pixels but ACR tends to smooth them out, let's see what dcraw does--it usually shows all the flaws.

Code: [Select]
dcraw -T 1_x3_M10-1218_frame_1.dng


That's quite amazing -- especially for an EOSM!

20
General Development Discussion / Re: Portable ROM dumper
« on: January 12, 2019, 12:27:55 AM »
Happy days are here again!




21
Camera-specific discussion / Re: Canon EOS M
« on: January 11, 2019, 06:26:45 PM »
Looks like you'll need one of these to go along with those massive sized files:



MSRP of $499.99, Yikes!

22
General Development Discussion / Re: Portable ROM dumper
« on: January 11, 2019, 05:58:34 PM »
Strange -- both addresses work over here:

Code: [Select]
xxd -e -s 0xc29000 -l 0x1000 -e 1300D/ROM1.BIN 00c29000: 00000002 00000000 00000000 0000ffff  ................
00c29010: 00000f6c 02000000 00000f54 00000000  l.......T.......
00c29020: 000000bc 02000000 0000000c 0000ffff  ................
00c29030: 02000001 00000018 2e312e31 37330030  ........1.1.0.37
00c29040: 29623028 00008700 02000005 00000018  (0b)............
00c29050: 2e342e34 37332036 29623028 00008700  4.4.6 37(0b)....
00c29060: 02000002 0000000c 00000000 02000003  ................



Code: [Select]
xxd -e -s 0xc20000 -l 0x1000 -e 1300D/ROM1.BIN 00c20000: 00000002 00000000 00000000 00000000  ................
00c20010: 00000f6c 02000000 00000f54 00000000  l.......T.......
00c20020: 000000bc 02000000 0000000c 0000ffff  ................
00c20030: 02000001 00000018 2e312e31 37330030  ........1.1.0.37
00c20040: 29623028 00008700 02000005 00000018  (0b)............
00c20050: 2e342e34 37332036 29623028 00008700  4.4.6 37(0b)....
00c20060: 02000002 0000000c 00000000 02000003  ................


23
Camera-specific discussion / Re: Canon EOS M
« on: January 11, 2019, 02:19:07 AM »
Here's someone else who shoehorned a VAF filter into the EOSM. No instructions or photos. Hint -- Scotch tape.

Yes but it's on a cheap one. So you have more space to do it.
It's a bad work with scotch, I am not as proud of it to share pictures of it. Sorry.
You just have to put any kind of filter between the lens and the sensor and it's effactive...

24
Camera-specific discussion / Re: ML on EOS-M2
« on: January 10, 2019, 09:00:25 PM »
One step forward, one step back.

Checking with the various RAW_DEBUG options it looks like yesterday's "fix" didn't fix anything. I'm checking the results from the EOSM2 against the EOSM and found another problem that needs to be tracked down.

src/raw.c
Code: [Select]
#define RAW_DEBUG        /* define it to help with porting */

EOSM2


EOSM


Also narrowed down the LiveView freeze issue to one line, the call to edmac_raw_slurp, so I'm trying some printf statements to figure out what parameters are being passed to edmac_raw_slurp.

src/raw.c
Code: [Select]
            if (raw_lv_buffer_size >= pitch * height)
            {
                printf("buf %x, (CACHEABLE(buf) %x, pitch %d, height %d\n", buf, CACHEABLE(buf), pitch, height);
                edmac_raw_slurp(CACHEABLE(buf), pitch, height);
            }

EOSM2


EOSM


Not sure if I'm getting warmer or colder because I don't really know what I'm doing here.

25
General Development Discussion / Re: Portable ROM dumper
« on: January 10, 2019, 08:09:39 PM »
@critix helped get this running on my Mac. Needed to make a few changes.

Call malloc.h this way:

prop_diag.c
Code: [Select]
#include <stdio.h>
#include <malloc/malloc.h>

The compiler will error out because it can't find features.h, just comment it out:

compiler.h
Code: [Select]
//#include <features.h>
#include <stdint.h>
#include <limits.h>
#include <sys/types.h>

Here's what it does on my EOSM ROM1.BIN

Code: [Select]
./prop_diag ROM1.BIN
Loading ROM1.BIN...
Scanning from 0x1056cb000 to 0x1066cb000...
Trying offset 0x60000, status=0xffff, size=0x3b24...
Prop    c000004      4 3
Prop    c000002  15084 3d
Trying offset 0x80000, status=0x0, size=0xf84...
Skipping inactive block 0x80000, status=0x0, size=0xf84...
Trying offset 0x81000, status=0x0, size=0xf84...
Skipping inactive block 0x81000, status=0x0, size=0xf84...
Trying offset 0x82000, status=0x0, size=0xf84...
Skipping inactive block 0x82000, status=0x0, size=0xf84...
Trying offset 0x83000, status=0x0, size=0xf84...
Skipping inactive block 0x83000, status=0x0, size=0xf84...
Trying offset 0x84000, status=0x0, size=0xf84...
Skipping inactive block 0x84000, status=0x0, size=0xf84...
Trying offset 0x85000, status=0x0, size=0xf84...
Skipping inactive block 0x85000, status=0x0, size=0xf84...
Trying offset 0x86000, status=0x0, size=0xf84...
Skipping inactive block 0x86000, status=0x0, size=0xf84...
Trying offset 0x87000, status=0x0, size=0xf84...
Skipping inactive block 0x87000, status=0x0, size=0xf84...
Trying offset 0x88000, status=0x0, size=0xf84...
Skipping inactive block 0x88000, status=0x0, size=0xf84...
Trying offset 0x89000, status=0x0, size=0xf84...
Skipping inactive block 0x89000, status=0x0, size=0xf84...
Trying offset 0x8a000, status=0x0, size=0xf84...
Skipping inactive block 0x8a000, status=0x0, size=0xf84...
Trying offset 0x8b000, status=0x0, size=0xf84...
Skipping inactive block 0x8b000, status=0x0, size=0xf84...
Trying offset 0x8c000, status=0x0, size=0xf84...
Skipping inactive block 0x8c000, status=0x0, size=0xf84...
Trying offset 0x8d000, status=0x0, size=0xf84...
Skipping inactive block 0x8d000, status=0x0, size=0xf84...
Trying offset 0x8e000, status=0x0, size=0xf84...
Skipping inactive block 0x8e000, status=0x0, size=0xf84...
Trying offset 0x8f000, status=0x0, size=0xf84...
Skipping inactive block 0x8f000, status=0x0, size=0xf84...
Trying offset 0x90000, status=0x0, size=0xf84...
Skipping inactive block 0x90000, status=0x0, size=0xf84...
Trying offset 0x91000, status=0x0, size=0xf84...
Skipping inactive block 0x91000, status=0x0, size=0xf84...
Trying offset 0x92000, status=0x0, size=0xf84...
Skipping inactive block 0x92000, status=0x0, size=0xf84...
Trying offset 0x93000, status=0x0, size=0xf84...
Skipping inactive block 0x93000, status=0x0, size=0xf84...
Trying offset 0x94000, status=0x0, size=0xf84...
Skipping inactive block 0x94000, status=0x0, size=0xf84...
Trying offset 0x95000, status=0x0, size=0xf84...
Skipping inactive block 0x95000, status=0x0, size=0xf84...
Trying offset 0x96000, status=0x0, size=0xf84...
Skipping inactive block 0x96000, status=0x0, size=0xf84...
Trying offset 0x97000, status=0x0, size=0xf84...
Skipping inactive block 0x97000, status=0x0, size=0xf84...
Trying offset 0x98000, status=0x0, size=0xf84...
Skipping inactive block 0x98000, status=0x0, size=0xf84...
Trying offset 0x99000, status=0x0, size=0xf84...
Skipping inactive block 0x99000, status=0x0, size=0xf84...
Trying offset 0x9a000, status=0x0, size=0xf84...
Skipping inactive block 0x9a000, status=0x0, size=0xf84...
Trying offset 0x9b000, status=0x0, size=0xf84...
Skipping inactive block 0x9b000, status=0x0, size=0xf84...
Trying offset 0x9c000, status=0x0, size=0xf84...
Skipping inactive block 0x9c000, status=0x0, size=0xf84...
Trying offset 0x9d000, status=0x0, size=0xf84...
Skipping inactive block 0x9d000, status=0x0, size=0xf84...
Trying offset 0x9e000, status=0x0, size=0xf84...
Skipping inactive block 0x9e000, status=0x0, size=0xf84...
Trying offset 0x9f000, status=0x0, size=0xf84...
Skipping inactive block 0x9f000, status=0x0, size=0xf84...
Trying offset 0xa0000, status=0x0, size=0xf84...
Skipping inactive block 0xa0000, status=0x0, size=0xf84...
Trying offset 0xa1000, status=0x0, size=0xf84...
Skipping inactive block 0xa1000, status=0x0, size=0xf84...
Trying offset 0xa2000, status=0x0, size=0xf84...
Skipping inactive block 0xa2000, status=0x0, size=0xf84...
Trying offset 0xa3000, status=0x0, size=0xf84...
Skipping inactive block 0xa3000, status=0x0, size=0xf84...
Trying offset 0xa4000, status=0x0, size=0xf84...
Skipping inactive block 0xa4000, status=0x0, size=0xf84...
Trying offset 0xa5000, status=0x0, size=0xf84...
Skipping inactive block 0xa5000, status=0x0, size=0xf84...
Trying offset 0xa6000, status=0x0, size=0xf84...
Skipping inactive block 0xa6000, status=0x0, size=0xf84...
Trying offset 0xa7000, status=0x0, size=0xf84...
Skipping inactive block 0xa7000, status=0x0, size=0xf84...
Trying offset 0xa8000, status=0x0, size=0xf84...
Skipping inactive block 0xa8000, status=0x0, size=0xf84...
Trying offset 0xa9000, status=0x0, size=0xf84...
Skipping inactive block 0xa9000, status=0x0, size=0xf84...
Trying offset 0xaa000, status=0xffff, size=0xf84...
Prop    2000000      4 ??
Prop    2000001     36 2.0.2
Prop    2000005     36 9.9.8 B8(3a)
Prop    2000002      4
Prop    2000003      4 ????
Prop    2000004     32 Daniel A. Fort
Prop    2000006     16   
Prop    2000007     36 0.0.0
Prop    2010000      4 ?
Prop    2010001      4 d
Prop    2010002      4 d
Prop    2010003      4
Prop    2010004      4
Prop    2010005      4
Prop    2010009      4
Prop    201000a      4 P?
Prop    201000b      4
Prop    2010006      4
Prop    2010007      4
Prop    2010008      4
Prop    201000d      4
Prop    201000e      4
Prop    201000f      4
Prop    2010010      4 d
Prop    2010011      4 e
Prop    2010012      4 d
Prop    2010013      4
Prop    2010014      4
Prop    2020000     44
Prop    2020008     44
Prop    2020009     44
Prop    202000a     44
Prop    202000b     44
Prop    2020005      4
Prop    2020006      4
Prop    2020001      4
Prop    2020002      4
Prop    2020003      4
Prop    2020004      4
Prop    202000c      4
Prop    202000d     40
Prop    202000e     40
Prop    202000f     40
Prop    2020010     40
Prop    2020011     40
Prop    2030000     28
Prop    2030001     12
Prop    2030002     36
Prop    2030004      4
Prop    2030005      4
Prop    2030003      4
Prop    2030006     12
Prop    2040000      4
Prop    2040001      4
Prop    2040002      4
Prop    2040003      4
Prop    2040004      4
Prop    2040005      4
Prop    2040007      4
Prop    2040008      4
Prop    2040009      4
Prop    204000a      4
Prop    204000b      4
Prop    204000c      4
Prop    204000d      4
Prop    204000f     76
Prop    2050000    184
Prop    2050001      4 ?!
Prop    2050002      4
Prop    2050004      8 IMG_
Prop    2050005      4
Prop    2050003      4
Prop    2050006      4
Prop    2050007      4
Prop    2050008      4
Prop    2050009      8 IMG
Prop    205000a      4
Prop    205000b      8 |

Prop    205000d      4
Prop    205000e      4
Prop    205000f      4
Prop    2050013      4
Prop    2050014      4
Prop    2050016      4
Prop    2050017      4
Prop    2050018     48
Prop    2050019      8
Prop    205001a      4
Prop    205001c      4
Prop    205001f      4
Prop    2050020      4
Prop    2050011      4
Prop    2050021      4
Prop    2050023      4
Prop    2050024      4
Prop    2050025      4
Prop    2050022      4
Prop    205001b      4
Prop    205001d     40
Prop    2050026      4
Prop    2050027      4
Prop    2050028      4
Prop    2050029      4
Prop    205001e      4
Prop    205002a      4
Prop    205002b      4
Prop    205002d      4
Prop    205002e      8 |

Prop    205002f      4
Prop    2060000      4
Prop    2060001     24
Prop    2060002     24
Prop    2060003     24
Prop    2060004     24
Prop    2060005     24
Prop    2060006     24
Prop    2060007     24
Prop    2060008     24
Prop    2060009     24
Prop    206000a      4 ?
Prop    206000b      4 ?
Prop    206000c      4 ?
Prop    206000d     24
Prop    206000e     24
Prop    206000f     24
Prop    2060010     24
Prop    2060011     24
Prop    2060012     24
Prop    2060013     24
Prop    2060014     24
Prop    2060015     24
Prop    2060016      4 ?
Prop    2060017      4 ?
Prop    2060018      4 ?
Prop    2060019     24
Prop    206001a     24
Prop    206001b     24
Prop    206001c     24
Prop    206001e     24
Prop    2060021    300
Prop    2060020     24
Prop    206001f     24
Prop    2070000      4
Prop    2070001      4
Prop    2070002      8 ?23\
Prop    2070004     16 /
Prop    2070005      4
Prop    2070006      4
Prop    2070003      4
Prop    2070007      4 ????
Prop    2070008      4 ????
Prop    2070009      4
Prop    207000a      4
Prop    2070012      4
Prop    2070013     44
Prop    2070014      4
Prop    2070015      4
Prop    2070016     48
Prop    2070017      4
Prop    2070018      4
Prop    2080000      4
Prop    2080001      4
Prop    2090000      4
Prop    2090001      4
Prop    2090002      4
Prop    2090003      4
Trying offset 0xb0000, status=0x0, size=0xf84...
Skipping inactive block 0xb0000, status=0x0, size=0xf84...
Trying offset 0xb1000, status=0x0, size=0xf84...
Skipping inactive block 0xb1000, status=0x0, size=0xf84...
Trying offset 0xb2000, status=0x0, size=0xf84...
Skipping inactive block 0xb2000, status=0x0, size=0xf84...
Trying offset 0xb3000, status=0x0, size=0xf84...
Skipping inactive block 0xb3000, status=0x0, size=0xf84...
Trying offset 0xb4000, status=0x0, size=0xf84...
Skipping inactive block 0xb4000, status=0x0, size=0xf84...
Trying offset 0xb5000, status=0x0, size=0xf84...
Skipping inactive block 0xb5000, status=0x0, size=0xf84...
Trying offset 0xb6000, status=0x0, size=0xf84...
Skipping inactive block 0xb6000, status=0x0, size=0xf84...
Trying offset 0xb7000, status=0x0, size=0xf84...
Skipping inactive block 0xb7000, status=0x0, size=0xf84...
Trying offset 0xb8000, status=0x0, size=0xf84...
Skipping inactive block 0xb8000, status=0x0, size=0xf84...
Trying offset 0xb9000, status=0x0, size=0xf84...
Skipping inactive block 0xb9000, status=0x0, size=0xf84...
Trying offset 0xba000, status=0x0, size=0xf84...
Skipping inactive block 0xba000, status=0x0, size=0xf84...
Trying offset 0xbb000, status=0x0, size=0xf84...
Skipping inactive block 0xbb000, status=0x0, size=0xf84...
Trying offset 0xbc000, status=0x0, size=0xf84...
Skipping inactive block 0xbc000, status=0x0, size=0xf84...
Trying offset 0xbd000, status=0x0, size=0xf84...
Skipping inactive block 0xbd000, status=0x0, size=0xf84...
Trying offset 0xbe000, status=0x0, size=0xf84...
Skipping inactive block 0xbe000, status=0x0, size=0xf84...
Trying offset 0xbf000, status=0x0, size=0xf84...
Skipping inactive block 0xbf000, status=0x0, size=0xf84...
Trying offset 0xf00000, status=0x0, size=0x1132c...
Skipping inactive block 0xf00000, status=0x0, size=0x1132c...
Trying offset 0xf20000, status=0xffff, size=0x1132c...
Prop    5010000     28
Prop    5010001    544
Prop    5010002   2204
Prop    5010003   1264
Prop    5010004     64
Prop    5010005     44
Prop    5010006    784
Prop    5010007     28
Prop    5010008     24
Prop    5010009     84
Prop    501000a    504
Prop    501000b    224 ?
Prop    501000c      4
Prop    501000d    288 $
Prop    501000e    448
Prop    4000000     40
Prop    4000001     40
Prop    4000002     40
Prop    4000003     40
Prop    4000004     40
Prop    4010000      4
Prop    4010001  16704 @A?
Prop    4010002      4
Prop    4010003  16704 @A?
Prop    4010004      4
Prop    4010005  16704 @A?
Prop    e000001   2048
Prop    e000002   2048 ????
Prop    e000003   1024 ????
Prop    e000004   6252 ????
Prop    e020001     56
Prop    e020002    484
Prop    e030000   1024
Prop    e040000      4
Prop    e060000      8 0000
Prop    e060001      4
Prop    e060002      8 0000
Prop    e060003      8 0000
Prop    2090000      4
Prop    e070000     64 Daniel A. Fort
Prop    e070001     64 Daniel A. Fort
Trying offset 0xf60000, status=0xffff, size=0x1aedc...
Prop    b000000 110256 <
 - Camera model: ???
 - Firmware version: 2.0.2 / 9.9.8 B8(3a)
 - IMG naming: 100?????/IMG_5912.JPG
 - User PS: CineStyle logNeutral EOSHD C-LOG

There is no information for Digic4 +.
Maybe this feature needs to be changed for these device models?

Right, here's what happens on the 1300D.

Code: [Select]
./prop_diag ROM1.BIN
Loading ROM1.BIN...
Scanning from 0x10a954000 to 0x10c954000...
Trying offset 0x12aeb00, status=0x7000000, size=0xe0...
 - Camera model: ???
 - Firmware version: ??? / ???
 - IMG naming: 100?????/????0000.JPG
 - User PS: ??? ??? ???

[EDIT] Noticed that this is missing (from the 1300D branch too) though it isn't a solution to the Digic 4+ issue.

src/propvalues.h
Code: [Select]
#define MODEL_EOS_1300D  0x80000404

Pages: [1] 2 3 ... 134